C语言编程--输入5个学生成绩 判断是否及格

C语言编程--输入5个学生成绩 判断是否及格,第1张

#include "stdioh"

int main()

{

int score;

printf("请输入一个成绩:");

scanf("%d",&score);

if(score>60 && score<=100)

printf("成绩合格\n");

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

printf("成绩不合格\n");

else

printf("输入的成绩有误\n");

}

例如:

#include<stdioh>

int main()

{

int a[5];

int i, index = 0;

printf("请输入五个学生的成绩, 用空格隔开:\n");

for(i = 0; i < 5; ++i)

{

zhiscanf("%d", &a[i]);

}

index = 0;

for (i = 0; i < 5; ++i)

{

if (a[index] < a[i])

{

index = i;

}

}

printf("最高分:%d\n", a[index]);

printf("不及格分数:\n");

for(i = 0; i <5; ++i)

{

if (a[i] < 60)

{

printf("%d\n", a[i]);

}

}

}

扩展资料:

C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。

C语言是一种结构化的语言,提供的控制语句具有结构化特征,如for语句、if⋯else语句和switch语句等。可以用于实现函数的逻辑控制,方便面向过程的程序设计。

参考资料来源:百度百科-c语言

#include<stdioh>

int main()

{

int nscore = 0;

scanf("%d",&nscore);

if ( nscore > 90 )

{

printf("成绩优!\n");

}

else if ( nscore > 80 )

{

printf("成绩良!\n");

}

else if ( nscore > 60 )

{

printf("成绩及格!\n");

}

else

{

printf("成绩不及格!\n");

}

return 0;

}

一、首先打开VC++

二、文件》》新建

三、创建一个C++空白文档头文件是必须声明的# include <stdioh>

四、说下主体思想我们定义一个求每门课平均成绩的函数AverageCourse它的形参一个是二维数组,用来传递学生成绩;一个是指针变量(数组名),存放每门课的平均成绩:

void AverageCourse(float score[][4],float avg)

{

int i,j;

float sum;

for(i=0;i<4;i++)

{

sum=0;

for(j=0;j<4;j++)

sum+=score[j][i];

avg[i]=sum/4;

}

}

五、之后我们定义一个求总平均成绩的函数AverageAll

它的形参一个是指针变量(数组名),传递一个首地址

n是要计算的成绩个数

float AverageAll(float score, int n)

{

int i=0;

float sum = 0;

while(i<n)

{

sum+=score[i];

i++;

}

return sum/n;

}

六、我们还需定义一个查询学生成绩的函数AStudentScore

它的形参一个是指向数组的指针,n是要计算的学生号

void StudentScore(float(score)[4], int n)

{

int i;

for(i=0; i<4; i++)

printf("%42f ", ((score+n)+i));

printf("\n");

}

下面是主函数

int main()

{

int num,i;

//定义一个数组aveCourse来存储每门课的平均成绩,

定义变量aveAll来存储总的平均成绩

float aveAll,aveCourse[4];

float score[4][4] = {{67, 78, 45, 88}, {76, 54, 90, 69},

{99, 45, 88, 99}, {98, 69, 77, 87}};//这是成绩,可以用scanf输入,也可以在这里定义

/ 调用函数AverageAll求16个分数的平均分 /

aveAll=AverageAll(&score[0][0],16);

printf("The average of all courses is:\n  %f\n\n",aveAll);

/ 调用函数AverageCourse求4门客的平均分 /

AverageCourse(score,aveCourse);

for(i=0;i<4;i++)

printf("The average of %dth course is:\n %f\n",i,aveCourse[i]);

/ 求出序号是num的学生的成绩 /

printf("\nPlease input the num of student(0-3):\n");

scanf("%d", &num);

printf("The score of the %dth student is:\n",num);

StudentScore(score,num);

getch();

return 0;

}

七、程序运行结果

c语言:

C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的DMRitchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。

#include<stdioh>

int main()

{

  int i,b;

  printf("输入学生数量:");

  scanf("%d",&b);

  float a[b],sum,max;

  for(i=0;i<b;i++)

   {

     printf("第%d个学生的成绩:",i+1);

     scanf("%f",&a[i]);

   }

  max=a[0];

  for(i=0;i<b;i++)

   {

     if(a[i]>max)

      max=a[i];

     sum+=a[i];

   }

   printf("max=%f\n",max);

   printf("平均数:%f\n",sum/b);

}

#include "stdioh"

/定义学生结构体/

struct Student

{

     char ID[20];

     char Name[20];

     float Mark1;

     float Mark2;

     float Mark3;

     float Average;

};

/声明学生数组及学生数量/

struct Student students[1000];

int num=0;

/求平均值/

float Avg(struct Student stu)

{

     return (stuMark1+stuMark2+stuMark3)/3;

}

/通过学号返回数组下标/

int Student_SearchByIndex(char id[])

{

     int i;

     for (i=0;i<num;i++)

     {

         if (strcmp(students[i]ID,id)==0)

         {

              return i;

         }

     }

     return -1;

}

/通过姓名返回数组下标/

int Student_SearchByName(char name[])

{

     int i;

     for (i=0;i<num;i++)

     {

         if (strcmp(students[i]Name,name)==0)

         {

              return i;

         }

     }

     return -1;

}

/显示单条学生记录/

void Student_DisplaySingle(int index)

{

     printf("%10s%10s%8s%8s%8s%10s\n","学号","姓名","成绩","成绩","成绩","平均成绩");

     printf("-------------------------------------------------------------\n");

     printf("%10s%10s%82f%82f%82f%102f\n",students[index]ID,students[index]Name,

              students[index]Mark1,students[index]Mark2,students[index]Mark3,students[index]Average);

}

/插入学生信息/

void Student_Insert()

{

     while(1)

     {

         printf("请输入学号:");

         scanf("%s",&students[num]ID);

         getchar();

printf("请输入姓名:");

         scanf("%s",&students[num]Name);

         getchar();

printf("请输入成绩:");

         scanf("%f",&students[num]Mark1);

         getchar();

printf("请输入成绩:");

         scanf("%f",&students[num]Mark2);

         getchar();

printf("请输入成绩:");

         scanf("%f",&students[num]Mark3);

         getchar();

students[num]Average=Avg(students[num]);

         num++;

printf("是否继续(y/n)");

         if (getchar()=='n')

         {

              break;

         }

     }

}

/修改学生信息/

void Student_Modify()

{

     float mark1,mark2,mark3;

     while(1)

     {

         char id[20];

         int index;

         printf("请输入要修改的学生的学号:");

         scanf("%s",&id);

         getchar();

         index=Student_SearchByIndex(id);

         if (index==-1)

         {

              printf("学生不存在!\n");

         }

         else

         {

              printf("你要修改的学生信息为:\n");

              Student_DisplaySingle(index);

              printf("-- 请输入新值--\n");

              printf("请输入学号:");

              scanf("%s",&students[index]ID);

              getchar();

              printf("请输入姓名:");

              scanf("%s",&students[index]Name);

              getchar();

              printf("请输入成绩:");

              scanf("%f",&students[index]Mark1);

              getchar();

              printf("请输入成绩:");

              scanf("%f",&students[index]Mark2);

              getchar();

              printf("请输入成绩:");

              scanf("%f",&students[index]Mark3);

              getchar();

              students[index]Average=Avg(students[index]);

         }

         printf("是否继续(y/n)");

         if (getchar()=='n')

         {

              break;

         }

     }

}

/删除学生信息/

void Student_Delete()

{

     int i;

     while(1)

     {

         char id[20];

         int index;

         printf("请输入要删除的学生的学号:");

         scanf("%s",&id);

         getchar();

         index=Student_SearchByIndex(id);

         if (index==-1)

         {

              printf("学生不存在!\n");

         }

         else

         {

              printf("你要删除的学生信息为:\n");

              Student_DisplaySingle(index);

              printf("是否真的要删除(y/n)");

              if (getchar()=='y')

              {

                   for (i=index;i<num-1;i++)

                   {

                       students[i]=students[i+1];

                   }

                   num--;

              }

              getchar();

         }

         printf("是否继续(y/n)");

         if (getchar()=='n')

         {

              break;

         }

     }

}

/按姓名查询/

void Student_Select()

{

     while(1)

     {

         char name[20];

         int index;

         printf("请输入要查询的学生的姓名:");

         scanf("%s",&name);

         getchar();

         index=Student_SearchByName(name);

         if (index==-1)

         {

              printf("学生不存在!\n");

         }

         else

         {

              printf("你要查询的学生信息为:\n");

              Student_DisplaySingle(index);

         }

         printf("是否继续(y/n)");

         if (getchar()=='n')

         {

              break;

         }

     }

}

/按平均值排序/

void Student_SortByAverage()

{

     int i,j;

     struct Student tmp;

     for (i=0;i<num;i++)

     {

         for (j=1;j<num-i;j++)

         {

              if (students[j-1]Average<students[j]Average)

              {

                   tmp=students[j-1];

                   students[j-1]=students[j];

                   students[j]=tmp;

              }

         }

     }

}

/显示学生信息/

void Student_Display()

{

     int i;

     printf("%10s%10s%8s%8s%8s%10s\n","学号","姓名","成绩","成绩","成绩","平均成绩");

     printf("-------------------------------------------------------------\n");

     for (i=0;i<num;i++)

     {

         printf("%10s%10s%82f%82f%82f%102f\n",students[i]ID,students[i]Name,

              students[i]Mark1,students[i]Mark2,students[i]Mark3,students[i]Average);

     }

}

/将学生信息从文件读出/

void IO_ReadInfo()

{

     FILE fp;

     int i;

     if ((fp=fopen("Databasetxt","rb"))==NULL)

     {

         printf("不能打开文件!\n");

         return;

     }

     if (fread(&num,sizeof(int),1,fp)!=1)

     {

         num=-1;

     }

     else

     {

         for(i=0;i<num;i++)

         {

              fread(&students[i],sizeof(struct Student),1,fp);

         }

     }

     fclose(fp);

}

/将学生信息写入文件/

void IO_WriteInfo()

{

     FILE fp;

     int i;

     if ((fp=fopen("Databasetxt","wb"))==NULL)

     {

         printf("不能打开文件!\n");

         return;

     }

     if (fwrite(&num,sizeof(int),1,fp)!=1)

     {

         printf("写入文件错误!\n");

     }

     for (i=0;i<num;i++)

     {

         if (fwrite(&students[i],sizeof(struct Student),1,fp)!=1)

         {

              printf("写入文件错误!\n");

         }

     }    

     fclose(fp);

}

/主程序/

main()

{

     int choice;

     IO_ReadInfo();

     while(1)

     {

         /主菜单/

         printf("\n------ 学生成绩管理系统------\n");

         printf("1 增加学生记录\n");

         printf("2 修改学生记录\n");

         printf("3 删除学生记录\n");

         printf("4 按姓名查询学生记录\n");

         printf("5 按平均成绩排序\n");

         printf("6 退出\n");

         printf("请选择(1-6):");

         scanf("%d",&choice);

         getchar();

         switch(choice)

         {

         case 1:

              Student_Insert();

              break;

         case 2:

              Student_Modify();

              break;

         case 3:

              Student_Delete();

              break;

         case 4:

              Student_Select();

              break;

         case 5:

              Student_SortByAverage();

              Student_Display();

              break;

         case 6:

              exit();

              break;

         }

         IO_WriteInfo();

     }

}

#include<stdioh>

#include<stdlibh>

//定义一个学生结构体数组

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,如果在VC60中运行,可将scanf_s改成scanf

并且for(int i=0;i<len;i++){xxx}改成int i=0;for(i=0;i<len;i++){xxx}即可正常运行

程序运行测试图如下:

以上就是关于C语言编程--输入5个学生成绩 判断是否及格全部的内容,包括:C语言编程--输入5个学生成绩 判断是否及格、c语言 输入一个学生成绩,判断优、良、及格、c语言作业 编写一个输出学生成绩等级的程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9342852.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存