当前位置:首页 » 编程语言 » c语言怎么输出一个简单的成绩单
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言怎么输出一个简单的成绩单

发布时间: 2022-04-28 23:54:25

Ⅰ 用c语言编程实现一个简单的学生成绩管理系统

//姓名,学号,英语,语文,数学三种成绩
#include <stdio.h>
#include <stdlib.h>
#define maxnumber 30
int student_number;
int count1=0,count2=0,Operate1=3;
FILE *stream;
typedef struct stu{
int idnumber;
char name[20];
double English_score;
double chinese_score;
double math_score;
}Student;
//按学号排序


void putout_one(Student *sp)
{
for( int j=0;j<10;j++)
printf("******");
printf(" ");
printf("%d%s%.1f%.1f%.1f ",(*sp).idnumber,(*sp).name,(*sp).English_score,(*sp).chinese_score,(*sp).math_score);
for( j=0;j<10;j++)
printf("******");
printf(" ");
}

void putout_lot(Student *student)
{
for(int i=0;i<=Operate1;i++)
{
for(int j=0;j<10;j++)
printf("******");
printf(" ");

printf("%d%s%.1f%.1f%.1f ",student[i].idnumber,student[i].name,student[i].English_score,student[i].chinese_score,student[i].math_score);
}
for( int j=0;j<10;j++)
printf("******");
printf(" ");
}

void input_student(Student *S)//输入插入学生的信息
{
//printf("请输入第%d位学生(学号,名字,语文,英语,数学) ",i+1);
scanf("%d",&(*S).idnumber);
scanf("%s",&(*S).name);
scanf("%lf%lf%lf",&(*S).chinese_score,&(*S).English_score,&(*S).math_score);
}
void id_find_in(Student *S,Student *q)//把新的学生信息加入表单
{
Student *p=S,*t;
while(count1<Operate1+1)
{
t=p;
p++;
count1++;
}
*t=*q;
count1=0;
Operate1++;
}

void insert_element(Student *S)//插入学生信息
{
printf("请输入1位学生(学号,名字,语文,英语,数学) ");
Student *temp=(Student *)malloc(sizeof(Student)),*q=S;
input_student(temp);
id_find_in(S,temp);
}

void delet_element(Student *S,int id_n)
{
Student *p=S,*t;
while(count1<Operate1)
{
if((*p).idnumber==id_n)
{
t=p;
printf("已删除%d号学生信息 ",(*p).idnumber);
while(count2<Operate1-count1-1)
{
*(t-1)=*(++t);
count2++;
}
break;
}
count1++;
p++;
}
count1=0;
count2=0;
Operate1--;
}

int junge(char*a,char*b)
{
char *p=a,*q=b;
while(*p!='')
{
if(*p==*q)
{
p++;
q++;

continue;
}
else
break;
}
if(*p==''&&*q=='')
return 1;
else
return 0;
}

void show_stu_element(Student*S,char*sp)//显示某人信息(功能已实现)
{
Student *p=S;
while(count1<Operate1)
{
if(junge((*p).name,sp))
{
printf("已找到此人:%s ",(*p).name);
putout_one(p);
p=S;
break;
}
else
{
p++;
count1++;
continue;
}
}
if(p!=S)
printf("查无此人! ");
count1=0;
}
void id_sort(Student *S)
{
Student *temp=(Student*)malloc(sizeof(Student)),*q=S,*t;
int num=Operate1;
while(count1<Operate1)
{
t=q+1;
while(count2<num)
{
if( (*q).idnumber> (*t).idnumber)
{
*temp=*q;
*q=*t;
*(t)=*temp;
//printf("%d ",(*t).idnumber);
}

count2++;
t++;

//t=t+sizeof(Student);//这样无法实现why?

}
num--;
q++;
count2=0;
count1++;

//q=q+sizeof(Student);
}
count1=0;
count2=0;
}

void count_passnumber(Student *S)
{
Student *p=S;
int e_p_number=0,m_p_number=0,c_p_number=0,num=0;
while(num<=Operate1)
{
if(p->English_score>=60)
e_p_number++;
if(p->math_score>=60)
m_p_number++;
if(p->chinese_score>=60)
c_p_number++;
num++;
p++;
}
printf("/***学生总人数=:%d ",Operate1);
printf("/***英语过关人数=%d数学过关人数=%d语文过关人数=%d ",e_p_number,m_p_number,c_p_number);
printf("/***英语挂科人数=%d数学挂科人数=%d语文挂科人数=%d ",Operate1+1-e_p_number,Operate1+1-m_p_number,Operate1+1-c_p_number);//因为数组下标是从0开始的
}

void main()
{
Student student[maxnumber];
stream=freopen("in.txt","r",stdin);
int Operate=3;int i;int id_n;
char student_element[20];
for(i=0;i<Operate1;i++)
{
printf("请输入第%d位学生(学号,名字,语文,英语,数学) ",i+1);
scanf("%d",&student[i].idnumber);
scanf("%s",&student[i].name);
scanf("%lf%lf%lf",&student[i].chinese_score,&student[i].English_score,&student[i].math_score);
}
//fclose(stream);
for( i=0;Operate!=0;i++)
{
printf("输入:0.退出。1.输入学生信息2.按姓名查找并删除学生信息 3.按学号排序4.查找显示一位学生信息 5.显示统计记录(成员数、每科平均分)6.输出每科及格人数和不及格人数7(default).操作完成,等待用户输入: ");
scanf("%d",&Operate);
switch(Operate)
{
case 1:insert_element(student);break;
case 2:scanf("%d",&id_n); delet_element(student,id_n);break;
case 3:id_sort(student);break;
case 4:scanf("%s",student_element); show_stu_element(student,student_element);break;
case 5:putout_lot(student);break;
case 6:count_passnumber(student);break;
default:printf("请输入: ");continue;
}
if(Operate==0)
break;
}
}

Ⅱ c语言如何编写一个输出学生成绩等级的程序

一、首先打开VC++

Ⅲ 用c语言实现一个简单的学生成绩管理系统,包括:学号,姓名,科目,成绩

//用字符界面实现,比如按数字1,可以录入学生所有信息;
//按数字2,显示所有学生成绩;
//按数字3,进入查询,按学号或姓名查询该学生是否存在,如果存在显示他的所有信息,///否则给出不存在提示。
#include<stdio.h>
structstudent
{
charnum[6];/*学号*/
charname[10];
charsubject[20];/*科目*/
floatgrade;
}stu[10];
voidmenu()
{
printf("==================================== ");
printf("|学生成绩管理系统| ");
printf("|1输入学生成绩| ");
printf("|2输出学生成绩| ");
printf("|3查询学生成绩| ");
printf("|0退出管理系统| ");
printf("==================================== ");
}
voidinput()
{
for(inti=0;i<10;i++)
scanf("%s%s%s%f",stu[i].num,stu[i].name,stu[i].subject,&stu[i].grade);
}
voidshow()
{
printf("学号 姓名 科目 成绩 ");
for(inti=0;i<10;i++)
printf("%s %s %s %f ",stu[i].num,stu[i].name,stu[i].subject,stu[i].grade);
}
voidserach()
{
charobj[10];
printf("输入要查询的学号");
scanf("%s",obj);
for(inti=0;i<10;i++)
{
if(strcmp(obj,stu[i].num))
{
printf("学号 姓名 科目 成绩 ");
printf("%s %s %s %f ",stu[i].num,stu[i].name,stu[i].subject,stu[i].grade);
}
}
}
intmain()
{
intselection;
while(true)
{
clrscr();
menu();
printf("请选择0--3:");
scanf("%d",&selection);
switch(selection)
{
case1:input();break;
case2:show();break;
case3:search();break;
case0:exit(0);break;
default:printf("错误的输入,请重新输入:");
}
}
return0;
}

Ⅳ C语言制作成绩单

#include <stdio.h>struct stud
{
int num;
char name[20];
float score1, score2, score3, aver;
}; int main(void)
{
int high;
int i, j;
struct stud myClass[10], *pStu = myClass;
struct stud temp; printf("Please input students info:Num Name score1 score2 score3\n");
for (i = 0; i < 10; i++)
{
printf("%d:", i + 1);
scanf("%d %s %f %f %f", &myClass[i].num, &myClass[i].name, &myClass[i].score1,
&myClass[i].score2, &myClass[i].score3);
myClass[i].aver = (myClass[i].score1 + myClass[i].score2 + myClass[i].score3) / 3;
} high = 0;
for (i = 0; i < 10; i++)
{
if (myClass[i].aver > myClass[high].aver)
{
high = i;
}
} printf("\nThe Highest is %s(%d)\nscore1=%.2f score2=%.2f score3=%.2f aver=%.2f\n",
myClass[high].name, myClass[high].num,
myClass[high].score1, myClass[high].score2, myClass[high].score3, myClass[high].aver); for (i = 0; i < 9; i++)
{
for (j = i + 1; j < 10; j++)
{
if ((pStu + j)->aver > (pStu + i)->aver)
{
temp = *(pStu + j);
*(pStu + j) = *(pStu + i);
*(pStu + i) = temp;
}
}
} printf("\nResult of sort:\n");
printf("Num Name score1 score2 score3 average\n");
for (i=0; i<10; i++)
{
printf("%-5d %-20s %-8.2f %-8.2f %-8.2f %-.2f\n", (pStu+i)->num, (pStu+i)->name,
(pStu+i)->score1, (pStu+i)->score2, (pStu+i)->score3, (pStu+i)->aver);
}
return 0;
}

Ⅳ C语言如何在多位学生成绩中任意输出某一位成绩

一、多个或多组同类数据可用数组或链表。
比如这里一个学生的信息如只有成绩,那么定义一个数组即可记录多名学生成绩。
但一个学生有多个信息(如:学号,成绩,班级)这样就需要定义结构体,一个结构变量表示一个学生,结构数组或结构链表表示多个学生。(当然你也可以定义多个数组分别表示每个属性,然后用下标对应,但这样不如结构方便)。
二、学生人数不确定的话(任意多个,且数值可能很大),数组需要用malloc申请动态数组或者用链表。
三、输出任意一个学生,首先要写查询函数,遍历数组或链表,找到你要的那个学生数组元素或链表节点,再输出打印。

Ⅵ C语言:学生成绩单制作

// rtr.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"

//1. 定义一个数组,用以存放学生的成绩。
#include <stdio.h>
void main()
{
int mark[1000];
int i,j=0,n,k,b,c,a,temp,min,l=0;
printf("请输入学生的人数:");
scanf("%d",&n);
/*printf("你想输入学生的哪科成绩:\n1:语文:数学\n");
scanf("%d",&a);*/
/*if (a==1)
{
printf("\n语文\n");
}
else*/
printf("\n数学成绩\n");
//2. 从键盘输入n个学生成绩两门成绩,并输出。
printf("请输入这%d个人的分数:",n);
for (i=0;i<n;i++)
{
scanf("%d",&mark[i]);
printf("mark[%d]=%d\n",i,mark[i]);
}
//3. 采用冒泡法/选择法,将学生平均成绩按照从高到低进行排序并输出。
printf("排序后的分数:");
for (i=0;i<n;i++)
{
for (j=n-1;j>i;j--)
{
if(mark[j-1]<mark[j])
{
temp=mark[j-1];
mark[j-1]=mark[j];
mark[j]=temp;
}

}
printf("%d ",mark[i]);
}

//4. 再输入一个学生的两门成绩,将此成绩按照排序规律插入原学生成绩数组并输出。
printf("\n请输入要插入的分数:");
scanf("%d",&b);

for (k=0;k<n;k++)
{
if (b>mark[k])
break;
}
for (i=n-1;i>=k;i--)
{
mark[i+1]=mark[i];
}
mark[k]=b;
printf("\n排序后的数组是:");
for (i=0;i<n+1;i++)
{
printf("%d ",mark[i]);
}
printf("\n反序存放从低到高:\n");
//5. 将排好序的成绩单进行反序存放,即原来是从高到低,现在改为从低到高排列,并输出。
for (i=0;i<n+1;i++)
{
for (j=n;j>i;j--)
{
if(mark[j]<mark[j-1])
{
temp=mark[j];
mark[j]=mark[j-1];
mark[j-1]=temp;
}

}
printf("%d ",mark[i]);
}

//6. 删除刚插入的学生的成绩并保持依然有序,并输出

printf("\n删除插入的分数后,排序的数组是:");
//for (k=0;k<n+1;k++)
//{
// if(b==mark[k])
// break;
//}
for (k=0;k<n+1;k++)
{
if (b<mark[k])
break;
}
for (i=k;i<=n;i++)
{
mark[i-1]=mark[i];
}
for (i=0;i<n;i++)
{
printf("%d ",mark[i]);
}
printf("\n达到分的的人数为:");
//7. 统计两门均达分的人数,统计单科达分的每门的人数

for(i=0;i<n;i++)
{
if(mark[i]>=60)
{
l++;
}

}printf("%d\n",l);
//8. 在项目报告中画出程序流程图,说明程序设计的算法,附主要程序段。
//9. 在项目报告中说明程序设计过程中的难点、解决办法及编程小结或体会。
}

Ⅶ 如何用C语言输出考试成绩的优秀,良好,及格,不及格

#include <stdio.h>void main(){int score;scanf("%d",&score);//输入成绩if(score>=90) printf("优秀");else if(score>=70&&score<90) printf("良好");else if(score>=60&&score<70) printf("及格");else if(score<60) printf("不及格!");}

Ⅷ 假设收集到了一个班学生的所有成绩信息(不低于20人),要求用C语言编写一个简单的成绩

#include"stdio.h"/*I/O函数*/#include"string.h"/*字符串函数*/#include"stdlib.h"#defineN100/*定义常数*/typedefstructstudent{intorder;charnum[11];charname[10];charsex[3];intscore[3];floatavr;}STU;voidfin();/*成绩录入模块*/voidtjmenu();/*成绩统计模块*/voidsortmenu();/*排序模块*/voidsearchmenu();/*查找模块*/voidfout();/*输出学生信息并保存到文件*/STUs[N];intn;main(){inti=1;char*menu[]={"***************MENU***************","1.学生信息录入","2.成绩统计","3.排序","4.查询","5.学生信息输出","0.退出","***************MENU***************"};while(i){system("CLS");for(i=0;i<8;i++){printf("");printf("%s\n",menu);}scanf("%d",&i);switch(i){case1:fin();fout();break;case2:tjmenu();break;case3:sortmenu();break;case4:searchmenu();break;case5:fout();break;case0:exit(0);}}}voidfin()/*成绩录入模块*/{}voidtjmenu()/*成绩统计模块*/{}voidsortmenu()/*排序模块*/{}voidsearchmenu()/*查找模块*/{}voidfout()/*输出学生信息并保存到文件*/{}

Ⅸ C语言怎么输出一个成绩表

#include<stdio.h>

intmain()
{
floatscore[2][2]={0};

for(inti=0;i<2;i++)
{
for(intj=0;j<2;j++)
{
scanf("%f",&score[i][j]);
}
}

printf("---------------------- ");
printf("序号语文数学总成绩 ");
printf("---------------------- ");
for(inti=0;i<2;i++)
{
printf("%-4d%-6.1f%-6.1f%6.1f ",i+1,score[i][0],score[i][1],score[i][0]+score[i][1]);
}

return0;
}

//测试输出:
//80.0
//90.5
//90.5
//70.5
//----------------------
//序号语文数学总成绩
//----------------------
//180.090.5170.5
//290.570.5161.0

Ⅹ C语言打印学生成绩单

#include<stdio.h>
intmain()
{
char*project[]={"语文","数学","英语"};
char*name[]={"张三","李四","王五"};
intpoint[3][3]={{89,78,66},{77,77,77},{99,99,99}};
inti,j;
printf(" ");
for(i=0;i<3;i++)
printf("%s ",project[i]);
for(i=0;i<3;i++)
{
printf(" %s ",name[i]);
for(j=0;j<3;j++)
printf("%d ",point[i][j]);
}
printf(" ");
return0;
}