永发信息网

请教一个C语言编程构思

答案:3  悬赏:20  手机版
解决时间 2021-01-25 16:12
我是一名C语言的初学者,想请教大家一个题目。
问题是这样的1个班有50个同学 共有5门功课
语文,数学,物理,化学,外语。
现在有两个问题
请问用怎样快捷简明的方法用键盘输入一个学生姓名,系统就显示他的5门成绩。用结构体类型吗?
第二个问题,怎样手动随意输入两位学生进行单门的成绩比较并且输出成绩好的人姓名呢?这个完全摸不着边。
谢谢。希望大家提供一下思路,或者给我做出一小部分我自己参考研习。
最佳答案
用结构体数组。
结构体应该包含6个数据,姓名和5门功课的成绩。
姓名的数据类型应该是字符串,其他的都用整型。
这里给你一个简单的例子,里面包含了结构体的定义和简单应用:
#include
void main()
{
struct student
{
char *name;
int yuwen,shuxue,wuli,huaxue,waiyu;
};
student students[50];
students[0].name="sss";
students[0].yuwen=40;
students[0].shuxue=60;
students[0].wuli=50;
students[0].huaxue=90;
students[0].waiyu=10;
printf("%s %d %d %d %d %d\n",students[0].name,
students[0].yuwen,
students[0].shuxue,
students[0].wuli,
students[0].huaxue,
students[0].waiyu);
}

你可以在程序中输入所有学生的数据,也可以在运行时输入。这种程序最好使用数据库,50个学生的数据输入太麻烦了,建议你改成5个学生,道理是一样的。~~~~~

对于第一问,等你数据输入完以后,想显示某位同学的信息的话,先顺序比对一下数组中有没有该同学的名字
for(n=0;n<=4;n++)
{
if(students[n].name=="你输入的名字")break;
}//执行完以后n就是该同学的编号。
然后输出相关信息即可。
但是这里还存在一个多个同学重名的问题,要注意一下。

对于第2问,可以用第一问的方法获得两个同学的信息,然后
if(students[n].某科成绩>=students[m].某科成绩)
{printf(students[n].name);}
else
{students[m].name;}

我只是说明了一下自己的思路,里面的代码都是伪代码,希望对你有所帮助^^
全部回答

源程序如下:

#include<stdio.h> int mat[10][10]; void main() { int n,i,j; int ok=1; scanf("%d",&n); for(i=0;i<n;++i) for(j=0;j<n;++j) scanf("%d",&mat[i][j]); for(i=1;i<n;++i) { for(j=0;j<i;++j) if(mat[i][j]!=0) ok=0; } printf("%s\n",ok?"yes":"no"); }

第一个问题:是用结构体. struct stu {char name[10]; int ch; int math; int phy; int che; int eng; }; 第二个问题.先输入两个学生的名字,然后去结构体数组里面找到name为这两个名字的结构体,假设为a[i],aj]; 然后比较,如if (a[i].ch>a[j]) printf("%c 's ch is better",a[i].name); 大概就是这样,自己再好好琢磨下吧.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
成语颠斤播两的意思是什么啊?有知道释义的请
土豆发芽了把芽削掉能吃吗 土豆发芽了还能不
关于公债概念的说法,错误的是( )。A.公债
17÷□=△……5,□和△各代表多少?(□、△都
小伙子电池质量如何
支撑软件是指为配合应用软件有效运行而使用的
新买的华硕显卡有滋滋声怎么办?
奥斯萨巴岛猪价格
魔鬼恋人的耽美游戏橙光主角是逆卷家的兄弟
电脑显示器能修吗
56x0.4表示56个0.4是多少。
交通工具的发明和进步改变了人类的生活。世界
成语砥锋挺锷的意思是什么啊?有知道释义的请
产蛋鸡得了新城疫好了后拉棕色大便吗
情满轩尼诗 结局
推荐资讯
国际音乐会所地址在什么地方,我要处理点事
tp link无线路由器该怎样设置才能让手机连WIF
为什么不要用男友生日当银行卡密码
平安停车场(平朔路)地址在什么地方,想过去办
奥美影视得薇苑摄影工作室地址有知道的么?有
有人仗势把人欺,多行不义必自毙;有人误解我蒙
奥普灯饰地址在什么地方,想过去办事,
请问involoved是什么意思
血红素与氧气结合过程中颜色有什么变化?
PE袋检验标准是什么,请填空
成语揆理度势的意思是什么啊?有知道释义的请
英岸村民委员会地址在什么地方,想过去办事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?