sinat_24343049 2015-05-24 00:44 采纳率: 80%
浏览 1873
已采纳

c语言数组单科成绩管理系统

#include
#include
#include
#include
#define NUM 5
void PRINT(float a[]);
void SUMAVERAGE(float a[]);
void MAXMIN(float a[]);
void NUMBER(float a[]);
int main()
{
char password[10]={"123456"};
char ch[10];
float score[NUM];
int i,j=1,k=1;
while(j)
{
for(i=0;i<10;i++)
{
scanf("%c",&ch[i]);
printf("*");
if(ch[i]="/r");
break;
}
if(strcmp(password,ch)==1)
{
system("cls");
printf("\n\n");
printf("\t\t|--------------------------------|\n");
printf("\t\t| |\n");
printf("\t\t| 1-录入学生成绩 |\n");
printf("\t\t| 2-显示学生成绩 |\n");
printf("\t\t| 3-显示总分和平均分 |\n");
printf("\t\t| 4-显示最高分和最低分 |\n");
printf("\t\t| 5-显示各分段人数 |\n");
printf("\t\t| 0-退出 |\n");
printf("\t\t| |\n");
printf("\t\t|--------------------------------|\n");
while(k);
{

            scanf("%d",&k);
            switch(k)
                {
                    case 1:
                    for(i=0;i<NUM;i++)
                    {
                        printf("请输入第%d的学生的成绩:\n",i+1);
                        scanf("%f",&score[i]);
                    }
                    break;
                    case 2:PRINT(score[NUM]);break;
                    case 3:SUMAVERAGE(score[NUM]);break;
                    case 4:MAXMIN(score[NUM]);break;
                    case 5:NUMBER(score[NUM]);break;
                    case 0;exit(0); 
                }
        }
        }
    else
    printf("密码错误,请重新输入"); 
}
return 0;

}
void PRINT(float a[])
{
int i;
for(i=0;i {
printf("第%d个学生成绩:%.2f\n",i+1,a[i]);
}
}
void SUMAVERAGE(float a[])
{
int i;
float sum=0,average;
for(i=0;i sum=sum+a[i];
average=sum/NUM;
printf("总分:%.2f\n",sum);
printf("平均分:%.2f",average);
}
void MAXMIN(float a[])
{
float max,min;
int i;
max=a[0];
min=a[0];
for(i=1:i {
if(a[i]>max)
max=a[i];
if(a[i]<min)
min=a[i];
}
printf("最高分:%.2f",max);
printf("最低分:%.2f",min);
}
void NUMBER(float a[])
{
int i,j,p=0,q=0,m=0,n=0,x=0;
for(i=0;i<NUM;i++)
j=a[i]/10;
switch(j)
{
case 10:
case 9:p++;break;
case 8:q++;break;
case 7:m++;break;
case 6:n++;break;
case 5:x++;break;
case 4:;
case 3:;
case 2:;
case 1:;
}
printf("90-100的人数为%d\n",p);
printf("80-89的人数为%d\n",q);
printf("70-79的人数为%d\n",m);
printf("60-69的人数为%d\n",n);
printf("60分以下的为%d\n",x);
}

编译提示出好多错误 函数无法从float 转为float* 是什么意思?
形参和实参不同吗?小白 求大神指导

  • 写回答

2条回答 默认 最新

  • longzzhiyue 2015-05-24 01:50
    关注

    一 while(k)既然用k变量了,循环里面还用用 scanf("%d",&k)有点不合适;
    二PRINT(score[NUM])这个是单个值,你应该传递过去一个首地址吗,其他调用函数一样
    三switch和else搭配很少见吧

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog