今天给各位分享c语言成绩代码的知识,其中也会对c语言成绩表代码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
1、用C语言写一个成绩查询系统。2、求c语言代码,输入某班学生某门课的成绩,用函数编程排序所有成绩,统计不及格个数?3、c语言学生成绩管理系统1000行源代码4、用c语言设计一个程序统计一个班的学生成绩?5、C语言 学生考试成绩统计管理代码
用C语言写一个成绩查询系统。
#includestdlib.h
#includestdio.h
#includestring.h
#includeconio.h
#define N 10
/*****定义结构体*****/
typedef struct students /*标记为students*/
{
char num[10]; /*学生学号*/
char name[10]; /*学生姓名*/
int age; /*年龄*/
char sex[10]; /*性别*/
float cyy; /*C语言成绩*/
float computer; /*计算机成绩*/
float english; /*英语成绩*/
float pj; /*平均成绩*/
}STU;
STU temp;
void sort(STU students[],int n); //排序
void save(STU students[] ,int n);//导出
int Locate(STU students[],int n);//查询
/*————–显示菜单——————–*/
char displaymenu()
{
char k;
system(“cls”);
printf(” 学生成绩管理 \n”);
printf(“———————————–应用菜单————————————-\n”);
printf(” 1 输入学生成绩\n\n”);
printf(” 2 输出学生成绩\n\n”);
printf(” 3 查询学生成绩\n\n”);
printf(” 4 修改学生成绩\n\n”);
printf(” 5 查看成绩排序\n\n”);
printf(” 6 查看成绩统计\n\n”);
printf(” 7 保存数据\n\n”);
printf(” 8 读取数据\n\n”);
printf(” 9 退出系统\n\n”);
printf(” 请选择你想进行的操作:”);
k=getchar();
return k;
}
/*****定义输出函数*****/
void printheader() /*格式化输出表头*/
{
printf(“\n\n************************学生成绩管理系统****************************\n\n\n”);
printf(“| 学号 | 姓名 | 年龄 | 性别 | C语言成绩 |计算机成绩 | 英语成绩| 平均成绩 | \n”);
}
void printdata(STU pp) /*格式化输出表中数据*/
{
STU* p;
p=pp;
printf(“| %-5s| %-5s | %-4d| %-4s| %-6.0f| %-6.0f| %-5.0f| %-6.0f|\n”,p-num,p-name,p-age,p-sex,p-cyy,p-computer,p-english,p-pj);
}
/*****添加学生信息*****/
int add(STU students[] ,int *n)
{
int i=0;
system(“cls”);
printf(” \n”);
printf(” 请输入学生信息 \n”);
printf(” 退出请在学生号处输入:0 \n”);
printf(“请输入学生学号:\n “);
scanf(“%s”,students[i].num);
while(strcmp(students[i].num,”0″) )//当输入的学号为0时结束输入
{
printf(“请输入学生姓名:\n “);
scanf(“%s”,students[i].name);
printf(“****************\n\n\n”);
printf(“请输入学生年龄:\n “);
scanf(“%d”,students[i].age);
printf(“****************\n\n\n”);
printf(“请输入学生性别:\n”);
scanf(“%s”,students[i].sex);
printf(“****************\n\n\n”);
printf(“请输入C语言成绩:\n “);
scanf(“%f”,students[i].cyy);
printf(“****************\n\n\n”);
printf(“请输入计算机成绩:\n “);
scanf(“%f”,students[i].computer);
printf(“****************\n\n\n”);
printf(“请输入英语成绩:\n “);
scanf(“%f”,students[i].english);
printf(“****************\n\n\n”);
students[i].pj=(students[i].cyy+students[i].computer+students[i].english)/3;
printf(“学生平均成绩: %-8.0f\n”,students[i].pj);
i++;
printf(“****************\n\n\n”);
printf(“请输入学生学号:\n “);
scanf(“%s”,students[i].num);
}
*n=i;
save(students ,i);
return i;
}
/*****查询学生信息函数*****/
int Locate(STU students[],int n)
{
int k,m=-1;
char num[10],name[20];
int i=0;
system(“cls”);
printf(” 退出请输入:0 \n”);
printf(“请选择以什么方式查询:1).按学生学号查询 2).按学生姓名查询 \n”);
scanf(“%d”,k);
if(k==1)
{
printf(“请输入你要查询的学生学号:\n”);
scanf(“%s”,num);
while(in)
{
if(strcmp(students[i].num,num)==0) /*若找到学号*/
{
printf(“学生学号:%s\n*学生姓名:%s\n*学生年龄:%d\n*学生性别:%s\nC语言成绩:%-8.0f\n计算机成绩:%-8.0f\n英语成绩:%-8.0f\n平均成绩:%-8.0f\n”,students[i].num,students[i].name,students[i].age,students[i].sex,students[i].cyy,students[i].computer,students[i].english,students[i].pj);
m=i;
getchar();
break;
}
i++;
}
if(i=n)
printf(“没有所找学生信息\n”);
getchar();
}
else if(k==2)
{
printf(“请输入你要查询的学生姓名:\n”);
scanf(“%s”,name);
while(in)
{
if(strcmp(students[i].name,name)==0) /*若找到姓名*/
{ printf(“学生学号:%s\n学生姓名:%s\n学生年龄:%d\n学生性别:%s\n学生C语言成绩:%-8.0f\n计算机成绩:%-8.0f\n英语成绩:%-8.0f\n平均成绩:%-8.0f\n”,students[i].num,students[i].name,students[i].age,students[i].sex,students[i].cyy,students[i].computer,students[i].english,students[i].pj);
m=i;
getchar();
break;
}
i++;
}
if(i=n)
printf(“没有所找学生信息\n”);
}
return m;/*返回一个根m便于修改学生信息*/
getchar();
}
/*****显示函数*****/
void input(STU students[],int n)
{
int i;
system(“cls”); //清屏
if(n==0) /*表示没有学生信息记录*/
{
printf(“\n没有学生记录!\n”);
}
printf(“\n\n”);
printheader(); /*输出表格头部*/
i=0;
while(in) /*逐条输出数组中存储的学生信息*/
{
printdata(students[i]);
i++;
}
getchar();
}
/*****修改子程序*****/
void Modify(STU students[],int n)
{
int i;
if(n=0)
{
system(“cls”);
printf(” \n退出请输入:0 \n”);
printf(“\n———-not found!———-\n”);
getchar();
return ;
}
system(“cls”);
printf(“修改学生信息”);
input(students,n);
i=Locate(students,n); /*查询到该数组元素,并返回下标值*/
if(i!=-1) /*若i!=-1,表明已经找到该数组元素*/
{
printf(“请输入新的学生信息: \n”);
printf(” 学号: “);
scanf(“%s”,students[i].num);
printf(” 姓名: “);
scanf(“%s”,students[i].name);
printf(” 年龄: “);
scanf(“%d”,students[i].age);
printf(” 性别: “);
scanf(“%s”,students[i].sex);
printf(” C语言: “);
scanf(“%f”,students[i].cyy);
printf(” 英语: “);
scanf(“%f”,students[i].english);
printf(” 计算机: “);
scanf(“%f”,students[i].computer);
students[i].pj=(students[i].cyy+students[i].english+students[i].computer)/3;
printf(“平均成绩: %-9.0f\n”,students[i].pj);
save(students ,n);
printf(“\n————-修改成功!————-\n”);
}
else
printf(“not found!\n”);
getchar();
}
/*****学生成绩排序子程序*****/
void sort(STU students[],int n)
{
int i,j,a,b,c,d,e,f,k;
float p;
printf(” \n退出请输入:0 \n”);
printf(“成绩排序方式选择: 1.按C语言 2.按英语 3.按平均 \n “);
scanf(“%d”,k);
if(k==1) /*用选择法对C语言排序*/
{
for(i=0; in; i++)
for(j=0;jn-1;j++)
{
if(students[i].englishstudents[j+1].english)
{
temp=students[i];
students[i]=students[j+1];
students[j+1]=temp;
}
}
}
else if(k==2)/*英语用冒泡法*/
{
for(a=0; an-1; a++)
{
c=a;
//未完待续
求c语言代码,输入某班学生某门课的成绩,用函数编程排序所有成绩,统计不及格个数?
#includestdio.h
int main()
{ int i,j,t,a[100],n,bjg=0;
scanf(“%d”,n);
for(i=0; in; i++)
{ scanf(“%d”,a[i]);
if(a[i]60)bjg++;
}
for(i=0; in-1; i++)
{ for(j=0; jn-1-i; j++)
if(a[j]a[j+1])
{ t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
printf(“不及格人数:%d\n”,bjg);
for(i=0; in; i++)
printf(“%d “,a[i]);
printf(“\n”);
return 0;
}
c语言学生成绩管理系统1000行源代码
/*首次使用,新建score.in文件,在里面打入0
可用程序
#includestdio.h
FILE *fin
main()
{
fin=fopen(“score.in”,”r”);
fprintf(fin,”0″);
return 0;
}
完成
*/
#includestdio.h
#includestdlib.h
#includeconio.h
#includewindows.h
#includetime.h
#define n 999
FILE *fin;
main()
{
int a[n]={0},ori=0,i=0,b=0,add[n]={0},con=0,orix[n]={0},t=0,te[n]={0},TRUEt,ixi,fx,abc=0,sum,TURE,xx;
long long f[n]={0},tex[n]={0};
printf(“\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t\t\t学生成绩管理系统\n\t\t\t\t\t\t Please wait…”);
Sleep(2000);system(“cls”);
int xp,xi;
fin=fopen(“score.in”,”r+”);
fscanf(fin,”%d”,xp);
i=xp;
for(xi=1;xi=xp;xi++)
{fscanf(fin,”%d%d%d”,f[xi],a[xi],te[xi]);te[xi]–;
printf(“Id:%lld score:%d ranking:%d\n”,f[xi],a[xi],te[xi]+1);
add[xi]=xi;orix[xi]=a[xi];
}
fclose(fin);
int TRUE1;
pe:
while(1)
{ TRUE1=1;i++;
printf(“Id(输入-1:删除,输入-2:修改成绩,输入-3:删除所有内容,输入-4:保存到score.in并退出):”);
scanf(“%lld”,f[i]);
for(sum=1;sumi;sum++)
if(f[sum]==f[i])
{system(“cls”);for(con=1;con=i;con++) {if(a[con]==0)continue;printf(“Id:%lld score:%d ranking:%d\n”,f[con],a[con],te[con]+1);}TRUE1=0;i–;printf(“Error with two same id.\n”);continue;}
if(TRUE1==0)
continue;
if(f[i]==-3)
{int r;
for(r=0;rn;r++)
{
a[r]=0;ori=0;i=0;b=0;add[r]=0;con=0;orix[r]=0;t=0;te[r]=0;abc=0;
f[r]=0;tex[r]=0;
}
system(“cls”);
goto pe;
}
if(f[i]==-2)
{TURE=0;i–;
system(“cls”);
for(con=1;con=i;con++)
{if(a[con]==0)continue; printf(“Id:%lld score:%d ranking:%d\n”,f[con],a[con],te[con]+1);}
printf(“修改学号_____________号的分数.\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b”,f[con],a[con],te[con]+1);
scanf(“%d”,xx);
for(sum=1;sum=i;sum++)
if(f[sum]==xx)
{
TURE=1;
printf(“\n修改为___________.\b\b\b\b\b\b\b\b\b\b\b\b”);
scanf(“%d”,a[sum]);
printf(“\n修改成功!将在下一次输入后更新名次。\n\n”);
continue;
}
if(TURE==0)
printf(“No id is %d\n”,xx);
continue;
}
if(f[i]==-4)
{
i–;
fin=fopen(“score.in”,”r+”);
fprintf(fin,”%d\n”,i);
for(xi=1;xi=i;xi++)fprintf(fin,”%d %d %d\n”,f[xi],a[xi],te[xi]+1);
for(xi=i+1;xi=xp;xi++)fprintf(fin,” \n”);
fclose(fin);
return 0;
}
if(f[i]==-1)
{TRUEt=0;
system(“cls”);
i–;
for(con=1;con=i;con++){if(a[con]==0)continue;printf(“Id:%lld score:%d ranking:%d\n”,f[con],a[con],te[con]+1);}
printf(“删除学号_____________号.\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b”);
scanf(“%lld”,fx);
for(con=1;con=i;con++)
if(f[con]==fx)
{TRUEt=1;abc++;
f[con]=0;
a[con]=0;
tex[abc]=te[con];
for(ixi=1;ixi=i;ixi++)
if(te[ixi]te[con])
te[ixi]–;
te[con]=0;
break;}
system(“cls”);
for(con=1;con=i;con++){
if(a[con]==0)continue;
printf(“Id:%lld score:%d ranking:%d\n”,f[con],a[con],te[con]+1);}
if(TRUE==0)
printf(“No Id is %lld\n”,fx);
continue;
}
system(“cls”);
for(con=1;coni;con++)
{if(a[con]==0)continue; printf(“Id:%lld score:%d ranking:%d\n”,f[con],a[con],te[con]+1);}
printf(“Id:%lld score:”,f[i]);
scanf(“%d”,ori);system(“cls”);
a[i]=ori;add[i]=i;orix[i]=a[i];
system(“cls”);
for(b=1;b=i;b++)
for(con=i;con=b;con–)
if(orix[con]orix[con-1])
{t=orix[con];orix[con]=orix[con-1];orix[con-1]=t;
t=add[con];add[con]=add[con-1];add[con-1]=t;}
for(con=1;con=i;con++) te[add[con]]=con;
for(con=1;con=abc;con++)
for(ixi=1;ixi=i;ixi++)
if(te[ixi]tex[con])
te[ixi]–;
if(te[i]==te[i-1])te[i]=0;
for(con=1;con=i;con++)
{if(a[con]==0)continue;printf(“Id:%lld score:%d ranking:%d\n”,f[con],a[con],te[con]+1);}
}
return 0;
}
//求采纳
用c语言设计一个程序统计一个班的学生成绩?
#includestdio.h
#includestdlib.h
//定义一个学生结构体数组
struct Student{
int id;
double score;
}Student[100];
//记录实际导入学生个数
int len = 0;
//求最高分
void getmax() {
int maxid = 0;
double maxscore = -1;
for (int i = 0; i len; i++) {
if (Student[i].score maxscore) {
maxscore = Student[i].score;
maxid = Student[i].id;
}
}
printf(“班级最高分为:%.2lf学号是:%d\n”, maxscore, maxid);
}
//求最低分
void getmin() {
int minid = 0;
double minscore = 101;
for (int i = 0; i len; i++) {
if (Student[i].score minscore) {
minscore = Student[i].score;
minid = Student[i].id;
}
}
printf(“班级最低分为:%.2lf学号是:%d\n”, minscore, minid);
}
//求总分
double getsum() {
double sum = 0;
for (int i = 0; i len; i++) {
sum += Student[i].score;
}
return sum;
}
//求平均分
double getave() {
double ave = 0;
return getsum() / len;
}
//导入学生信息
void input() {
int id = 0;
double score = 0;
while (1) {
printf(“请输入学生学号:”);
scanf_s(“%d”, id);
if (id == -1) { break; }
printf(“请输入学生成绩:”);
scanf_s(“%lf”, score);
Student[len].id = id;
Student[len].score = score;
len++;
}
printf(“信息导入完毕!\n”);
}
int main() {
input();
printf(“全班总分为:%.2lf\n”, getsum());
printf(“全班平均分为:%.2lf\n”, getave());
getmax();
getmin();
return 0;
}
注:此代码运行于VS2017,如果在VC6.0中运行,可将scanf_s改成scanf
并且for(int i=0;ilen;i++){xxx}改成int i=0;for(i=0;ilen;i++){xxx}即可正常运行
程序运行测试图如下:
C语言 学生考试成绩统计管理代码
都是一些比较小的错误。看注释
#include stdio.h
#define N 50 //学生人数
#define M 3 //课程门数
void Input(int score[][M + 3], int n) /*这里最后去掉一个分号*/
{
int i, j, sum;
printf(“Input Number and %d score:\n”, M);
for (i = 0; i n; i++)
{
sum = 0;
printf(“%d:”, i + 1);
for (j = 0; j = M; j++)
{
scanf_s(“%d”, score[i][j]);
if (j != 0)
sum += score[i][j];
}
score[i][M + 1] = sum;
score[i][M + 2] = sum / M;
}
}
void Output(int score[][M + 3],int n) /*参数间的逗号要用半角的,不能用全角字符*/
{
int i, j;
printf(“\nNumber \t”);
for (i = 0; i M; i++)
printf(“sub%d\t”, i + 1);
printf(“Total\tAverage\n”);
printf(“—————————————–\n”);
for (i = 0; i n; i++)
{
for (j = 0; j M + 3; j++)
printf(“%d\t”, score[i][j]);
printf(“\n”);
}
}
void Sort(int a[][M + 3],int n) /*参数间的逗号要用半角的,不能用全角字符*/
{
int i, j, k, t;
for (i = 1; i n; i++)
{
for (j = 0; j n – i; j++)
if (a[j][M + 2] a[j + 1][M + 2]) /*前面少一个]*/
{
for (k = 0; k M + 3; k++)
{
t = a[j][k];
a[j][k] = a[j + 1][k];
a[j + 1][k] = t;
}
}
}
}
void main()
{
int score[N][M + 3], n;
printf(“\nHow many students are there in the class?”);
scanf_s(“%d”, n);
Input(score, n);
Output(score, n);
Sort(score, n);
Output(score, n);
}
c语言成绩代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言成绩表代码、c语言成绩代码的信息别忘了在本站进行查找喔。