请使用c ,不要c++
答案:3 悬赏:50 手机版
解决时间 2021-01-21 00:07
- 提问者网友:你给我的爱
- 2021-01-20 16:16
请使用c ,不要c++
最佳答案
- 五星知识达人网友:一秋
- 2021-01-20 16:35
#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;
}追问可以把这个程序的流程图 给我啊!谢谢追答这个程序逻辑不复杂,没画流程图追问哪可以帮忙画画吗?我需要这个流程图
#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;
}追问可以把这个程序的流程图 给我啊!谢谢追答这个程序逻辑不复杂,没画流程图追问哪可以帮忙画画吗?我需要这个流程图
全部回答
- 1楼网友:你哪知我潦倒为你
- 2021-01-20 19:35
我的文库里有的,跟这个类似,完全用的C,你可以去看看。。如果还有其他问题解决不了,你可以再说
- 2楼网友:野味小生
- 2021-01-20 17:56
#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;
}
#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
}
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;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯