c语言编程有 n 个学生,每人考 m 门课程,要求:1.找出成绩最高的学生号和课程号;2.找出有不

2024-05-18 15:38

1. c语言编程有 n 个学生,每人考 m 门课程,要求:1.找出成绩最高的学生号和课程号;2.找出有不

【摘要】
c语言编程有 n 个学生,每人考 m 门课程,要求:1.找出成绩最高的学生号和课程号;2.找出有不及格课程的学生号及其各门课的全部成绩;3.求全部学生全部课程的总平均数。【提问】
同学你所描述的这个任务工作量有点大呢。。。【回答】
你说【提问】
你这个可以用结构体吗【回答】
每个任务用函数完成?【回答】
可以【提问】
可以用结构体【提问】
还有你的m,n是多少,自定义?【回答】
自定义【提问】
运行时决定还是代码里指定【回答】
代码里【提问】
好,那你定一个吧,然后告诉我【回答】
n4 m5【提问】
好,稍等。写好了给你,不用回了。【回答】




c语言编程有 n 个学生,每人考 m 门课程,要求:1.找出成绩最高的学生号和课程号;2.找出有不

2. 用C语言编写程序:有五个学生的三门课程的成绩,求每门课程的平均成绩

程序设计思路:首先我们需要定义一个学生的结构体,用于存放学生信息;接着是3个方法,一个输入学生信息的方法,一个是计算学生每门课程平均成绩的,最后一个是输出学生所有信息,包括计算好的平均成绩,具体实现代码如下:
#include 
#include #define ARRAY_LEN 100   /*数组长度*/
/*定义学生结构体*/
typedef struct {
int no; /*学号*/
float score1; /*成绩1*/
float score2; /*成绩2*/
float score3; /*成绩3*/
float totalScore; /*总分*/
float averageScore; /*平均分*/
} student;
/*输入学生信息*/
void inputInfo (student stu[], int stuIndex) {
int i;
printf ("第%d名学生↓\n", stuIndex+1);
printf ("学号:");
scanf ("%d",&stu[stuIndex].no);
printf ("成绩1:");
scanf ("%f",&stu[stuIndex].score1);
printf ("成绩2:");
scanf ("%f",&stu[stuIndex].score2);
printf ("成绩3:");
scanf ("%f",&stu[stuIndex].score3);
putchar ('\n');
}
/*计算平均成绩*/
void calculationScore (student stu[], int stuIndex) {
stu[stuIndex].totalScore=stu[stuIndex].score1+stu[stuIndex].score2+stu[stuIndex].score3;
stu[stuIndex].averageScore=stu[stuIndex].totalScore/3; 
} /*输出学生成绩*/void printInfo (student stu[], int stuIndex) {
int i;
printf ("%d\t",stu[stuIndex].no);
printf ("%.2f\t",stu[stuIndex].score1);
printf ("%.2f\t",stu[stuIndex].score2);
printf ("%.2f\t",stu[stuIndex].score3);
printf ("%.2f",stu[stuIndex].averageScore);
putchar ('\n');
}
int main (void) {
int stuNum=5,i;
student stu[ARRAY_LEN];
/*输入、计算*/
puts ("请输入学生信息:");
putchar ('\n');
for (i=0; i<stuNum; i++) {
inputInfo (stu,i);
calculationScore (stu,i);
}
putchar ('\n');
printf ("%d名学生成绩输入完毕!", stuNum);
putchar ('\n');
puts ("================================================\n");
/*输出*/
puts ("学号\t成绩1\t成绩2\t成绩3\t平均成绩");
for (i=0; i<stuNum; i++)
printInfo (stu,i);
getch (); /*屏幕暂留*/
return 0;
}
程序的运行结果:

扩展资料:
具有相同数据类型的数据我们可以用数组来存放,但对于上面的学生信息,包含多种数据类型,所以只能使用结构体来存放。
结构体的定义形式为:
struct 结构体名{
结构体所包含的变量或数组
};
结构体是一种集合,它里面包含了多个变量或数组,它们的类型可以相同,也可以不同,每个这样的变量或数组都称为结构体的成员(Member)。
结构体成员的定义方式与变量和数组的定义方式相同,只是不能初始化。注意大括号后面的分号;不能少,这是一条完整的语句。结构体也是一种数据类型,它由程序员自己定义,可以包含多个其他类型的数据。
像 int、float、char 等是由C语言本身提供的数据类型,不能再进行分拆,我们称之为基本数据类型;而结构体可以包含多个基本类型的数据,也可以包含其他的结构体,我们将它称为复杂数据类型或构造数据类型。

3. C语言编程 题目:输入30个学生成绩,求最高分,最低分和平均分(用数组存放数据)

#include
intmain()
{
intmax,min,score;
doubleavg=0;
scanf("%d",&score);
max=min=score;
avg+=score;
for(inti=0;i<29;i++)
{
scanf("%d",&score);
if(score>max)max=score;
if(score<min)min=score;
avg+=score;
}
avg=avg/30;
printf("最高分max=%d,最低分min=%d,平均分avg=%lf\n",max,min,avg);
return0;
}

文件输入/输出
在C语言中,输入和输出是经由标准库中的一组函数来实现的。在ANSI C中,这些函数被定义在头文件;中。
标准输入/输出
有三个标准输入/输出是标准I/O库预先定义的:
stdin标准输入
stdout标准输出
stderr输入输出错误
以上内容参考:百度百科-c语言

C语言编程 题目:输入30个学生成绩,求最高分,最低分和平均分(用数组存放数据)

4. 有30个学生,每个学生的数据包括学号,姓名,数学,英语,计算机3门课,成绩和总分。要求编写c程序

/** 有30个学生,每个学生的数据包括学号、姓名、数学,英语,计算机3门课成绩和总分。* 要求编写C程序,完成以下任务:*   1. 从键盘输入30个学生的数据信息,计算每个学生3门课的总成绩,并按总分的高低依次输出每个学生的学号、姓名,3门课成绩及总分。*   2. 统计各课最高分和最低分,并输出对应学生的数据信息*   3. 统计各课及格和不及格的人数,输出对应学生的数据信息。*/#include#define N 30struct STUDENT{    char  num[6];    char  name[20];    float score[3];    float sum;};struct STUDENT stu[N];void print_student(struct STUDENT user){    printf("学号:%s\t姓名:%s\t数学:%3.2f\t英语:%3.2f\t计算机:%3.2f\t总分:%3.2f\n",           user.num,           user.name,           user.score[0],           user.score[1],           user.score[2],           user.sum           );}int main(){    int i, j, temp, k;    char* score[3] = {"数学", "英语", "计算机"};    int sort[N];    int ss[3][N];    for(i=0; i= 60)            {                j++;            }        }        printf("%s及格学生人数(%d):\n", score[k], j);        for(i=0; i<j; i++)        {            print_student(stu[ss[k][i]]);        }        printf("%s不及格学生人数(%d):\n", score[k], N-j);        for(i=j; i<N; i++)        {            print_student(stu[ss[k][i]]);        }    }    return 0;}这样就可以了

5. 用C语言编写程序:有五个学生的三门课程的成绩,求每门课程的平均成绩

程序设计思路:首先我们需要定义一个学生的结构体,用于存放学生信息;接着是3个方法,一个输入学生信息的方法,一个是计算学生每门课程平均成绩的,最后一个是输出学生所有信息,包括计算好的平均成绩,具体实现代码如下:
#include 
#include #define ARRAY_LEN 100   /*数组长度*/
/*定义学生结构体*/
typedef struct {
int no; /*学号*/
float score1; /*成绩1*/
float score2; /*成绩2*/
float score3; /*成绩3*/
float totalScore; /*总分*/
float averageScore; /*平均分*/
} student;
/*输入学生信息*/
void inputInfo (student stu[], int stuIndex) {
int i;
printf ("第%d名学生↓\n", stuIndex+1);
printf ("学号:");
scanf ("%d",&stu[stuIndex].no);
printf ("成绩1:");
scanf ("%f",&stu[stuIndex].score1);
printf ("成绩2:");
scanf ("%f",&stu[stuIndex].score2);
printf ("成绩3:");
scanf ("%f",&stu[stuIndex].score3);
putchar ('\n');
}
/*计算平均成绩*/
void calculationScore (student stu[], int stuIndex) {
stu[stuIndex].totalScore=stu[stuIndex].score1+stu[stuIndex].score2+stu[stuIndex].score3;
stu[stuIndex].averageScore=stu[stuIndex].totalScore/3; 
} /*输出学生成绩*/void printInfo (student stu[], int stuIndex) {
int i;
printf ("%d\t",stu[stuIndex].no);
printf ("%.2f\t",stu[stuIndex].score1);
printf ("%.2f\t",stu[stuIndex].score2);
printf ("%.2f\t",stu[stuIndex].score3);
printf ("%.2f",stu[stuIndex].averageScore);
putchar ('\n');
}
int main (void) {
int stuNum=5,i;
student stu[ARRAY_LEN];
/*输入、计算*/
puts ("请输入学生信息:");
putchar ('\n');
for (i=0; i<stuNum; i++) {
inputInfo (stu,i);
calculationScore (stu,i);
}
putchar ('\n');
printf ("%d名学生成绩输入完毕!", stuNum);
putchar ('\n');
puts ("================================================\n");
/*输出*/
puts ("学号\t成绩1\t成绩2\t成绩3\t平均成绩");
for (i=0; i<stuNum; i++)
printInfo (stu,i);
getch (); /*屏幕暂留*/
return 0;
}
程序的运行结果:

扩展资料:
具有相同数据类型的数据我们可以用数组来存放,但对于上面的学生信息,包含多种数据类型,所以只能使用结构体来存放。
结构体的定义形式为:
struct 结构体名{
结构体所包含的变量或数组
};
结构体是一种集合,它里面包含了多个变量或数组,它们的类型可以相同,也可以不同,每个这样的变量或数组都称为结构体的成员(Member)。
结构体成员的定义方式与变量和数组的定义方式相同,只是不能初始化。注意大括号后面的分号;不能少,这是一条完整的语句。结构体也是一种数据类型,它由程序员自己定义,可以包含多个其他类型的数据。
像 int、float、char 等是由C语言本身提供的数据类型,不能再进行分拆,我们称之为基本数据类型;而结构体可以包含多个基本类型的数据,也可以包含其他的结构体,我们将它称为复杂数据类型或构造数据类型。

用C语言编写程序:有五个学生的三门课程的成绩,求每门课程的平均成绩

6. c语言编一程序,从键盘上输入学生的5门课程成绩,求其总成绩,平均成绩?


7. C语言结构体编程:计算5个学生的总成绩、平均成绩和低于140分以下的人数,并输出低于140分的姓名

结构类型包含2个成员:姓名和成绩。
成绩用float型。
按照题意分数上限140以上。
下面代码,结构数组的值用随机数填充,分数的随机范围101~150。你要想手动输入,自己写输入替代我的init函数。

#include 
#include 
#include 
#include 
typedef struct student
{
    char name[20];
    float score;
}STU;
void init(STU *stus);//随机数替代输入填充结构数组
void printStus(STU *stus);//打印数组
void getSumAndAvg(STU *stus);//获得总分和平均分
void findLes140(STU *stus);
int main()
{
    STU stus[5];
    init(stus);
    printStus(stus);
    getSumAndAvg(stus);
    findLes140(stus);
    return 0;
}
void findLes140(STU *stus)
{
    int i;
    printf("成绩低于140的学生信息为:\n");
    for(i=0;i<5;i++)
        if(stus[i].score<140)
            printf("学生名:%s,成绩:%.1f\n",stus[i].name,stus[i].score);
    printf("\n");
}
void printStus(STU *stus)
{
    int i;
    printf("结构数组中的信息为:\n");
    for(i=0;i<5;i++)
        printf("学生名:%s,成绩:%.1f\n",stus[i].name,stus[i].score);
    printf("\n");
}
void getSumAndAvg(STU *stus)
{
    float sum=0,avg;
    int i;
    for(i=0;i<5;i++)
        sum+=stus[i].score;
    avg=sum/5;
    printf("总分:%.1f,平均分:%.1f\n\n",sum,avg);
}
void init(STU *stus)
{
    int i;
    srand(time(NULL));
    printf("生成随机数值填充结构数组\n");
    for(i=0;i<5;i++)
    {
        strcpy(stus[i].name,"学生");
        stus[i].name[4]=i+1+'0';
        stus[i].name[5]=0;
        stus[i].score=(float)(rand()%50+101);//101~150的随机值
    }
}

C语言结构体编程:计算5个学生的总成绩、平均成绩和低于140分以下的人数,并输出低于140分的姓名

8. 从键盘输入一个同学的学号以及高数、英语、c语言,这三门课的成绩,计算它的平均分怎么编程?

这题涉及2个要点:
一、数据存储方式:正常编程,这种复合数据结构要定义结构体。如没学,用数组代替。学号,课目名称,三课成绩分别定义变量及数组。
二、平均分浮点数运算:如成绩定义整型,求和后,不能直接除3,在c语言中除号是整除符号,需要先转浮点数再除,否则两边都是整数,结果只保留整数。
下面用数组方法写:

#include 
int main()
{
    char sid[10],cName[3][10]={"高数","英语","c语言"};
    int i,scores[3],sum=0;
    float avg;
    printf("请输入学号:"),scanf("%s",sid);
    for(i=0,printf("请输入3门成绩:\n");i<3;i++) printf("%s:",cName[i]),scanf("%d",&scores[i]),sum+=scores[i];
    avg=sum*1.0/3;
    printf("\n3门课平均分为%.2f\n",avg);
    return 0;
}