c语言 输入2个学生姓名 和成绩 ,然后输出他们的平均成绩 用结构体怎么写 C语言 用结构体类型数组编程实现输入5个学生的学号姓名平时成...

C\u8bed\u8a00\u7f16\u7a0b \u7528\u7ed3\u6784\u4f53\u7684\u77e5\u8bc6\u7f16\u7a0b\u8f93\u5165\u5e76\u6253\u5370\u5b66\u751f\u7684\u6210\u7ee9\u4e0e\u4fe1\u606f

#include
#define N 10

struct Student
{
char id[8],name[8];
int s1,s2,s3;
float ave_s;
};

int main()
{
struct Student s[N];
int i,p;
/* \u8f93\u5165\u5b66\u751f\u6210\u7ee9\u4fe1\u606f\uff0c\u5e76\u8ba1\u7b97\u5e73\u5747\u6210\u7ee9 */
for(i=0; i<N; i++)
{
printf("\u8f93\u5165\u5b66\u751f %d \u7684\u5b66\u53f7 \u59d3\u540d \u548c3\u95e8\u8bfe\u7684\u6210\u7ee9\uff1a",i+1);
scanf("%s%s%d%d%d",&s[i].id,&s[i].name,&s[i].s1,&s[i].s2,&s[i].s3);
s[i].ave_s=(s[i].s1+s[i].s2+s[i].s3)/3.0;
}

/* \u8f93\u51fa\u6bcf\u4e2a\u5b66\u751f\u7684\u5e73\u5747\u6210\u7ee9 */
printf(" \u5b66\u53f7 \u5e73\u5747\u6210\u7ee9\n");
for(i=0; i<N; i++)
printf("%8s%8.1f\n\n",s[i].id,s[i].ave_s);

/* \u67e5\u627e\u5e73\u5747\u6210\u7ee9\u6700\u9ad8\u7684\u5b66\u751f */
p=0;
for(i=0; i<N; i++)
if(s[i].ave_s>s[p].ave_s)
p=i;
/* \u8f93\u51fa\u5e73\u5747\u6210\u7ee9\u6700\u9ad8\u7684\u5b66\u751f\u4fe1\u606f */
printf(" \u5b66\u53f7 \u59d3\u540d \u6210\u7ee91 \u6210\u7ee92 \u6210\u7ee93 \u5e73\u5747\u6210\u7ee9\n");
printf("%8s%8s%8d%8d%8d%8.1f\n",s[p].id,s[p].name,s[p].s1,s[p].s2,s[p].s3,s[p].ave_s);
return 0;
}

#include #include #define ARRAY_LEN 100 /*\u6570\u7ec4\u957f\u5ea6*/typedef struct { int no; /*\u5b66\u53f7*/ char name[ARRAY_LEN]; /*\u59d3\u540d*/float score1; /*\u5e73\u65f6\u6210\u7ee9*/float score2; /*\u671f\u4e2d\u6210\u7ee9*/float score3; /*\u671f\u672b\u6210\u7ee9*/float totalScore; /*\u5b66\u671f\u6210\u7ee9*/} student;/*\u521d\u59cb\u5316*/void initInfo (student stu[], int *stuNum) {*stuNum = 2; /*\u5b66\u751f\u4eba\u6570\u8bbe\u5b9a*/}/*\u8f93\u5165\u5b66\u751f\u4fe1\u606f*/void inputInfo (student stu[], int stuIndex) {int i;printf ("\u7b2c%d\u540d\u5b66\u751f\u2193\n", stuIndex+1);printf ("\u5b66\u53f7\uff1a");scanf ("%d",&stu[stuIndex].no);printf ("\u59d3\u540d\uff1a");scanf ("%s",&stu[stuIndex].name);printf ("\u5e73\u65f6\u6210\u7ee9\uff1a");scanf ("%f",&stu[stuIndex].score1);printf ("\u671f\u4e2d\u6210\u7ee9\uff1a");scanf ("%f",&stu[stuIndex].score2);printf ("\u671f\u672b\u6210\u7ee9\uff1a");scanf ("%f",&stu[stuIndex].score3);putchar ('\n');}/*\u8ba1\u7b97\u5b66\u671f\u6210\u7ee9*/void calculationScore (student stu[], int stuIndex) {float sco1Ratio = 0.1; /*\u5e73\u65f6\u6210\u7ee9\u6bd4\u4f8b*/float sco2Ratio = 0.2; /*\u671f\u4e2d\u6210\u7ee9\u6bd4\u4f8b*/float sco3Ratio = 0.7; /*\u671f\u672b\u6210\u7ee9\u6bd4\u4f8b*/stu[stuIndex].totalScore = stu[stuIndex].score1 * sco1Ratio +stu[stuIndex].score2 * sco2Ratio +stu[stuIndex].score3 * sco3Ratio;}/*\u8f93\u51fa\u5b66\u751f\u6210\u7ee9*/void printInfo (student stu[], int stuIndex) {int i;printf ("%d\t",stu[stuIndex].no);printf ("%s\t",stu[stuIndex].name);printf ("%.2f\t\t",stu[stuIndex].score1);printf ("%.2f\t\t",stu[stuIndex].score2);printf ("%.2f\t\t",stu[stuIndex].score3);printf ("%.2f",stu[stuIndex].totalScore);putchar ('\n');}int main (void) {int stuNum,i;student stu[ARRAY_LEN];initInfo (stu,&stuNum);/*\u8f93\u5165\u3001\u8ba1\u7b97*/puts ("\u8bf7\u8f93\u5165\u5b66\u751f\u4fe1\u606f\uff1a");putchar ('\n');for (i=0; i<stuNum; i++) {inputInfo (stu,i);calculationScore (stu,i);}putchar ('\n');printf ("%d\u540d\u5b66\u751f\u6210\u7ee9\u8f93\u5165\u5b8c\u6bd5\uff01", stuNum);putchar ('\n');puts ("================================================================\n");/*\u8f93\u51fa*/puts ("\u5b66\u53f7\t\u59d3\u540d\t\u5e73\u65f6\u6210\u7ee9\t\u671f\u4e2d\u6210\u7ee9\t\u671f\u672b\u6210\u7ee9\t\u5b66\u671f\u6210\u7ee9");for (i=0; i<stuNum; i++)printInfo (stu,i);getch (); /*\u5c4f\u5e55\u6682\u7559*/return 0;}\u8fd0\u884c\u7ed3\u679c
\u4ee5\u4e0b\u56fe\u793a\u6539\u4e3a2\u540d\u5b66\u751f\uff0c\u4e0a\u65b9\u6e90\u4ee3\u7801\u4e3a\u9898\u4e3b\u8981\u6c42\u76845\u540d\u5b66\u751f

#include <stdio.h>
#include <string.h>
struct Stu{
char name[20];
int score;
}stu[2];
int main()
{
    
printf("请输入第一个学生的姓名和成绩:
");
scanf("%s %d",&stu[0].name,&stu[0].score);
printf("请输入第二个学生的姓名和成绩:
");
scanf("%s %d",&stu[1].name,&stu[1].score);
float average = (stu[0].score + stu[1].score)/2;
printf("平均分是%f
",average);
    return 0;
}


扩展阅读:c语音的姓名交换 ... c++编辑 ... c语言输出姓名年龄 ... 输入你的姓名并输出 ... c++编程 ... 编写一个学生管理系统 ... c 入门教程 ... 学生管理系统c ... c语言输入姓名输出姓和名 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网