|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
设某班共有50名学生,评定某门课的奖学金,按照规定超过全班平均水平10%者发一等奖,超过5%者发二等奖。编写程序,输出学生学号、成绩和奖学金等级。
#include<stdio.h>
#define Num 10
void main()
{
char a[Num][3];
int i,j,Sum;
float Avg;
for(i=0;i<Num;i++){
a[i][0]=i+1;
}
printf("请依次输入学生成绩:");
for(i=0;i<Num;i++){
scanf("%d",&a[i][1]);
}
for(i=0;i<Num;i++){
Sum+=a[i][1];
Avg=Sum/Num;
}
for(i=0;i<Num;i++){
if(a[i][1]>0.1*Avg){
a[i][2]='一等奖';
}
if(a[i][1]>0.05*Avg&&a[i][1]<=0.1*Avg){
a[i][2]='二等奖';
}
if(a[i][1]<0.05){
a[i][2]='无奖';
}
}
printf("---学号--成绩----奖学金等级");
printf("%s",a);
}
这么写不管用,哪位老哥帮我看看问题在哪儿
不好意思,这两天有点忙,忘记你这个题了,还以为你的问题解决了。改为如下的程序,可达到你的意愿:
- #include<stdio.h>
- #define Num 3
- void main()
- {
- int a[Num][2]; //成绩数组
- char c1[7] = "一等奖";
- char c2[7] = "二等奖";
- char c3[7] = "无奖";
- int i, Sum = 0;
- float Avg;
-
- printf("请输入学生的学号和成绩:");
- for (i = 0;i < Num;i++)
- {
- scanf("%d%d", &a[i][0], &a[i][1]);
- Sum += a[i][1];
- }
- Avg = Sum / Num;
- printf(" 学号 成绩 奖学金等级\n");
- for (i = 0;i < Num;i++)
- {
- if (a[i][1] > 1.1 * Avg)
- {
- printf("%6d%7d %s\n", a[i][0], a[i][1], c1);
- }
- else if (a[i][1] > 1.05 * Avg && a[i][1] <= 1.1 * Avg)
- {
- printf("%6d%7d %s\n", a[i][0], a[i][1], c2);
- }
- else
- {
- printf("%6d%7d %s\n", a[i][0], a[i][1], c3);
- }
- }
- }
复制代码
|
|