c语言求助~~~

1、一个学习小组有5个人,每个人有三门课的考试成绩。求小组分科的平均成绩和各同学平均成绩;同时将各位同学的平均成绩按照从高到低的顺序排名后输出其姓名、平均成绩以及排序号。(注:汉字占2字节,需用字符串表示)
张 王 李 赵 周
Math 80 61 59 85 76
C 75 65 63 87 77
Eng 92 71 70 90 85

已通过测试,望采纳。
#include <stdio.h>
struct student
{
char name[2];
int Math;
int C;
int Eng;
};
struct student stu[5]={{"张",80,75,92},{"王",61,65,71},{"李",59,63,70},{"赵",85,87,90},{"周",76,77,85}};
main()
{
int aveMath=0,aveC=0,aveEng=0;
int avestu[5]={0};
int i;
for(i=0;i<5;i++)
{ aveMath+=stu[i].Math;
aveC+=stu[i].C;
aveEng+=stu[i].Eng;
avestu[i]+=stu[i].Math+stu[i].C+stu[i].Eng;
avestu[i]/=3;
}
aveMath/=5;
aveC/=5;
aveEng/=5;
printf("\tMath\tC\tEng\n");
printf("ave\t%d\t%d\t%d",aveMath,aveC,aveEng);
printf("\n");
for(i=0;i<5;i++)
printf("\t%s",stu[i].name);
printf("\nave");
for(i=0;i<5;i++)
printf("\t%d",avestu[i]);
printf("\n");
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-01-13
第2个回答  2012-04-06
class student
{
int math;
int c;
int eng;
};

C语言作业求助,十分感谢
C代码和运行结果如下:输如10个数,成功输出了它们的最大值、最小值和平均值,望采纳~附源码:include <stdio.h> int main() { int max, min, sum, num, i;scanf("%d", &num); \/\/ 先输入一1个数 max = min = sum = num;for (i = 0; i < 9; i++) { \/\/ 再输入剩下9...

C语言小白求助···
include <stdio.h>int main(){int a[3][3];int i = 0, j = 0, num = 1;for(;i < 3;i++){for(;j < 3;j++){a[i][j] = num;++num;}}\/\/对角线我随便选一个,比如是左上到右下的int result = a[0][0] + a[1][1] + a[2][2];printf("%d",result);return ...

C语言求助求助求大佬救命
第一空:int MAX,MIN;int input_function(int *);int sorting_function(int *);int output_function(int *);第二空:array_data 第三空:array_data[i]=value;第四空:array_data[j-1]>array_data[j]第五空:(i+1)%5==0 另每一个函数最后一个}前加一句return 0;或把函数名前的int...

初级C语言求助 速度
回答:程序1: while(n<20)\/\/h要小写,n<20 程序2: 输入用scanf("%s",str); 输出用scanf("%c",str[i]);

c语言编程求助,越多越好我可以加,一题也行,感谢大神!
1#include<stdio.h>int prime(int n){ int flag=1; if(n<=1) return 0; for(int i=2;i*i<=n;i++){ if(n%i==0){ flag=0; break; } } if(flag) return 1; else return 0;}int main(){ int t; scanf("%d",&t); if(prime(t...

c语言 求助~~~
int a;printf("***\\n");printf("1.选项1\\n");printf("2.选项2\\n");printf("3.选项3\\n");scanf("%d",&a);switch(a){ case 1:printf("选项1\\n");break;case 2:printf("选项2\\n");break;case 3:printf("选项3\\n");break;default :printf("输入错误\\n");break;} printf(...

c语言问题求助
二进制11111111代表-127,是按原码规则来算。若按补码规则,二进制11111111算出来是-1。文中说的是10000000代表-128。详细描述如下:[+1] = [00000001]原 = [00000001]反 = [00000001]补 [-1] = [10000001]原 = [11111110]反 = [11111111]补 计算机将第1位作为符号位,0表示正数,1表示负数...

C语言菜鸟求助:执行语句for(i=0;i++
C语言菜鸟求助:执行语句for(i=0;i++<3;) printf("%d",i);后,程式输出为? 程式执行过程如下 第一次:i=0, 比较0<3,然后i++,i=1,执行输出1 第二次:i=1, 比较1<3,然后i++,i=2,执行输出2 第三次:i=2, 比较2<3,然后i++,i=3,执行输出3 第四次:i=3, ...

C语言求助题目有图,希望过程详细一些!!
a[0] = 10* (0+2-5*(0>2)) % 6; \/\/(0>2)为判断语句,0大于2为假 ,结果是0 = 10* (0+2-5*0) % 6 = 20 % 6 \/\/取余数 = 2 当i = 1时候 a[1] = 10* (1+2-5*(1>2)) % 6; \/\/(1>2)为判断语句,1大于2为假 ,结果是0 = 10* (1+2-5*0) % ...

c语言代码求助
代码文本:include "stdio.h"int main(int argc,char *argv[]){ char a[80];int i,j,k;while(1){ printf("Please enter a string(Length<80)...\\n");if((a[0]=getchar())==EOF)break;for(i=1;i<80;i++)if((a[i]=getchar())=='\\n')a[i]='\\0',i=79;for(i=j=...

相似回答