c语言第二次作业

#include<stdio.h>
int main(void)
{
    int n,grade,i,a,b,c,d,e;
    scanf("%d\n",&n);
    a=0;b=0;c=0;d=0;e=0;
    for(i=1;i<=n;i++){
        scanf("%d",&grade);
        if(grade>=90)
        a++;
        else if(grade<90&&grade>=80)
        b++;
        else if(grade<80&&grade>=70)
        c++;
        else if(grade<70&&grade>=60)
        d++;
        else
        e++;
    }
    printf("%d %d %d %d %d",a,b,c,d,e);
    
 } 

设计思路:这道题目要求我们统计学生成绩并且用五分制来判别人数,显而易见的我们应该用·循环来解决这个问题,并且在循环中利用判断语句来执行要求。

                  第一步:了解题目大致含义

                  第二步:构建合适的算法体系

                  第三步:进行算法调试

                 第四步:上传PTA

                 第五步:再次进行调试

 

遇到的问题

1、数组越界 原因:在scanf("%d",&grade)中未写&

#include<stdio.h>
int main(void)
{
  int i,x,y;
  for(i=1;;i++){
    scanf("%d",&x);
    if(x==250)
    break;
  }y=i;
  printf("%d",y);
  return 0;
}

设计思路:因为要输入多个数字所以决定利用for语句循环并且省略中间表达式并且用break来进行终止

第一步:了解题目题干

第二步:确定算法为循环以及判断

第三步:构建代码并且进行初步调试

第四步:上传PTA

第五步:最后再次调试

遇到的问题:

1、在进行构建程序时中括号个数出错

2、设置循环时i的初始值出错导致运行结果不对

二、总结和学习进度条

学习内容:分支、循环、判断的各种表达以及各种数学函数

评论同学:季琦

                  刘铭

                  郭涵

 

 

 

近几次代码行数变化:

 

posted @ 2018-12-09 10:06  楼哲  阅读(196)  评论(5编辑  收藏  举报