计算分段函数
#include<stdio.h>
#include<math.h>
int main() { double x,result; scanf("%lf",&x); if(x>=0)
{result=sqrt(x);} else {result=pow(x+1.00,2)+2*x+1/x;} printf("f(%.2lf)=%.2lf",x,result); return 0; }
设计思路:
1、输入x的值。
2、判断x的值的范围。
3、计算y的值。
4、输出y。
编程中所遇问题及其解决方法:
1、错误运用了sqrt语句,sqrt后直接加定义变量不用输入0.5;
2、在if与else语句后不用加“;”;
此题调试中所遇问题及解决方法:
1、关于数学函数的应用会方便程序的编写及其读入;
2、if和else的语句后面不用加“;”;
3、输出变量时小数点后面的数字表示保留的小数位数;
4、在调用数学函数语句时要提前声明;
5、在读入变量时要注意“&”;
循环1:统计素数并求和;
#include <stdio.h> #include <math.h> int main(){ int n,m,sum=0,num=0; scanf("%d %d",&m,&n); for(int i=m;i<=n;i++){ int count=0; for(int j=1; j<=i; j++) { if(i%j==0) { count++; } } if(count==2) { num++; sum+=i; } } printf("%d %d",num,sum); return 0; }
设计思路:
1、定义变量及储值元素;
2、输入值;
2、判断是否为素数;
3、对素数进行操作(计数值加一、总数值加一);
4、输出素数个数及素数和;
编程中所遇问题及其解决方法:
1、在for循环语句中用“;”隔开条件;
2、在if语句中判断是否“=”一个值时用“==”;
3、简便编写程序如:x++;
循环2:打分,去掉一个最高分和一个最低分;
#include <stdio.h> #include <math.h> int main() { int n; double sum=0, max, min, tmp; scanf("%d", &n); for (int i = 0; i < n; i++) { scanf("%lf", &tmp); if (i == 0) //初始化max,min min = max = tmp; max = tmp > max ? tmp : max; min = tmp < min ? tmp : min; sum += tmp; } printf("%.2lf", (sum - max - min) / (n - 2)); return 0; }
设计思路:
1、定义最大值、最小值、计数器、总分;
2、输入评委个数及其所打分数;
3、输入一个分数;
4、将输入的值赋给最大值最小值;
5、总分=此值加总分、计数;
6、判断此分数是否大于最大值,若是、将此值赋给最大值,若不是、将此值赋给最小值;
7、判断计数器是否小于人数,若是、将回到第三步,若不是、将执行下一步;
8、输出总分减去最大值与最小值并除去(评委人数减二);
本题调试过程中所遇问题及其解决方法:
1、在使用A=B>A?B:A时容易错误编写语句;
2、输出变量时错误的声明了其类型,如%lf写成%d;
总结:
1、在使用A=B>A?B:A时容易错误编写语句;
2、输出变量时错误的声明了其类型,如%lf写成%d;
3、在for循环语句中用“;”隔开条件;
4、在if语句中判断是否“=”一个值时用“==”;
5、简便编写程序如:x++;
6、关于数学函数的应用会方便程序的编写及其读入;
7、if和else的语句后面不用加“;”;
8、输出变量时小数点后面的数字表示保留的小数位数;
9、在调用数学函数语句时要提前声明;
10、在读入变量时要注意“&”;
刘洋同学的作业类别分明,内容清晰,对所遇问题有详细解答及其反思。https://www.cnblogs.com/12921-ly/p/10035869.html
谢雨欣同学的作业条理分明、极为认真、一丝不苟、值得学习与反思。https://www.cnblogs.com/xyxxl/p/10000609.html
张虹泽同学长的不仅一表人才作业写得更是干净利落、内容清晰明了、让人耳目一新,值得学习。https://www.cnblogs.com/kaitongbokebokeyuan/p/10034293.html
学习记录表:
学习折线图: