第七周作业

一、PTA作业

题目7-1 求1到100的和 

1.实验代码

#include<stdio.h>
int main()
{
  int i=1 ,sum=0;
  while(i<=100){
    sum=sum+i;
    i++;
  }
  printf("sum = %d",sum);
}

 

2 设计思路

(1)文字描述

第一步:理解题意,可以用for语句或者是while语句。
第二步:定义整数型变量i(被加数),sum(总数)。

第三步:用while语句打出循环从一到一百的框架。

第四步:用printf函数输出%d  得到sum的结果。

(2)流程图

3.本题调试过程碰到问题及解决办法

错误提示的截图

先是用for语句做,后来找不到错误。改用while语句

 

问题及解决办法:for语句外头少了一个中括号。加上就解决了。

4.本题PTA提交列表

 

错误提示解释说明:这题用了两种语句进行解答,错误为少了括号,细节问题。

题目7-3 求交错序列前N项和 

1.实验代码

#include<stdio.h>
int main(){
    int i,N,flag=1;
    double sum;
    scanf("%d",&N);
    for(i=1;i<=N;i++){
      sum+=flag*i*1.0/(2*i-1);
      flag=-flag;
}
    printf("%.3f",sum);
    return 0;
}

 

2 设计思路

(1)文字描述

第一步:定义整数型变量i,N,flag,浮点函数sum。
第二步:用scanf函数读入N。

第三步:打出for循环的基本框架,flag于下一次循环时赋值为它的相反数。

第四步:输出sum(总数)的值。

(2)流程图

3.本题调试过程碰到问题及解决办法

错误提示的截图

第七行的flag没有定义,所以sum出问题了

 

问题及解决办法:本题一开始没发现错误,看了半天,最后翻译答案提示才知道,flag没有定义。问题已解决。

4.本题PTA提交列表

 

错误提示解释说明:错误为flag未定义导致sum无法计算。

题目7-5 统计学生平均成绩及及格人数

1.实验代码 (学校网络太好,代码插不进去)

 #include<stdio.h>
int main()
{
  int i,n,grade,count;
   double  sum,average;
  scanf("%d",&n);
  if(n!=0)
  {
  for(i=1;i<=n;i++)
  {
    scanf("%d",&grade);
    sum=sum+grade;
    if(grade>=60)
    count++;
  }
  average=sum/n;
  printf("average = %.1f\n",average);
  printf("count = %d",count);
  }
   else if(n==0){
      printf("average = %.1f\n",0.0);
  printf("count = %d",0);
  }
 
  return 0;
}

2 设计思路

(1)文字描述

第一步:定义整数型变量 i,n,grade,count,浮点函数sum,average。
第二步:用scanf函数输入n。

第三步:运用if  else if语句,在n!=0中执行for循环语句,成绩大于60的计入。

第四步:输出平均值以及及格人数。

(2)流程图

3.本题调试过程碰到问题及解决办法

错误提示的截图

粗心大意,错吧for打成if,没有对if语句进行分类,没有平均值的计算公式,总之,出大问题。

 

问题及解决办法:找不到错误在哪,后来对照错误提示翻译,才发现grade=0,t=0漏了,而且没有讨论N=0的情况。

4.本题PTA提交列表

 

错误提示解释说明:第七·第五行错误,第十四行错误,由于没有初始化导致的。

要求四

要求五

个人总结:本周复习了for循环语句以及学习了双重循环语句。对一些细节方面更加完善。

 

posted @ 2017-11-11 08:28  乌拉啦啦啦  阅读(222)  评论(0编辑  收藏  举报