第三次作业
作业要求:https://edu.cnblogs.com/campus/hljkj/CS201802/homework/2360
第七次作业 题目 7-3: 统计学生平均成绩与及格人数
1.实验代码
#include <stdio.h>
int main(void)
{
int n,count,i;
double grade,sum,average;
scanf("%d",&n);
sum=0;
count=0;
for(i=1;i<=n;i++){
scanf("%lf",&grade);
sum = sum + grade;
average = sum / n;
if(grade >= 60){
count++;
}
}
printf("average = %.1lf\n",average);
printf("count = %d\n",count);
return 0;
}
2.解题思路:
(1).题目算法:
第一步:定义三个整型变量学生人数n , 及格人数count , i 和三个双浮点型变量学生分数grade ,n个学生的分数总和 sum ,平均分数 average;
第二步:输入学生人数 n;给sum赋值为0;给count赋值为0;
第三步:进入循环语句,i=1,输入学生成绩,不断进行i+1和输入学生成绩的步骤的同时也不断进行sum=sum+grade和average=sum/n的计算,直至 i>n;
第四步:同时如果输入的成绩大于或等于60,那么count就加一,循环也直至>n;
第五步:输出平均成绩average和及格人数coun
(2).流程图:
3、调试过程遇到的问题及其解决方法:
首先我是这样的代码,于是出现了部分错误,如下:
进行调试:
首先输入0
在进行到一下调试时就不能再进行下一步了;
于是我发现是因为在这里时n=0,无法进行操作,所以我将average=sum/n放在了循环中;
错误原因:当没有学生时,sum=0并且n=0。average没有值,所以出现错误。
改正之后
第8次作业 7-1 求奇数和
#include <stdio.h> int main(void) { int a,sum; scanf("%d",&a); while(a>0){ if(a%2!=0){ sum=sum+a; } scanf("%d",&a); } printf("%d",sum); return 0; }
2.解题思路:
(1).题目算法:
第一步:定义两个整型变量a,和奇数之和sum;
第二步:输入一个值a,a>0;
第三步:进入循环语句,如果a%2没有余数,则a是奇数,然后算奇数之和sum=sum+a,接着输入a值,直至输出的a<0;
第四步:输出sum;
(2).流程图:
3、调试过程遇到的问题及其解决方法:
首先我是这样的代码,出现了大部分的错误
进行调试:
我发现在接下来的调试中我的第一次循环没有a,所以不存在,也不能输入
并且输入2一直停留在scanf;
于是我在循环语句前面加了“scanf("%d",&a);”
改正之后
第10次作业 7-1 统计素数并求和
#include <stdio.h> int main(void) { int m,n,i,sum,count,t,a; sum=0; count=0; scanf("%d %d",&m,&n); for(a=m;a<=n;a++){ t=a-1; for(i=2;i<=t;i++){ if(a%i==0)break; } if(i>t&&a!=1){ count++; sum=sum+a; } } printf("%d %d\n",count,sum); return 0; }
2.解题思路:
(1).题目算法:
第一步:定义区间7个整数型变量:最小值m,最大值n,素数的和sum,素数的个数count,i,t以及在区间(m,n)内的a;给sum赋值0;给count赋值0;
第二步:输入m,n两个值;
第三步:进入“for”循环,把m赋值给a,当a<=n时t=a-1,进入内循环i=2,i<=t,如果a%i的余数等于0的话跳出内循环,否则继续内循环直至i>t;当i>t与a不等于1时,count加1,sum加a,a+1;直至a>n结束循环
第四步:输出素数的个数并且素数的总和;
(2).流程图:
3、调试过程遇到的问题及其解决方法:
首先我是这样的代码:
出现了部分错误,看提示时m=n=素数时出错,于是我进行了调试:
无法进行下去,我发现a还不可以等于1;这样就能运行下去了;
总结:这几周我们主要学习了for循环语句的嵌套和学了一些自定义函数的代码,基本能解决简单的几个for语句内外循环嵌套的问题了。
再是区分while与for不同的用法以及在不同的条件下对它们的不同使用。
难点:主要是for语句的嵌套以及子函数的写法,比如子函数中的return是带着什么回到主函数的,函数类型要与return变量保持一致,这些在
写代码时都要特别的注意。
for语句使用次数多了之后容易搞混淆。
措施:多读代码,搞清楚for语句中的内循环
多使用自定义函数解题
点评:https://www.cnblogs.com/mayijing/p/10017399.html
https://www.cnblogs.com/nansu/p/10035866.html