永发信息网

请使用c ,不要c++

答案:3  悬赏:50  手机版
解决时间 2021-01-21 00:07
请使用c ,不要c++
最佳答案
#include
#include

typedef struct stu_str
{
char sn[20];
char name[20];
int fox;
int c;
int english;
} Student;

void printStu(Student *stu, int index)
{
printf("学号:%s\n", stu[index].sn);
printf("姓名:%s\n", stu[index].name);
printf("fox:%d\n", stu[index].fox);
printf("c:%d\n", stu[index].c);
printf("english:%d\n", stu[index].english);
}

void input(Student *stu)
{
int i;
for (i=0; i<4; i++)
{
printf("请输入学生%d信息:\n", i+1);
printf("学号:");
scanf("%s", stu[i].sn);
printf("姓名:");
scanf("%s", stu[i].name);
printf("fox:");
scanf("%d", &(stu[i].fox));
printf("c:");
scanf("%d", &(stu[i].c));
printf("english:");
scanf("%d", &(stu[i].english));
}
}

void query(Student *stu)
{
int i=0;
char sn[20];
printf("输入查询的学生学号:");
scanf("%s", sn);
for (i=0; i<4; i++)
{
if (0 == strcmp(sn, stu[i].sn))
{
printStu(stu, i);
return;
}
}

printf("输入的学号不存在!\n");
}

int amountScore(Student stu)
{
return stu.fox+stu.c+stu.english;
}

void count(Student *stu)
{
int i;
for (i=0; i<4; i++)
{
printf("学号:%s,姓名:%s,总分:%d\n", stu[i].sn, stu[i].name, amountScore(stu[i]));
}
}

void sort(Student *stu)
{
int i,j;
Student temp;
for (i=0; i<4; i++)
{
for (j=i+1; j<4; j++)
{
if (amountScore(stu[i]) < amountScore(stu[j]))
{
temp = stu[i];
stu[i] = stu[j];
stu[j] = temp;
}
}
}
count(stu);
}

int main()
{
Student stu[4];
int cmd=0;
while (1)
{
printf("1. 信息输入\n"
"2. 总分统计\n"
"3. 总分排序\n"
"4. 查询\n"
"5. 退出\n"
"请输入菜单序号[1~5]:");
scanf("%d", &cmd);
switch (cmd)
{
case 1:
input(stu);
break;
case 2:
count(stu);
break;
case 3:
sort(stu);
break;
case 4:
query(stu);
break;
case 5:
return 0;
default:
printf("请输入正确的命令序号!\n");
break;
}
}
return 0;
}追问可以把这个程序的流程图 给我啊!谢谢追答这个程序逻辑不复杂,没画流程图追问哪可以帮忙画画吗?我需要这个流程图
全部回答
我的文库里有的,跟这个类似,完全用的C,你可以去看看。。如果还有其他问题解决不了,你可以再说
#include "stdafx.h"
#include
struct Stud{
char name[12];
char num[12];
char f,c,e;
};
int _tmain(int argc, _TCHAR* argv[])
{
Stud s[4];
puts(" (1):信息输入(I)\n(2):总分统计(C)\n(3):总分排序(S)\n(4):查询(Q)\n(5):退出(E)");
char input;
while(1)
{
printf("请输入命令:");
input=getchar();
switch(input)
{
case 'e':
return 0;
case 'i':
{
char buf[12];
for(int i=0;i<=3;i++)
{
sprintf(buf,"\n第%d个:",i+1);
printf("%s",buf);
scanf("%s%s%d%d%d",&s[i].name,&s[i].num,&s[i].f,&s[i].c,&s[i].e);
}
}
break;
case 'c':
{
for(int i=0;i<=3;i++){
printf("%s总分%d\n",s[i].name,s[i].f+s[i].c+s[i].e);
}
}
break;
case 's':
{
int temp=0;
Stud temp1;
for(int i=0;i<3;i++)
{
temp=i;
for(int j=i;j<4;j++)
{
if(s[temp].c+s[temp].e+s[temp].f temp=j;
}
if(temp!=i)
{
temp1=s[i];
s[i]=s[temp];
s[temp]=temp1;
}
}
for(int i=0;i<=3;i++){
printf("%s总分%d\n",s[i].name,s[i].f+s[i].c+s[i].e);
}
}
break;
case 'q':
{
char n[12];
printf("输入学号:");
scanf("%s",n);
int i=0;
for(i=0;i<4;i++)
{
if(strcmp(n,s[i].num)==0)
break;
}
if(i>=4) {puts("无此学号!");continue;}
else printf("姓名:%s学号:%s各科成绩:%d%d%d总成绩:%d",s[i].name,s[i].num,s[i].c,s[i].e,s[i].f,s[i].f+s[i].c+s[i].e);
}
break;
default:
continue;
}
}
return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
建筑模板与竹胶板有什么区别?
蒙城县双涧镇郭湾华龙幼儿园怎么去啊,我要去
《何处琼华》梦烬电子书txt全集下载
钣金一般用什么焊接方式
跪求这视频中吾王用EX咖喱棒时候的BGM
从西郊热点厂到体育北路坐公交怎么走?
牌匾灯的电源盒嗡嗡响是怎么回事
NBA总决赛第7场在哪里打? 是主场还是客场?
几行字一个眼睛打一成语
有一部韩国电影有5个兄弟一个出卖兄弟最后全
单选题大力发展风电、光电、生物能发电等清洁
2015年贵州省高考648分可以上什么大学
写我敬佩的一个人的作文150字
你觉得工作中应该具备哪些主要素质才能比较快
单选题如果一个根毛细胞中的线粒体明显减少,
推荐资讯
家里面没安装窗帘像这样用吸盘吸住然后挂上淋
白色鸟悠悠然悠悠然远逝了的深层含义是什么
论中小银行的服务创新的论文该怎么写
安卓listview的item点击时候的背景颜色怎么去
淘宝交易一笔,老马能赚多少
dreamweaver8新建html自带的代码怎么设置,如
精卵结合后,身体会出现什么反应?
怎么能知道别人的QQ密码
改装车灯 和贴膜 现在验车能过么
请教channel stop IMP的作用
dongdong养的鸽子在mingming家下了一个蛋,请
铭文和碑文的区别?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?