循环语句

统计学生成绩
本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:
● 大于等于90分为A;
● 小于90且大于等于80为B;
● 小于80且大于等于70为C;
● 小于70且大于等于60为D;
● 小于60为E。
输入格式:
输入在第一行中给出一个正整数N(≤1000),即学生人数;第二行中给出N个学生的百分制成绩,其间以空格分隔。
输出格式:
在一行中输出A、B、C、D、E对应的五分制成绩的人数分布,数字间以空格分隔,行末不得有多余空格
while循环
#include<iostream>
using namespace std;
int main()
{
    int a=0,b=0,c=0,d=0,e=0,n,x;
    cin>>n;
    while (n--)//这道题很好的一个思路就是利用while循环,当表达式结果为0时,跳出循环,那么要如何达到呢?让n--即可
    {
        cin>>x;
        if(x>=90) a++;
           else if (x>=80) b++;
           else if (x>=70) c++;
           else if (x>=60) d++;
        else e++ ;
     } 
     cout<<a<<'\t'<<b<<'\t'<<c<<'\t'<<d<<'\t'<<e;
     return 0;
     }
     //whlie循环,for循环,do while循环还有,switch(default)语句当表达式是多语句时,要记得加花括号
数组
#include<iostream>
using namespace std;
int main(){

int a=0,b=0,c=0,d=0,e=0,n,x;
int grade[9999];//当数组元素不知道为几个时,可以把它的元素设置得很大
cin>>n;
for(x=0;x<n;x++)
cin>>grade[x];//这一步是保证数组的输入满足要求
for(x=0;x<n;x++)//这里是保证数组中的每一个元素可以进行比较
{               //for语句要记得加小括号。花括号
if (grade[x]>=90) a++;//if语句要记得加小括号,对于判断表达式
if (grade[x]>=80&&grade[x]<90) b++;
if (grade[x]>=70&&grade[x]<80) c++;
if (grade[x]>=60&&grade[x]<70) d++;
if (grade[x]<60) e++; }
cout<<a<<'\t'<<b<<'\t'<<c<<'\t'<<d<<'\t'<<e;
return 0;
}

do while语句——-有点点难

#include <iostream>
using namespace std;
int main()
{
int n,m,level,a=0,b=0,c=0,d=0,e=0,i=0;
cin>>n;
if(n<=1000)
do{

cin>>m;
i++;/*do while 语句要设置一直一个
循环跳出语句,
否则就会一直执行下去 */
level=m/10;
switch(level)
{
case 10:
case 9:a++;break;
case 8:b++;break;
case 7:c++;break;
case 6:d++;break;
default:e++;
}

}while(i<n);
cout<<a<<" "<<b<<" "<<c<<" "<<d<<" "<<e;
return 0;
}

 

 

posted @ 2020-12-27 10:42  0never  阅读(37)  评论(0编辑  收藏  举报