求助,一个简单程序
帮别人求一代码,要C写的,楼主不会C。。。求助,先谢了。。
存储5个学生的姓名和4门课的成绩,输入任一学生的姓名,输出该生的4门课的成绩 和 平均成绩。
[解决办法]
#include <stdio.h>
#include <malloc.h>
#include <string.h>
struct student
{
char *name;
int course1;
int course2;
int course3;
int course4;
};
void main()
{
char *n = (char *)malloc(20);
student stu1,stu2,stu3,stu4,stu5;
stu1.name = "wang";
stu1.course1 = 58;
stu1.course2 = 59;
stu1.course3 = 60;
stu1.course4 = 61;
stu2.name = "li";
stu2.course1 = 68;
stu2.course2 = 69;
stu2.course3 = 70;
stu2.course4 = 71;
stu3.name = "zhao";
stu3.course1 = 78;
stu3.course2 = 79;
stu3.course3 = 80;
stu3.course4 = 81;
stu4.name = "zhou";
stu4.course1 = 88;
stu4.course2 = 89;
stu4.course3 = 90;
stu4.course4 = 91;
stu5.name = "wu";
stu5.course1 = 97;
stu5.course2 = 98;
stu5.course3 = 99;
stu5.course4 = 100;
printf("Please input name:");
while(1)
{
printf("Please input name:");
scanf("%s",n);
if(strcmp(stu1.name,n) == 0)
{
printf("course1 = %d,course2 = %d,course3 = %d,course4 = %d\n",stu1.course1,stu1.course2,stu1.course3,stu1.course4);
}
else if(strcmp(stu2.name,n) == 0)
{
printf("course1 = %d,course2 = %d,course3 = %d,course4 = %d\n",stu2.course1,stu2.course2,stu2.course3,stu2.course4);
}
else if(strcmp(stu3.name,n) == 0)
{
printf("course1 = %d,course2 = %d,course3 = %d,course4 = %d\n",stu3.course1,stu3.course2,stu3.course3,stu3.course4);
}
else if(strcmp(stu4.name,n) == 0)
{
printf("course1 = %d,course2 = %d,course3 = %d,course4 = %d\n",stu4.course1,stu4.course2,stu4.course3,stu4.course4);
}
else if(strcmp(stu5.name,n) == 0)
{
printf("course1 = %d,course2 = %d,course3 = %d,course4 = %d\n",stu5.course1,stu5.course2,stu5.course3,stu5.course4);
}
else
{
printf("error\n");
}
}
}
将就着用吧~~
[解决办法]
#include <stdio.h>#include <string.h>float getAverage(float a[4]){ int i; float av, s= a[0]; for(i=1;i<4;i++) { s += a[i]; if(i==4) a[i]=0; } av = s/5; return av;}main(){ char stu[5][20],name[20]; float sco[5][4], ave; int i,k,j; for(i=0;i<5;i++) { printf("Please input a student name:\n"); scanf("%s",stu[i]); printf(" Plase input %s scores: (XXX,XXX,XXX,XXX)\n",stu[i]); scanf("%f,%f,%f,%f",&sco[i][0],&sco[i][1],&sco[i][2],&sco[i][3]); printf("----------------------------------------------\n"); } printf("\nPlease input a student name to get his/her details:\n"); scanf("%s",name); for(i=0;i<5;i++) { if(strcmp(stu[i],name)==0) k = i; } ave = getAverage(sco[k]); printf("%s's all scores are:\n",stu[k]); for(i=0;i<4;i++) { printf("%5.2f ",sco[k][i]); } printf("\nAverage: %5.2f\n",ave); }