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

输出班级成绩的平均分c语言

发布时间: 2022-06-28 06:16:07

c语言编程要求输入全班3门课的成绩,输出全班的总成绩以及平均分还有每个人的总分跟平均分

建议建立二维数组,保留同学信息和成绩。通过循环完成
终于完成了。。。。为了方便测试,暂且定为4个人
#include <stdio.h>
#define N 4
main()
{
int i,j;
float stu[N][3],sum[N],avg[N],total=0;
for(i=0;i<N;i++)
{
printf("\n请输入学号%d三门课成绩:",i+1);
for(j=0;j<3;j++)
{
scanf("%f",&stu[i][j]);
}
}
for(i=0;i<N;i++)
{
sum[i]=0;
for(j=0;j<3;j++)
{
sum[i]+=stu[i][j];
}
avg[i]=sum[i]/3;
}
for(i=0;i<N;i++)
{
printf("第%d位总分为%f,平均分为%f\n",i+1,sum[i],avg[i]);
total+=sum[i];
}
printf("全班级总分为%f,平均分为%f",total,total/(N*3));
}

② C语言 输入全班成绩 统计优良合格不及格人数,并输出总分平均分,用函数实现

你要手动输入成绩3遍吗...
输入一遍保存到数组里多省事

③ C语言 输入全班学生成绩,统计优良合格不及格人数,并输出总分平均分,用函数实现

#include <stdio.h>
void main()
{
int n=0,i,e=0,x=0,d=0,v=0;
double s=0;
int a[100],y[100],l[100],h[100],b[100];

printf("请输入学生的人数:");
scanf("%d",&n);

printf("请输入学生的成绩:");
for(i=1; i<=n; i++)
{
scanf("%d",&a[i]);
s=s+a[i];

if(a[i]<60 && a[i]>0){
b[e]=a[i];
e++;
}else if(a[i]>=60 && a[i]<70){
h[x]=a[i];
x++;
}else if(a[i]>=70 && a[i]<80){
l[d]=a[i];
d++;
}else if(a[i]>=80 && a[i]<=100){
y[v]=a[i];
v++;
}


}

printf(" 优的学生成绩为: ");
for(i=0; i<v; i++)
{
printf(" %d",y[i]);

}
printf(" 良的学生成绩为: ");
for(i=0; i<d; i++)
{
printf(" %d",l[i]);

}
printf(" 合格的学生成绩为: ");
for(i=0; i<x; i++)
{
printf(" %d",h[i]);

}
printf(" 不合格的学生成绩为: ");
for(i=0; i<e; i++)
{
printf(" %d",b[i]);

}

s=s/n;
printf(" 平均成绩为:%.1f ", s);

}

④ c语言中输入全班的三门课成绩输出每人各科平均成绩

#include<stdio.h>
intmain(){
doublemark[4][3],aver[4],high[3]={0};
inti,j;
for(i=0;i<4;i++){
doubleall=0.0;
printf("请输入%c的三门成绩: ",'A'+i);
for(j=0;j<3;j++){
scanf("%lf",&mark[i][j]);
high[j]=high[j]<mark[i][j]?mark[i][j]:high[j];
all+=mark[i][j];
}
printf("%c同学的平均成绩是:%.2lf ",'A'+i,all/3);
}
printf("三科的最高分分别为:%.2lf%.2lf%.2lf",high[0],high[1],high[2]);
return0;
}

⑤ 用C语言求一个班的平均成绩,但是这个班人数未知,怎么写这个程序呀大神们帮帮忙~谢啦~

C语言程序源代码。输入一个班全体学生的成绩,把不及格的学生成绩输出,并求几个学生的平均成绩。(这个或许对你有帮助)
#include<stdio.h>
#define N 4 //宏定义,初始化班级学生人数,可通过修改N的初值改变
int main()
{
int a[N],b[N]={0},i=0,j=0,sum=0;
float ave=0.0;
printf("please input scores:\n");
for(i=0;i<N;i++) //输入学生成绩
scanf("%d",&a[i]);
printf("input over!!!please waiting.... \n");
printf("input scores is:\n");
for(i=0;i<N;i++) //输出所以学生成绩
printf("%d ",a[i]);
putchar('\n');
printf("the underline's scores is:\n");
for(i=0;i<N;i++) //测试成绩是否及格,默认为低于60分的成绩
{
if(a[i]<60)
{
b[j++]=a[i]; //将不及格人数及成绩村入b数组中
printf("%d ",a[i]);
}
}
putchar('\n');
for(i=0;i<j;i++) //计算出不及格人数的总成绩
sum+=b[i];
ave=(sum*0.1/j)*10; //计算不及格同学的平均成绩,并将其转换为实型数据
printf("avverage scores is:\n");
printf("%f ",ave); //输出平均成绩
putchar('\n');
}

⑥ C语言编程,两个班,输入每个班成绩,求每个班平均成绩,并求每个班低于80分的人数(人数分数自己设)

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

#defineCOUNT50//每班人数上限设定
//定义一个班级人数及成绩的结构体类型
typedefstructcl
{
intnumbers;//班级人数
intscores[COUNT];//每人分数
}CLASS;

//设置班级的人数
voidset_number(CLASS*cls,intnumber);
//设置班级人员的成绩
voidset_scores(CLASS*cls,int*scores);
//获取班级的平均成绩
floatget_average(constCLASS*cls);
//随机生成班级的成绩信息
voidget_score(int*scores,intn);
//打印成绩信息
voidprint_scores(constint*scores,intn);
//获取班级低于80分的人数
intget_numbers_under80(constCLASS*cls);

intmain()
{
CLASScls1,cls2;//创建两个班级对象
intscores[COUNT]={0};//定义存储成绩的数组
intnums1=0,nums2=0;//定义班级人数变量
//接收并校验班级的人数信息
printf("请输入班级1的人数(50以内):");
scanf("%d",&nums1);
while(nums1>COUNT)
{
printf("人数输入错误,请重新输入:");
scanf("%d",&nums1);
}
printf("请输入班级2的人数(50以内):");
scanf("%d",&nums2);
while(nums2>COUNT)
{
printf("人数输入错误,请重新输入:");
scanf("%d",&nums2);
}

//设置班级1的相关信息
get_score(scores,nums1);
printf("班级1的成绩信息: ");
print_scores(scores,nums1);
set_number(&cls1,nums1);
set_scores(&cls1,scores);

//设置班级2的相关信息
get_score(scores,nums2);
printf("班级2的成绩信息: ");
print_scores(scores,nums2);
set_number(&cls2,nums2);
set_scores(&cls2,scores);

printf("班级1的平均成绩[%.2f] ",get_average(&cls1));
printf("班级2的平均成绩[%.2f] ",get_average(&cls2));
printf("班级1中低于80分的人数[%d] ",get_numbers_under80(&cls1));
printf("班级2中低于80分的人数[%d] ",get_numbers_under80(&cls2));

return0;
}

voidset_number(CLASS*cls,intnumber)
{
cls->numbers=number;
}

voidset_scores(CLASS*cls,int*scores)
{
inti=0;
for(;i<cls->numbers;i++)
{
cls->scores[i]=scores[i];
}
}

floatget_average(constCLASS*cls)
{
inti=0;
floatsum=0.0;
for(;i<cls->numbers;i++)
{
sum+=cls->scores[i];
}

returnsum/cls->numbers;
}

//为了方便,使用随机数据代表成绩
voidget_score(int*scores,intn)
{
inti=0;
srand(time(NULL));

for(;i<n;i++)
{
scores[i]=rand()%100+1;
}
}

voidprint_scores(constint*scores,intn)
{
inti=0;
for(;i<n;i++)
{
if(0!=i&&0==i%10)
printf(" ");
printf("%d",scores[i]);
}
printf(" ");
}

intget_numbers_under80(constCLASS*cls)
{
inti=0,nums=0;
for(;i<cls->numbers;i++)
{
if(80>cls->scores[i])
nums++;
}

returnnums;
}

⑦ 用c语言设计一个程序统计一个班的学生成绩

#include<stdio.h>

#include<stdlib.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 ", 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 ", 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("信息导入完毕! ");

}

int main() {

input();

printf("全班总分为:%.2lf ", getsum());

printf("全班平均分为:%.2lf ", getave());

getmax();

getmin();

return 0;

}

注:此代码运行于VS2017,如果在VC6.0中运行,可将scanf_s改成scanf

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

程序运行测试图如下:

⑧ 用c语言编写程序:计算班级每位学生的平均成绩。

第一题:
#include "stdio.h"
float *Grade(float *num,int i) //用来冒泡排序 num传入数组指针,i传入数组个数
{
int j,k;
float temp;
for (j=0;j<i;j++)
for (k=0;k<i-j;k++)
{
if (num[k]<num[k+1])
{
temp=num[k];
num[k]=num[k+1];
num[k+1]=temp;
}
}
return num;
}
void main()
{
float num[100];
int i=0,j=0,iavg=0; //i=数组个数,j=循环,iavg=高于平均成绩人数
float avg=0,sum=0; //avg=平均成绩,sum=总成绩
printf("请输入成绩,按Ctrl+D结束:");
while (scanf("%f",&num[i])) //循环输入成绩
{
sum+=num[i];
i++;
}
avg=sum/i;
printf("平均分为%.1f\n",avg);
Grade(num,i);
printf("所有学生的成绩为:");
for (j=0;j<i;j++)
{
printf("%.1f ",num[j]);
if (num[j]>avg)
iavg++;
}
printf("\n高于平均人数的有%d人\n",iavg);
}
第二题:
#include "stdio.h"
int digit(int i,int *dinum)
{
int j=0,k=0;
while (i=0) //计算位数
{
dinum[k]=i%10; //将数字存入数组
i=i/10;
j++;k++;
}
return j;
}
void main()
{
int inum,dinum[10],i,j; //inum=整数 dinum=存各个数字的数组 i,j=循环需要
printf("请输入整数:");
scanf("%d",&inum);
j=digit(inum,dinum);
printf("该整数为 %d 位\n",j);
printf("数字分别为:");
for (i=j-1;i>=0;i--)
{
printf("%d ",dinum[i]);
}
}
第三题:
#include "stdio.h"
int fun(int *a)
{
int i=1,j=0;
for (i;i<1000;i++)
{
if ((i%7==0||i%11==0)&&!(i%7==0&&i%11==0))
{
a[j]=i;
j++;
}
}
return j;
}
void main()
{
int a[500],i,j;
j=fun(a);
for (i=0;i<j;i++)
{
printf("%d ",a[i]);
if (i%15==0)
printf("\n");
}
以上代码均在VC6.0中编译通过,现在1点了。后面的题以后再说

⑨ 求用c语言写一个程序,求各个班级各门学科的平均分以及总分的平均分

这个是我以前写的程序,只要在if语句里加一句输出总人数和总分就ok了,其他的要求都和你一样
#include<stdio.h>

/*程序从main函数开始执行*/
int main()
{
int counter;
int grade;
int total;

float average;

total = 0;
counter = 0;

printf( "Enter grade, -1 to end: " );
scanf( "%d", &grade );

while ( grade != -1 )
{
total = total + grade;
counter =counter + 1;

printf( "Enter grade, -1 to end: " );
scanf( "%d",&grade );
}

if ( counter != 0 )
{
average = ( float ) total / counter;
printf( "Class average is %.2f\n", average );
}
else
{
printf( "No grades were entered\n" );
}

return 0;
}

⑩ 使用c语言编写程序,分别统计出每个学生的平均成绩。

#include<stdio.h>
#define N 5//这里设置班级人数
void main()
{
int i,sum=0,high=0,score;
float average;
printf("input everyone's score.\n");
for(i=0;i<N;i++)
{
scanf("%d",&score);
sum+=score;
if(score>high) high=score;
}
average=(float)sum/N;
printf("average=%f\n",average);
printf("highest=%d\n",high);
}
这个代码很容易懂。你拿去改下。。我就不给你调试了。这个是实现某班平均成绩然后输出平均成绩最高成绩的,如果采纳我的。我可以给你编一个很通用的