急求C语言大神帮忙!! 急!!!!!! 有三道题!!
某班有最多不超过30人(具体人数由键盘输入)参加某门课程的考试,用一维数组和指针作函数参数,编程实现如下菜单驱动的学生成绩管理系统:(1)录入每个学生的学号和考试成绩;(...
某班有最多不超过30人(具体人数由键盘输入)参加某门课程的考试,用一维数组和指针作函数参数,编程实现如下菜单驱动的学生成绩管理系统:
(1)录入每个学生的学号和考试成绩;
(2)计算并输出最高分及相应学生的学号;
(3)按学号由小到大排出成绩表
某班有最多不超过30人(具体人数由键盘输入)参加期末考试,考试科目为数学(MT)、英语(EN)和物理(PH)。定义结构体类型,用结构体数组作函数参数,编程实现如下菜单驱动的学生成绩管理系统:
(1)录入每个学生的学号、姓名和各科考试成绩;
(2)计算每个学生的总分和平均分;
(3)按每个学生的总分成绩由高到低排出成绩的名次。
某班有最多不超过30人(具体人数由键盘输入)参加期末考试,考试科目为数学(MT)、英语(EN)和物理(PH)。使用文件读写的功能,编程实现如下菜单驱动的学生成绩管理系统:
(1)录入每个学生的学号、姓名和各科考试成绩;
(2)按学号由小到大排出成绩表;
(3)将每个学生的记录信息写入文件;
(4)从文件中读出每个学生的记录信息并显示。
要求程序运行后先显示如下菜单,并提示用户输入选项:
1.Append record
2.Sort in ascending order by number
3.Writeto a file
4.Readfrom a file
0.Exit
Please enter your choice:
然后,根据用户输入的选项执行相应的操作。 展开
(1)录入每个学生的学号和考试成绩;
(2)计算并输出最高分及相应学生的学号;
(3)按学号由小到大排出成绩表
某班有最多不超过30人(具体人数由键盘输入)参加期末考试,考试科目为数学(MT)、英语(EN)和物理(PH)。定义结构体类型,用结构体数组作函数参数,编程实现如下菜单驱动的学生成绩管理系统:
(1)录入每个学生的学号、姓名和各科考试成绩;
(2)计算每个学生的总分和平均分;
(3)按每个学生的总分成绩由高到低排出成绩的名次。
某班有最多不超过30人(具体人数由键盘输入)参加期末考试,考试科目为数学(MT)、英语(EN)和物理(PH)。使用文件读写的功能,编程实现如下菜单驱动的学生成绩管理系统:
(1)录入每个学生的学号、姓名和各科考试成绩;
(2)按学号由小到大排出成绩表;
(3)将每个学生的记录信息写入文件;
(4)从文件中读出每个学生的记录信息并显示。
要求程序运行后先显示如下菜单,并提示用户输入选项:
1.Append record
2.Sort in ascending order by number
3.Writeto a file
4.Readfrom a file
0.Exit
Please enter your choice:
然后,根据用户输入的选项执行相应的操作。 展开
2个回答
展开全部
一题:
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
void infinfor(int p[],int *pn){
for(;p<pn;p+=2)
scanf("%d%d",p,p+1);
}
void maxid(int a[],int *pa){
int *p,max,maxid;
for(max=-1,p=a;p<pa;p+=2)
if(max<*(p+1)){
max=*(p+1);
maxid=*p;
}
printf("MAX: %d ID: %d\n",max,maxid);
}
void mysort(int a[],int *pa){
int i,j,k,n;
for(n=pa-a,i=0;i<n;i+=2){
for(k=i,j=k+2;j<n;j+=2)
if(a[k]>a[j]) k=j;
if(k!=i){
j=a[k];
a[k]=a[i];
a[i]=j;
j=a[k+1];
a[k+1]=a[i+1];
a[i+1]=j;
}
printf("%d %d\n",a[i],a[i+1]);
}
}
void main(void){
int a[60],k,n=0;
printf("1.Append record\n2.The highest grade and its student id\n3.Sort by student id\n0.Exit\n");
while(1){
printf("Please enter your choice:\n");
scanf("%d",&k);
if(k==1){
printf("How many students?\nn=");
scanf("%d",&n);
printf("Input %d student(s) id & score...\n",n);
n+=n;
infinfor(a,a+n);
}
else if(k==2){
n ? maxid(a,a+n) : printf("No record! Redo...\n");
else if(k==3)
n ? mysort(a,a+n) : printf("No record! Redo...\n");
else break;
}
printf("\n");
}
二题:
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
void infinfor(int p[],int *pn){
for(;p<pn;p+=2)
scanf("%d%d",p,p+1);
}
void maxid(int a[],int *pa){
int *p,max,maxid;
for(max=-1,p=a;p<pa;p+=2)
if(max<*(p+1)){
max=*(p+1);
maxid=*p;
}
printf("MAX: %d ID: %d\n",max,maxid);
}
void mysort(int a[],int *pa){
int i,j,k,n;
for(n=pa-a,i=0;i<n;i+=2){
for(k=i,j=k+2;j<n;j+=2)
if(a[k]>a[j]) k=j;
if(k!=i){
j=a[k];
a[k]=a[i];
a[i]=j;
j=a[k+1];
a[k+1]=a[i+1];
a[i+1]=j;
}
printf("%d %d\n",a[i],a[i+1]);
}
}
void main(void){
int a[60],k,n=0;
printf("1.Append record\n2.The highest grade and its student id\n3.Sort by student id\n0.Exit\n");
while(1){
printf("Please enter your choice:\n");
scanf("%d",&k);
if(k==1){
printf("How many students?\nn=");
scanf("%d",&n);
printf("Input %d student(s) id & score...\n",n);
n+=n;
infinfor(a,a+n);
}
else if(k==2){
n ? maxid(a,a+n) : printf("No record! Redo...\n");
else if(k==3)
n ? mysort(a,a+n) : printf("No record! Redo...\n");
else break;
}
printf("\n");
}
二题:
追问
恩恩 谢谢 第二题 第三题 也麻烦告知下把
追答
你追问了,所以这里写不下了,给你发到私信里。这里只发个main
void main(void){
STU stu[30];
int k,n=0;
printf("1.Append record\n2.Calculate the total score & average\n3.Sort by the student's total\n0.Exit\n");
while(1){
printf("Please enter your choice:\n");
scanf("%d",&k);
if(k==1){
printf("How many students?\nn=");
scanf("%d",&n);
printf("Input %d student(s) id & score...\n",n);
infinfor(stu,n);
}
else if(k==2)
n ? total_ave(stu,n),printf("The total score and average calculation is accomplished.\n")
: printf("No record! Redo...\n");
else if(k==3)
n ? mysort(stu,n) : printf("No record! Redo...\n");
else break;
}
printf("\n");
}
都做好了,怎么发给你呢?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询