问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言程序设计问题

发布网友 发布时间:2022-04-21 04:44

我来回答

4个回答

热心网友 时间:2023-10-14 22:37

#include <conio.h>
#include <stdio.h>
FILE *fp;
int a[100][10]; /*定义一个二位数组用来存放学生成绩*/
int stu;
inputx()
{
gotoxy(15,13);
textcolor(RED);
printf("请输入你们班的学生数:");
scanf("%d",&stu);
}
input() /*输入学生成绩*/
{
int i;
for(i=1;i<=stu;i++)
{ scanf("%8d%8d%8d%8d%8d%8d",&a[i][1],&a[i][2],&a[i][3],&a[i][4],&a[i][5],&a[i][6]);
}
}
print1() /*输出成绩表,并求总分,平均分和排名次*/
{
int i,j;
int b[100],c[100];
int t,loc,k;
fp=fopen("成绩表.txt","w");
for(i=1;i<=stu;i++) /*求总分和平均分*/
{
a[i][7]=0;
for(j=2;j<=6;j++)
a[i][7]=a[i][7]+a[i][j];
a[i][8]=a[i][7]/5;
}
for(i=1;i<=stu;i++) /*排名*/
{
b[i]=a[i][7];
c[i]=i;
}
for(i=1;i<=stu-1;i++)
{
loc=i;
for(j=i+1;j<=stu;j++)
if(b[j]>b[loc])
loc=j;
if(loc!=i)
{t=b[i];b[i]=b[loc];b[loc]=t;
t=c[i];c[i]=c[loc];c[loc]=t;
}
}
for(i=1;i<=stu;i++)
for(k=1;k<=stu;k++)
if(c[k]==i)
{
a[i][9]=k;
break;
}
for(i=1;i<=stu;i++) /*输出成绩表*/
{
for(j=1;j<=9;j++)
printf("%-6d",a[i][j]);
printf("\n");
}
/*以下输出成绩表存到一个文件中*/
fprintf(fp,"学号 语文 数学 英语 物理 化学 总分 均分 名次\n");
for(i=1;i<=stu;i++)
{
for(j=1;j<=9;j++)
fprintf(fp,"%-6d",a[i][j]);
fprintf(fp,"\n");
}
}
print2() /*求各科总分和平均分*/
{
int i,j;
int m[3][6];
for(j=2;j<=6;j++)
{
m[1][j-1]=0;
for(i=1;i<=stu;i++)
m[1][j-1]=m[1][j-1]+a[i][j];
m[2][j-1]=m[1][j-1]/stu;
}
for(i=1;i<=2;i++)
{
for(j=1;j<=5;j++)
printf("%-6d",m[i][j]);
printf("\n");
}
}
change() /*修改学生成绩*/
{
int m,b,c,i,n=0;
printf("请输入您要修改的学生的学号:");
scanf("%d",&m);
printf("1,语文;2,数学;3,英语;4,物理;5,化学;\n");
printf("请选择您要修改的科目:");
scanf("%d",&b);
printf("请输入新的学生成绩:");
scanf("%d",&c);
for(i=1;i<=stu;i++)
if(m!=a[i][1]) n++;
else {
n++;
break;
}
a[n][b+1]=c;
printf("\n重新输出成绩表\n");
printf("学号 语文 数学 英语 物理 化学 总分 均分 名次\n");
print1();
go();
}
go() /*选择菜单*/
{
int n;
printf("\n现在您将会遇到以下几种情况:\n");
printf("1,继续查询;2,修改数据;3,重新运行;4,结束程序;\n");
printf("请您根据需要按键选择:");
scanf("%d",&n);
if(n==1)find();
if(n==2)change();
if(n==3)main();
if(n==4){
clrscr();
printf("*********感谢您使用本程序*********\n");
printf("这是我编写的第一个系统程序,为了感谢您的使用,请到3509寝室找李晓锋领奖\n");
printf("\n\n");
printf("再次感谢您的使用\n");
printf("------------ByeBye----------------");
}
getch();
}
find1() /*按名次查询学生成绩*/
{
int n,i;
printf("请输入您要查询的学生的名次:");
scanf("%d",&n);
printf("名次 学号 语文 数学 英语 物理 化学 总分 均分\n");
for(i=1;i<=stu;i++)
if(n==a[i][9])
{ printf("%-6d%-6d%-6d%-6d%-6d%-6d%-6d%-6d%-6d",a[i][9],a[i][1],a[i][2],a[i][3],a[i][4],a[i][5],a[i][6],a[i][7],a[i][8]);
break;
}
printf("\n");
go();
}

作者: zfy0422 2004-11-10 08:38 回复此发言

--------------------------------------------------------------------------------

2 一个学生成绩管理系统
find2() /*按学号查询学生成绩*/
{
int n,i;
printf("请输入您要查询的学生的学号:");
scanf("%d",&n);
printf("学号 语文 数学 英语 物理 化学 总分 均分 名次\n");
for(i=1;i<=stu;i++)
if(n==a[i][1])
{ printf("%-6d%-6d%-6d%-6d%-6d%-6d%-6d%-6d%-6d",a[i][1],a[i][2],a[i][3],a[i][4],a[i][5],a[i][6],a[i][7],a[i][8],a[i][9]);
break;
}
printf("\n");
go();
}
find3_1(int n) /*输出科目查询结果*/
{
int i;
printf("学号 名次 语文 数学 英语 物理 化学 总分 均分\n");
for(i=1;i<=stu;i++)
if(a[i][n+1]>=90)
{ printf("%-6d%-6d%-6d%-6d%-6d%-6d%-6d%-6d%-6d",a[i][1],a[i][9],a[i][2],a[i][3],a[i][4],a[i][5],a[i][6],a[i][7],a[i][8]);
printf("\n");
}
go();
}
find3() /*科目选择菜单*/
{
int n;
printf("现有以下五种科目供查询:\n");
printf("1,语文;2,数学;3,英语;4,物理;5,化学;\n");
printf("请按键选择:");
scanf("%d",&n);
find3_1(n);
}
find() /*查询方式菜单*/
{
int m;
printf("根据您的要求,有以下3种查询方式: \n");
printf("1,按名次查询;\n");
printf("2,按学号查询;\n");
printf("3,查询某科成绩在90分以上的学生的情况;\n");
printf("现在,按照您的需要请按键:");
scanf("%d",&m);
if(m==1)find1();
if(m==2)find2();
if(m==3)find3();
}
main() /*主函数运用文本编辑对欢迎界面进行排版*/
{
int i;
clrscr(); /*清屏*/
textcolor(YELLOW);
{
gotoxy(20,9);
printf("******欢迎使用学生成绩管理系统!******\n");
gotoxy(20,11);
printf("------------制作人:赵飞宇------------\n");
gotoxy(20,13);
printf("******欢迎注册:zfy0422@sina.com******\n");
gotoxy(20,15);
printf("***********飞宇软件开发公司***********\n");
gotoxy(20,17);
printf("版权所有 未经同意 不得复制 违者必究");
}
for(i=1;i<=44;i++) /*输出用#组成的矩形以达到美观的效果*/
{
{
gotoxy(16+i,19);
printf("#");
}
{
gotoxy(16+i,7);
printf("#");
}
}
for(i=1;i<=13;i++)
{
{
gotoxy(16,6+i);
printf("#");
}
{
gotoxy(61,6+i);
printf("#");
}
}
getch();
clrscr();
inputx();
clrscr();
gotoxy(3,3);
printf("\n学生成绩管理系统\n\n");
printf("一,输入成绩\n");
printf("请输入学生的成绩:\n" );
printf("学号 语文 数学 英语 物理 化学\n");
input();
printf("\n");
printf("二,输出成绩表\n");
printf("学号 语文 数学 英语 物理 化学 总分 均分 名次\n");
print1();
printf("\n");
printf("三,输出各科总分及平均分\n");
printf("语文 数学 英语 物理 化学\n");
print2();
printf("\n");
printf("四,查询\n");
find();
}

你认真的看看这个程序后会对你的这个问题有很大的帮助的,本来打算 给你写一个的,但是太多了,另外上面这个程序具有你上述问题所有要求的函数,相信你看懂后,你上面的哪个问题就可以很轻易的解决了。

参考资料:http://post.baidu.com/f?kz=5972675

热心网友 时间:2023-10-14 22:37

我晕,我看你是懒吧,这个是C语言很容易就可以达到的。可以说是一个很简单的C语言作业,相信你一定可以自己搞定的,不太明白的地方问问同学啊。你可以把自己写的程序放上来,给你看看。

热心网友 时间:2023-10-14 22:38

你看看百度说什么(看最后一行):

二 审核与处罚
 2 问答、评论删除原则与处罚方法
  2)其他问题、回答和评论的删除原则
   F.具有恶意、无聊和灌水性质
    ·直接索取作文、论文或作业答案的提问

热心网友 时间:2023-10-14 22:40

自己好好努力吧
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
360浏览器怎么设置倍速播放 ...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 家里面楼梯是水泥的不想铺地毯或者地砖还能铺什么 楼梯的水泥台阶上可以铺地板革吗 手机腾讯会议共享屏幕播放视频没声 find的exec怎么一次执行多个命令 linux的find -exec命令的问题 linux find -exec 后面的{}是干什么用的 如何ping全部ip 如何ping IP地址 以及为什么要ping IP 如何PING出IP地址? 怎么用ping得到IP地址? 怎么用cmd ping自己的IP ping 本机IP地址 怎样用ping命令获得本机的IP地址 怎么ping自己电脑的 ip地址 如何ping ip地址 怎么ping ip地址 如何使用ping命令查询本机ip地址? 怎样Ping一台计算机的IP? 怎么ping自己电脑的ip 如何用ping查看本地IP地址 如何ping网络的ip地址?? 怎么ping 自己的ip 电脑怎么ping ip 如何使用find命令查找文件? linux系统中find命令之exec使用介绍 404 Not Found 怎样利用find命令查到50个文件后就返回,而不是一直查找下去 Linux中find与exec配合使用的问题 linux删除命令这样写不对吗,提示我find: 遗漏“-exec”的参数 Linux下,find命令可以常找文件内容吗? linux find命令中-exex命令语法 linux学习日记八 认识与学习bash Linux下Find命令的使用 linux如何删除目录linux如何删除目录 张姓小孩取名大全 姓张的给小孩取什么名字好? 姓张男孩大字辈怎么起名? 苹果11设置siri的自定义回答 “错误”是什么 在现代网页设计中,动效有哪些常见的用法? 错误意思是什么 在现代网页设计中,动效有哪些常见的用法 郑愁予的《错误》全文