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

c语言编写非法成绩

发布时间: 2023-03-24 00:36:49

c语言:输入学生成绩,输入非法成绩时退出,求平均分。 求问如下:倒数第二行scanf("%f",&sc); 的意义

scanf("%f",&sc);//输入第一个成绩
while(sc>0&&sc<=150)
{s+=sc;
i++;
scanf("%f",&sc);//输唤山团入下一个成绩,这个执行后会跳到while,于唯余是判断是否非法,如果非法则退出while,否和橘则继续循环。
}

㈡ 用c语言编写程序: 学生的成绩管理功能

晕 你给的分太少了 这个可以作为毕业设计的题目了

㈢ 在C语言编程中,给出一个百分制成绩,要求输出成绩等级

#include <stdio.h>

int main()

{

int score, m;

scanf("%d", &score);

while (score < 0 || score > 100){

printf("Error! Retry! ");

scanf("%d", &score);

}

m= score / 10;

if (m>= 9)

printf("Grade is A! ");

switch(m){

case 0: printf("Grade is E! "); break;

case 1: printf("Grade is E! "); break;

case 2:printf("Grade is E! "); break;

case 3:printf("Grade is E! "); break;

case 4:printf("Grade is E! "); break;

case 5: printf("Grade is E! "); break;

case 6: printf("Grade is D! "); break;

case 7: printf("Grade is C! "); break;

case 8: printf("Grade is B! "); break;

}

return 0;

}

(3)c语言编写非法成绩扩展阅读

其他实现输出成绩等级‘A'、’B‘、'C'、‘D'、'E’。90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分一下为E的方法:

#include <stdio.h>

int main()

{

int score;

scanf("%d", &score);

while (score < 0 || score >100){

printf("Error! Retry! ");

scanf("%d", &score);

}

if (score < 60)

printf("Grade is E! ");

else if (score >= 60 && score < 70)

printf("Grade is D! ");

else if (score >= 70 && score < 80)

printf("Grade is C! ");

else if (score >=80 && score < 90)

printf("Grade is B! ");

else

printf("Grade is A! ");

return 0;

}

㈣ c语言编写学生成绩处理

//给你个示例,仅供参考
#include<stdio.h>
#include<stdlib.h>

#defineNO_LEN11
#defineNAME_LEN9
#defineSTUDENT_NUM5
#defineTOP_THREE3

typedefstructstudent
{
charno[NO_LEN];
charname[NAME_LEN];
floata;
floatb;
floatc;
floatavg;
}ST;//st[STUDENT_NUM];

intget_student_info(ST*st,intlen);
voiddisplay(constST*st,intlen);
voidcalculate_average(ST*st,intlen);
voidsort(ST*st,intlen);


intmain(intargc,char*argv[])
{
STst[STUDENT_NUM];

get_student_info(st,STUDENT_NUM);
calculate_average(st,STUDENT_NUM);
sort(st,STUDENT_NUM);

display(st,STUDENT_NUM);
display(st,TOP_THREE);


return0;
}

/*从键盘输入STUDENT_NUM个学生的信息*/
intget_student_info(ST*st,intlen)
{
inti=0,ret=0;
if(0==st||0>=len||STUDENT_NUM<len)
{
printf("parametererror ");
returnret=1;
}

for(;i<len;++i)
{
printf("输入第%d个学号、姓名、三门课成绩:",i+1);
scanf("%10s%8s%f%f%f",st[i].no,st[i].name,&st[i].a,&st[i].b,&st[i].c);
}

returnret;
}

/*显示前len个学生的信息*/
voiddisplay(constST*st,intlen)
{
inti=0;
if(0==st||0>=len||STUDENT_NUM<len)
{
printf("parametererror ");
return;
}

printf("================================== ");
for(;i<len;++i)
{
printf("%s%s%.1f%.1f%.1f%.1f ",
st[i].no,st[i].name,st[i].a,st[i].b,st[i].c,st[i].avg);
}
}

/*计算每个学生的平均成绩*/
voidcalculate_average(ST*st,intlen)
{
inti=0;
if(0==st||0>=len||STUDENT_NUM<len)
{
printf("parametererror ");
return;
}

for(;i!=len;++i)
{
st[i].avg=(st[i].a+st[i].b+st[i].c)/3.0;
}
}

/*冒泡排序降序排列*/
voidsort(ST*st,intlen)
{
inti=0,j=0;
STtmp;
if(0==st||0>=len||STUDENT_NUM<len)
{
printf("parametererror ");
return;
}
for(;i<len-1;++i)
{
for(j=0;j<len-1-i;++j)
{
if(st[j].avg<st[j+1].avg)
{
tmp=st[j];
st[j]=st[j+1];
st[j+1]=tmp;
}
}
}
}

㈤ 用C语言编一个成绩记录簿

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#defineMAX1000

typedefstructLesson//定义课程结构体
{
intLesson_Num;
charLesson_Name[50];
intLesson_Mark;
intLesson_Credit;
}Lesson;

typedefstructStudent//定义学生的结构体
{
charName[50];
intNum;
intLesson_Count;
LessonL[20];
}Student;

StudentS[MAX];
staticintStudent_Count=0;//记录学生数的变量

voidPrintInterface();//打印界面
intAddStudent();//添加,带返回值,提示操作成功
intDelStudent();//删除,带返回值,提示操作成功
voidCheckStudent();//查学生成绩
voidCheckClass();//查班成绩表
voidWriteFile();//写入文本文件
voidReadFile();//读取文本文件

voidmain()
{
intChoice;
while(1)
{
PrintInterface();
scanf("%d%*c",&Choice);//"%*c"是吸收回车的,因为后面会输入字母类型
if(Choice>=0&&Choice<=6)//选择操作合法
{
switch(Choice)
{
case0:exit(1);
case1:
{
system("cls");
if(AddStudent())printf(" 添加成功...回车继续 ");
elseprintf(" 添加失败...回车继续 ");
getchar();
getchar();
system("cls");
break;
}
case2:
{
system("cls");
if(DelStudent())printf(" 删除成功...回车继续 ");
elseprintf(" 删除失败...回车继续 ");
getchar();
getchar();
system("cls");
break;
}
case3:
{
system("cls");
CheckStudent();
system("cls");
break;
}
case4:
{
system("cls");
CheckClass();
system("cls");
break;
}
case5:WriteFile();system("cls");break;
case6:ReadFile();system("cls");break;
default:;
}
}
else
{
printf("无此功能..重新选择..回车确定 ");//选择操作非法
getchar();
system("cls");//清屏函数
}
}
}

voidPrintInterface()
{
printf(" -------------------------- ");
printf(" |1、添加| ");
printf(" || ");
printf(" |2、删除| ");
printf(" || ");
printf(" |3、查学生成绩| ");
printf(" || ");
printf(" |4、查班成绩表| ");
printf(" || ");
printf(" |5、写入文本文件| ");
printf(" || ");
printf(" |6、读取文本文件| ");
printf(" || ");
printf(" |0、退出| ");
printf(" -------------------------- ");
printf(" 选择操作:");
}

intAddStudent()
{
intS_count,i,j;
printf(" 添加中...... ");
printf(" 添加学生人数(如1、2……999):");
scanf("%d",&S_count);
if(Student_Count+S_count>=MAX)return0;//超过了数组上限
for(i=Student_Count;i<Student_Count+S_count;i++)
{
printf(" 第%d个学生: ",i-Student_Count+1);
printf(" 学生学号:");scanf("%d%*c",&S[i].Num);
printf(" 学生姓名:");gets(S[i].Name);
printf(" 该学生所修课程数:");scanf("%d",&S[i].Lesson_Count);
for(j=0;j<S[i].Lesson_Count;j++)
{
printf(" 第%d门课: ",j+1);
printf(" 课程编号:");scanf("%d%*c",&S[i].L[j].Lesson_Num);
printf(" 课程名称:");gets(S[i].L[j].Lesson_Name);
printf(" 课程成绩:");scanf("%d",&S[i].L[j].Lesson_Mark);
printf(" 课程学分:");scanf("%d",&S[i].L[j].Lesson_Credit);
if(S[i].L[j].Lesson_Mark<60)S[i].L[j].Lesson_Credit=0;//不及格的课程学分为0
}
}
Student_Count+=S_count;
return1;
}

intDelStudent()
{
char*D_Name;
intD_Num;
inti,j;
printf(" 填写待删除学生的信息: ");
printf(" 学生姓名:");gets(D_Name);
printf(" 学生学号:");scanf("%d",&D_Num);
for(i=0;i<Student_Count;i++)
{
if(!strcmp(S[i].Name,D_Name)&&S[i].Num==D_Num)
{
printf(" 找到该学生,删除中...... ");
for(j=i+1;j<Student_Count;j++)
{
S[j-1]=S[j];
}
break;
}
}
if(i==Student_Count)
{
printf(" 未找到该学生...请核对所填信息 ");
return0;
}
else
{
Student_Count--;
return1;
}
}

voidCheckStudent()
{
intC_Choice;
charC_Name[50];
intC_Num;
inti,j;
printf(" 输入所查学生信息(1.姓名\2.学号)选择:");
scanf("%d%*c",&C_Choice);
printf(" 查找中...... ");
if(C_Choice==1||C_Choice==2)//选择合法
{
if(C_Choice==1)
{
printf(" 姓名:");gets(C_Name);
for(i=0;i<Student_Count;i++)//全部穷举,防止同名同姓
{
if(!strcmp(S[i].Name,C_Name))
{
printf(" 学号:%d 姓名:%s ",S[i].Num,S[i].Name);
printf(" 课程编号 课程名称 课程成绩 课程学分 ");
printf("----------------------------------------------------- ");
for(j=0;j<S[i].Lesson_Count;j++)
{
printf("%d %s %d %d ",S[i].L[j].Lesson_Num,
S[i].L[j].Lesson_Name,S[i].L[j].Lesson_Mark,
S[i].L[j].Lesson_Credit);
printf("----------------------------------------------------- ");
}
printf(" ");
}
}
}
else
{
printf(" 学号:");scanf("%d%*c",&C_Num);
for(i=0;i<Student_Count;i++)//不用全部穷举,学号唯一
{
if(S[i].Num==C_Num)
{
printf(" 学号:%d 姓名:%s ",S[i].Num,S[i].Name);
printf(" 课程编号 课程名称 课程成绩 课程学分 ");
printf("----------------------------------------------------- ");
for(j=0;j<S[i].Lesson_Count;j++)
{
printf("%d %s %d %d ",S[i].L[j].Lesson_Num,
S[i].L[j].Lesson_Name,S[i].L[j].Lesson_Mark,
S[i].L[j].Lesson_Credit);
printf("----------------------------------------------------- ");
}
printf(" ");
break;
}
}
}
printf("查找完毕...回车继续 ");
getchar();
}
else//选择不合法
{
printf("选择错误...回车继续 ");
getchar();
return;
}
}

voidCheckClass()
{
intC_LNum;
doubleSSNum=0,PassSNum=0,SMark=0;
inti,j;
printf(" 请输入课程编号:");
scanf("%d%*c",&C_LNum);
printf(" 查找中...... ");
printf("学号 姓名 课程名称 课程成绩 课程学分 ");
printf("---------------------------------------------------- ");
for(i=0;i<Student_Count;i++)
{
for(j=0;j<S[i].Lesson_Count;j++)
{
if(S[i].L[j].Lesson_Num==C_LNum)
{
printf("%d %s %s %d %d ",S[i].Num,S[i].Name,S[i].L[j].Lesson_Name,
S[i].L[j].Lesson_Mark,S[i].L[j].Lesson_Credit);
printf("---------------------------------------------------- ");
SMark+=S[i].L[j].Lesson_Mark;
SSNum++;
if(S[i].L[j].Lesson_Mark>=60)PassSNum++;
break;
}
}
}
printf(" 平均分:%.2lf 及格率:%.2lf%% ",SMark/SSNum,PassSNum/SSNum*100);
printf(" 查找完毕...回车继续 ");
getchar();
}

voidWriteFile()
{
FILE*fp;
inti,j;
charAdr[100];
printf(" 请输入写入的文件地址: 地址输入格式:例如d:\\Student.txt(\\为转义字符):");
scanf("%s%*c",Adr);
printf(" 写入中...... ");
if(fp=fopen(Adr,"w"))//写入文件
{
fprintf(fp,"%d ",Student_Count);
for(i=0;i<Student_Count;i++)
{
fprintf(fp,"%d %s %d ",S[i].Num,S[i].Name,S[i].Lesson_Count);
for(j=0;j<S[i].Lesson_Count;j++)
{
fprintf(fp,"%d %s %d %d ",S[i].L[j].Lesson_Num,
S[i].L[j].Lesson_Name,S[i].L[j].Lesson_Mark,
S[i].L[j].Lesson_Credit);
}
}
printf(" 写入完成...回车继续 ");
fclose(fp);
}
else
{
printf(" 写入失败...回车继续 ");
}
getchar();
}
voidReadFile()
{
FILE*fp;
inti,j;
charAdr[100];
printf(" 请输入读取(为防止读入错误,希望与写入文件内容格式一致)的文件地址: 地址输入格式:例如d:\\Student.txt(\\为转义字符):");
scanf("%s%*c",Adr);
printf(" 读取中...... ");
if(fp=fopen(Adr,"r"))
{
fscanf(fp,"%d",&Student_Count);
for(i=0;i<Student_Count;i++)
{
fscanf(fp,"%d%s%d",&S[i].Num,&S[i].Name,&S[i].Lesson_Count);
for(j=0;j<S[i].Lesson_Count;j++)
{
fscanf(fp,"%d%s%d%d",&S[i].L[j].Lesson_Num,
&S[i].L[j].Lesson_Name,&S[i].L[j].Lesson_Mark,
&S[i].L[j].Lesson_Credit);
}
}
printf(" 读取成功...回车继续 ");
fclose(fp);
}
else
{
printf(" 读取失败...回车继续 ");
}
getchar();
}

㈥ C语言统计分数,分别计算及格人数和不及格人数,输入非法分数时退出

#include<stdio.h>
void main()
{
int score=0,i=0,j=0;//score记录分数,i记录及格人数,j记录不及格人数
printf("输入成绩(0-100),输入-1时退出:\n");
while(1)
{
scanf("%d",&score);
if(score==-1)//输入-1,退出系统
{
printf("输入结束,退出系统\n");
return;
}
else if(score>100||score<0)//输入非法分数,巧拦退出
{
printf("录入数据错误,退出系统\n");
return;
}
if(score>=60){i++;printf("及格人数为:%d,不及格人数为%d\n",i,j);}//输入数据正常,分数在60-100,及格人数加一,并输出
else if(score<60){j++;printf("及格人数为:%d,不及格人数为%d\n",i,j);}//输入数据正常,分数在0-59,不及格人数加一,并输出
}
}

运行结果:
======================================
输入成绩(0-100),输入-1时退出:
85
及格人数为:1,不及格人数为0
75
及格人数为:2,不及伍锋格人数为0
49
及格人数为:2,不及格人数为孝橘胡1
89
及格人数为:3,不及格人数为1
56
及格人数为:3,不及格人数为2
72
及格人数为:4,不及格人数为2
-1
输入结束,退出系统
Press any key to continue
======================================

㈦ C语言编写学生成绩管理系统的不及格成绩的查询

使用链表,定义结构体,结构体变量如下:姓名、学号、成绩1,2,3,总分,平均分。
功能1、查询链表即可,以姓名、学号遍历链表,打印成绩。1.1遍历链禅兆表,添加条件查找不及格的学生并打印。
功能2、即链表中模亏的添加元素即可。
功能3、创建另一个TEMP链表,对当前链表中的数据进行排序,从小到大依次将数据添加到新的链表中,打印即可。
功能4、同理,旦袭神添加限制条件打印即可

㈧ 用c语言编写输入一学生成绩,和相应优秀,良好,不及格信息

#include<stdio.h>
#include<stdlib.h>
#include"windows.h"

intmain(intargc,char*argv[])
{
intcj;
do{
system("cls");
printf("请输入成绩:");
scanf("%d",&cj);
if(cj>0&&cj<101)
{
if(cj>=90&&cj<=100)
printf(" 优秀 ");
elseif(cj>=70&&cj<=89)
printf(" 良好 ");
elseif(cj>=60&&cj<=69)
printf(" 及格 ");
elseif(cj>=0&&cj<=59)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);
printf(" 不及格 ");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE|FOREGROUND_GREEN);
}
}
else
{
printf(" error ");
}
printf(" 如果要继续请按y ");
fflush(stdin);
cj=_getch();
}
while(cj=='y');
return0;
}

㈨ C语言 输出不及格学生的成绩

#include<stdio.h>
int main()
{
int i,b=0,j=0,l=0,y=0,a[10];
printf("请输入10个学生仔明颂的成绩\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
{
if(a[i]<60)
{
b++;
}
else if(a[i]<70)
{
j++;
}
else if(a[i]<80)
{
l++;
}
else if(a[i]<=100)
{
y++;
}
}
printf("优秀%d\念郑n",y);
printf("良好%d\n",l);
printf("槐友及格%d\n",j);
printf("不及格%d\n",b);
return 0;
}

㈩ 如何用C语言编程出“给出一个百分制成绩,要求输出成绩等级”

因为你的score是char类型,char单字符的话,只能读一个字符。比如你输入80,其实读入的是8,所以读入的数字一定小于10,自然就是E了

不信的话可以看下如下代码的结果

代码之路还很长,楼主加油~~

至于怎么改,改成int输入即可。