第七周PTA作业
第一题:
#include<stdio.h> int main() { int i=1; int sum=0; while(i<=100){ sum=sum+i; i++; } printf("sum = %d\n",sum); return 0; }
第一步:由题意可得,此题需要使用while循环语句,所以首先定义两个整型变量i=1,和sum=0。
第二步:定义完变量后,使用while语句,设置i的范围小于等于100,并在循环语句中添加sum=sum+i,i++。
第三步:循环一百次后输出结果即可。
PTA输出结果:
DEV C++输出结果:
流程图:
第二题:
#include <stdio.h> int main() { int N; int i=1; scanf("%d",&N); double S; double sum=0.000000; while(i<=N){ S = 1.0/(2*i-1); sum=sum+S; i++; } printf("sum = %.6lf\n",sum); return 0; }
第一步:由题意可得,此题需要定义两个整型变量i=1,N,和两个双倍精准度变量sum,S。
第二步:利用while语句对s=1.0/(2*i-1),sum=sum+S,i++进行循环,直到i<=N,才结束。
第三步:输入N的值则可得到相应的答案。
PTA结果显示:
错误显示
DEVC++显示:
第三题:
#include<stdio.h> int main(){ int i,N; scanf("%d",&N); double sum=0; int flag=-1; for(i=1;i<=N;i++){ flag=-flag; sum=sum+i*1.0/(2*i-1)*flag; } printf("%0.3f",sum); return 0; }
第一步:由题意得,需要定义两个整型变量i,N,设置输入N的语句。
第二步:定义双倍精准度变量sum,和一个flag=-1。
第三步:利用for循环语句第一步使得flag的-1变成1,然后进行运算第一个1.0/(2*i-1)*flag的公式,依次循环到第N次,输出结果。
错误截图:
最后正确截图:
遇到的错误:
1:变量定义的型没有看明白。
2:带小数的没有乘以1.0.
流程图:
第四题:
#include<stdio.h> int main(void) { int n,i,l,min; scanf("%d",&n); scanf("%d",&l); min=l; for(i=1;i<n;i++){ scanf("%d",&l); if(min>l) min=l; } printf("min = %d",min); return 0; }
第一步:由题意判断,此题需要定义四个量分别为n,i,l,min,n为输入多少数据,min为最小值。
第二步:利用for循环语句,循环体为在i=1,i<=n的范围内,循环n次,每次输入一个值l,如果min大于l则将l的值赋值给min,以此类推,每次都将小的值赋值给min。
第三步:输入相应的数值,则可得到答案。
PTA结果显示:
DEXC++显示:
流程图:
第五题:
#include <stdio.h> int main(){ int i,n; double total=0,grade; int count=0; scanf("%d",&n); for(i=1;i<=n;i++) { scanf("%lf",&grade); if (grade>=60) count=count+1; total=total+grade; } if(n==0) printf("average = 0.0\n"); else printf("average = %.1f\n",total/n); printf("count = %d",count); return 0; }
第一步:由题意得,定义三个整型变量i,n,count=0,和两个双倍精准度变量total=0,grade。
第二步:输入n的值,利用for循环语句来求所有成绩的和,并加入一个if条件语句判断输入的值是否大于等于60,如果小于则记做一次次数。
第三步:输入所有成绩,则可得出所有成绩之和,以及不及格人数。
错误:
正确:
流程图:
本周学习内容:
1:复习了while,do while,和for循环语句,学习了break,continue语句和flag标志的知识。
难点:
每一个只知识都是难点,我还是需要多加练习才能熟悉的掌握他们。
评论的人:
1:http://www.cnblogs.com/lin2580/p/7841437.html
2:http://www.cnblogs.com/123456hjx/p/7823616.html
3:http://www.cnblogs.com/hezongyan/p/7812104.html