第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.

posted @ 2018-11-30 12:33  李靖靖  阅读(248)  评论(5编辑  收藏  举报