第1次作业
一. 分支结构中题目7-5 计算分段函数[2]
1. 实验代码
1 #include<stdio.h> 2 #include<math.h> 3 int main() 4 { 5 float x,result;// 定义变量x,result 6 scanf("%f",&x);//调用scanf函数输入x 7 if(x>=0)//if – else语句 8 { 9 result=sqrt(x); 10 } 11 else 12 { 13 result=pow(x+1,2)+2*x+1/x; 14 } 15 printf("f(%.2f) = %.2f",x,result);//输出结果 16 return 0; 17 }
2.设计思路
(1)文字描述
第一步:定义单精度浮点型变量x,result
第二步:调用scanf函数输入x
第三步:使用if-else语句阐述此分段函数 ,分为当x>=0时和x<0时的情况
第四步:输出结果
第五步:结束
(2)流程图
3.本题调试过程碰到问题及解决办法
(1) 错误1:输入幂函数时 输成result=pow(x+1),2+2*x+1/x;
解决办法:幂函数正确形式 pow (x, n)
此处改为 result=pow(x+1,2)+2*x+1/x;
(2) 错误(2): printf("f(x) = %.2f ",x,result);
解决办法:x也要表明是两位小数
此处改为printf("f(%.2f) = %.2f ",x,result);
一. 循环1中题目7-1 统计学生平均成绩与及格人数
1. 实验代码
1 #include<stdio.h> 2 int main () 3 { 4 int n,i,a,count=0,sum=0;//输入数据数n,循化变量i,数据大小a,及格人数count,成绩和值sum 5 double average;//定义变量成绩均值 6 scanf("%d",&n);// 调用scanf函数输入n 7 if(n==0)//数据数为0时 8 { 9 printf("average = 0.0\n"); 10 printf("count = 0"); 11 }else 12 { 13 for(i=0;i<n;i++) 14 { 15 scanf("%d",&a); 16 sum = sum + a; 17 if (a>=60) 18 count++; 19 } 20 average = 1.0* sum / n;//计算成绩均值 21 printf("average = %.1f\n",average); 22 printf("count = %d\n",count); 23 } 24 return 0; 25 }
2.设计思路
(1)文字描述
第一步:输入数据数n,循化变量i,数据大小a,及格人数count,成绩和值sum,定义变量成绩均值
第二步:分两种情况进行
人数为0时,average和count都为0
人数不为0时,求60分及以上的分数的和并求出平均值
第三步:输出结果
(2)流程图
3.本题调试过程碰到问题及解决办法
错误:没有考虑人数为零的情况
解决办法:加入有零的情况if(n==0)
{
printf("average = 0.0\n");
printf("count = 0");
}else
三.循环2中题目7-1 找出最小值
1.实验代码
1 #include<stdio.h> 2 int main() 3 { 4 int n,i,l,min; 5 scanf("%d",&n); 6 scanf("%d",&l); 7 min=l; 8 for(i=1;i<n;i++) 9 { 10 scanf("%d",&l); 11 if(min>l) 12 min=l; 13 } 14 printf("min = %d",min); 15 return 0; 16 }
2.设计思路
(1)文字描述
第一步:输入 n,i,l,min;
第二步:将输入数字逐个和最小值比较
第三步:如果比最小值小,将其值赋给min
第四步:输出
(2)流程图
错误:把l输成数字1
解决办法:把1改为l,细心些
四.总结学习和进度条
1.所学知识点:分支结构、运算和循环相关知识(for,while,do while)
遇到的问题:(1)打代码不熟练,看得懂代码但自己写起来比较困难,有些语句运用得当不是很熟练
(2)抓不住题目要求,考虑的不全面
解决方法:查阅相关书籍,复习课堂PPT,看MOOK视频来熟悉内容,多练习,多思考
2.点评:袁潮同学
3.