鱼C论坛

 找回密码
 立即注册
查看: 2486|回复: 2

c语言26

[复制链接]
发表于 2018-1-16 14:38:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
26.编写程序,输入一个正整数n,再输入n个学生的成绩,计算平均分,并统计所有及格的人数。
#include<stdio.h>
main()
{
int n,i;
int A=0,B=0,C=0,D=0,E=0;//用来统计各阶段学生成绩的人数,初始值都为0;
double score,Z;
double ave=0;//定义平均成绩
double num=0;//定义全部成绩总和
scanf("%d",&n);//从键盘输入学生成绩的个数
for(i=1;i<=n;i++)
{
scanf("%f",&score);//输入每个学生的成绩,共有n个学生
num+=score;//计算总成绩
switch(score)//switch 语句来计算各个分数段的成绩个数
{
case score>=90&&score<=100:A++;
case score>=80&&score<=89:B++;
case score>=70&&score<=79:C++;
case score>=60&&score<=69:D++;
case score>=0&&score<=59:E++;
default:break;
}
}
ave=num/n;//计算平均成绩
printf("%f",ave);//输出平均成绩
printf("%d",A);//输出成绩在90-100的个数
printf("%d",B);//输出成绩在80-89的个数
printf("%d",C);//输出成绩在70-79的个数
printf("%d",D);//输出成绩在60-69的个数
printf("%d",E);//输出成绩在0-59的个数
Z=A+B+C+D;
printf("及格的人数为%lf",&Z);
return 0;
}
Cpp1.cpp
C:\Users\Administrator\Desktop\Cpp1.cpp(15) : error C2450: switch expression of type 'double' is illegal
        Integral expression required
C:\Users\Administrator\Desktop\Cpp1.cpp(16) : error C2051: case expression not constant
C:\Users\Administrator\Desktop\Cpp1.cpp(17) : error C2051: case expression not constant
C:\Users\Administrator\Desktop\Cpp1.cpp(18) : error C2051: case expression not constant
C:\Users\Administrator\Desktop\Cpp1.cpp(19) : error C2051: case expression not constant
C:\Users\Administrator\Desktop\Cpp1.cpp(20) : error C2051: case expression not constant
C:\Users\Administrator\Desktop\Cpp1.cpp(22) : warning C4065: switch statement contains 'default' but no 'case' labels
Error executing cl.exe.
错误有点多。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-1-16 14:45:46 | 显示全部楼层
case 后面不能跟判断语句
这个程序还是用if-else形式来写
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-16 19:33:18 | 显示全部楼层
#include<stdio.h>
main()
{
        int n,i;
        int A=0,B=0,C=0,D=0,E=0;//用来统计各阶段学生成绩的人数,初始值都为0;
        double score,Z;
        double ave=0;//定义平均成绩
        double num=0;//定义全部成绩总和
        scanf("%d",&n);//从键盘输入学生成绩的个数
        for(i=1;i<=n;i++)
        {
                scanf("%f",&score);//输入每个学生的成绩,共有n个学生
                num+=score;//计算总成绩
                if(score>=90&&score<=100)
                {        A++;
                }
                if(score>=80&&score<=89)
                {
                B++;
                }
                if(score>=70&&score<=79)
                {
                C++;
                }
                if(score>=60&&score<=69)
                {
                D++;
                }
                if(score>=0&&score<=59)
                {
                E++;
                }
        }
        ave=num/n;//计算平均成绩
        printf("%f",ave);//输出平均成绩
        Z=A+B+C+D;
        printf("及格的人数为%lf",Z);
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-7-3 21:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表