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

c语言编程五门课成绩

发布时间: 2022-07-20 14:51:13

‘壹’ c语言编程5门课程成绩判断

#include<stdio.h>
boolsuck(double*);//不要在意函数的名字==
intmain()
{
printf("拿来你的分数吧!:");
doublescore[5]={0};
for(inti=0;i<5;++i)//输入
scanf("%lf",&score[i]);
if(suck(score))//通过返回的bool值检测
printf("你通过了,年轻人! ");
else
printf("真遗憾,你未通过。 ");
return0;
}
boolsuck(double*score)
{
doubletotal=0;
for(inti=0;i<5;++i){
if(*score<60)
returnfalse;//如果有1们小于60想都不用想返回false吧!==
total+=*(score++);//不然就+到total里,顺便前往下一个分数
}
//根据total的值。。等于320算不算
returntotal>=320?true:false;
}

‘贰’ 用C语言编程!!!输入3个学生5门课程的成绩,并求每个学生的平均成绩、最高分和最低分。

#include <stdio.h>

struct

{

int course[5];

}student[3];

void main()

{

int i,j,arg[3]={0},max[3]={0},min[3]={0};

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

{

printf("请输入学生%d成绩 ",i);

scanf("%d,%d,%d,%d,%d",&(student+i)->course[0],&(student+i)->course[1],&(student+i)->course[2],&(student+i)->course[3],&(student+i)->course[4]);

arg[i]=((student+i)->course[0]+(student+i)->course[1]+(student+i)->course[2]+(student+i)->course[3]+(student+i)->course[4])/5;

max[i]= (student+i)->course[0];

min[i]= (student+i)->course[0];

for (j=1;j<5;j++)

{

if (max[i] > (student+i)->course[j])

{

min[i] = (student+i)->course[j];

}

else

{

max[i]= (student+i)->course[j];

}

}

printf("学生%d,平均分%d,最高分数%d,最低分数%d ",i,arg[i],max[i],min[i]);

}

}

‘叁’ c语言编写程序,从键盘输入6名学生5门功课成绩,分别统计出每个学生的平均成绩

一、问题分析

需要保存6名学生5门功课的成绩,需要设计一个6行5列大小的二维数组scores[6][5]来存储30个成绩数据。保存6名学生的平均成绩,需要设计一个6列大小的一维数组来avgs[6]存储平均成绩。

为使程序具有更好的通用性,使用宏定义定义学生人数M和课程门数N。

计算每个学生的平均成绩时,累加该行所有列的成绩数据,并除以列大小即为该学生的平均成绩。


二、参考程序

#include<stdio.h>

#defineM6 /*学生人数*/
#defineN5 /*课程门数*/

/*输入row个学生col门课程的成绩*/
voidinput(doublescores[][N],introw,intcol);

/*计算row个学生的平均成绩并保存在avgs数组中*/
voidaverage(doublescores[][N],introw,intcol,doubleavgs[]);

/*输出所有学生的平均成绩*/
voidoutput(doubleavgs[],intsize);

voidmain()
{
doublescores[M][N];
doubleavgs[M];

input(scores,M,N);

average(scores,M,N,avgs);

output(avgs,M);
}

/*输入row个学生col门课程的成绩*/
voidinput(doublescores[][N],introw,intcol)
{
inti,j;

printf("请输入%d个学生%d门课程的成绩,每个学生成绩在一行,以空格分隔成绩: ",row,col);
for(i=0;i<row;i++)
{
for(j=0;j<col;j++)
{
scanf("%lf",&scores[i][j]);
}
}
}

/*计算row个学生的平均成绩并保存在avgs数组中*/
voidaverage(doublescores[][N],introw,intcol,doubleavgs[])
{
inti,j;

for(i=0;i<row;i++)
{
avgs[i]=0.0;
for(j=0;j<col;j++)
{
avgs[i]+=scores[i][j];
}
avgs[i]/=col;
}
}

/*输出所有学生的平均成绩*/
voidoutput(doubleavgs[],intsize)
{
inti;

printf("%6s%10s ","序号","平均成绩");
printf("---------------------------- ");
for(i=0;i<size;i++)
{
printf("%6d%10.2lf ",i+1,avgs[i]);
}
}


三、运行测试

‘肆’ C语言编程,输入五个学生的五科成绩,求每科的平均分,最高分,最低分。已有程序,在此基础上改错。

#include<stdio.h>
main()
{
doublea[8][5]={0};
inti,j;
for(i=0;i<5;i++){
for(j=0;j<5;j++)
scanf("%lf",&a[i][j]);}
for(j=0;j<5;j++){
for(i=0;i<5;i++)
a[5][j]+=(a[i][j]/5.0);
printf("课程%d的平均分=%g ",j+1,a[5][j]);}
for(i=0;i<5;i++){
a[6][i]=a[0][i];
for(j=1;j<5;j++){
if(a[6][i]>a[j][i])
a[6][i]=a[j][i];}
printf("课程%d的最低分=%g ",i+1,a[6][i]);}
for(i=0;i<5;i++){
a[7][i]=a[0][i];
for(j=0;j<5;j++){
if(a[7][i]<a[j][i])
a[7][i]=a[j][i];}
printf("课程%d的最高分=%g ",i+1,a[7][i]);}
}

‘伍’ C语言编程,输入10个学生5门课的成绩,分别用函数实现以下功能:

#include<stdio.h>
#include<windows.h>
main()
{
int i,j,li=0,lj=0;
float score[10][5],average[10],a1,a2,a3,a4,a5,largest=0,fc=0,a=0;
//score是50个学生的成绩,average是5门课的平均成绩,a1-a5分别是5门课的平均成绩,li是最高分的学生
//lj是最高分的学科,largest是最高分,fc是平均分方差,a是50个成绩的平均分
printf("请输入10个学生的成绩,按照语文、数学、英语、物理、化学的顺序依次输入:\n");
for(i=0;i!=10;++i)
{
printf("第%d个学生:\n",i+1);
for(j=0;j!=5;++j)
{
scanf("%f",&score[i][j]);
if(largest<score[i][j])
{
largest=score[i][j];
li=i+1;
lj=j+1;
}
a=a+score[i][j];
}
average[i]=(score[i][0]+score[i][1]+score[i][2]+score[i][3]+score[i][4])/5;
a1=a1+score[i][0];
a2=a2+score[i][1];
a3=a3+score[i][2];
a4=a4+score[i][3];
a5=a5+score[i][4];
}
a=a/50;
for(i=0;i!=10;++i)
{
for(j=0;j!=5;++j)
{
fc=fc+(score[i][j]-a)*(score[i][j]-a);
}

}
fc=fc/50;
a1=a1/10;
a2=a2/10;
a3=a3/10;
a4=a4/10;
a5=a5/10;
printf("50个学生的成绩如下:\n");
printf("学生编号 语文 数学 英语 物理 化学\n");
for(i=0;i!=10;++i)
{
printf("%8d ",i);
for(j=0;j!=5;++j)
{
printf("%2.2f ",score[i][j]);
}
printf("\n");
}
for(i=0;i!=10;++i)
printf("第%d个学生的平均分为:%.2f\n",i+1,average[i]);
printf("第1门课的平均分为:%.2f\n",a1);
printf("第2门课的平均分为:%.2f\n",a2);
printf("第3门课的平均分为:%.2f\n",a3);
printf("第4门课的平均分为:%.2f\n",a4);
printf("第5门课的平均分为:%.2f\n",a5);
printf("50个分数中最高的分数是第%d个学生的第%d门课,分数为:%.2f\n",li,lj,largest);
printf("平均分方差为:%.2f\n",fc);
system("pause");
}

‘陆’ C语言编程:输入10个学生5门课成绩,分别用函数求: 1)每个学生平均分; 2)每门课的平均分;

#include <stdio.h>

#include <math.h>

void aver_stu(int t[][5]); //定义学生平均分函数

void aver_course(int t[][5]); //定义课程平均分函数

void high(int t[][5]); //定义最高分函数

void vari(int t[][5]); //定义方差函数

int main()

{

int stu[10][5];

int i, j;

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

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

scanf("%d", &stu[i][j]); //输入10个学生各5门课的成绩

aver_stu(stu); //调用学生平均分函数

aver_course(stu); //调用课程平均分函数

high(stu); //调用最高分函数

vari(stu); //调用方差函数

return 0;

}

//学生平均分函数

void aver_stu(int t[][5])

{

int i, j;

float k, ave;

for (i=0; i<10; i++){

for (j=0, k=0.0; j<5; j++)

k+=t[i][j];

ave=k/5;

printf("No.%d student average is %f ", i+1, ave);

}

}

//课程平均分函数

void aver_course(int t[][5])

{

int i, j;

float k, ave;

for (j=0; j<5; j++){

for (i=0, k=0.0; i<10; i++)

k+=t[i][j];

ave=k/10;

printf("No.%d course average is %f ", j+1, ave);

}

}

//最高分函数

void high(int t[][5])

{

int i, j, h, stu, cour;

for (i=0, h=0, stu=0, cour=0; i<10; i++){

for (j=0, j<5; j++)

if (t[i][j]>h){

h=t[i][j];

stu=i+1;

cour=j+1;

}

}

printf("The highest score is %d, from No.%d student & No.%d course ", h, stu, cour);

}

//方差函数

void vari(int t[][5])

{

int i, j, k, m;

float temp[10], var, x1, x2;

for (i=0, m=0; i<10; i++, m++){

for (j=0, k=0; j<5; j++)

k+=t[i][j];

temp[m]=k/5;

}

for (i=m=x1=x2=0; i<10; i++){

x1+=pow(temp[i], 2);

x2+=temp[i];

}

var=x1/10-pow(x2/10, 2);

printf("The variance is %f ", var);

}

(6)c语言编程五门课成绩扩展阅读:

scanf()用法:

输出的值只是空格前面的字符是因为scanf函数的输入格式错误,输入参数的变量前需要加&。

scanf("%s",s);改为scanf("%s",&s);

scanf的用法是:scanf("格式控制字符串",输入参数一,输入参数二);

格式控制字符串包含:格式控制说明,普通字符。

1、格式控制字符串表示输入的格式,(int型用%d,float用%f,double型用%lf)

2、普通字符:在输出数据的时候,按照原样输出的字符,如:"fahr=%d,celsius=%d "中的fahr=,celsius=。

3、输入的参数是变量的地址,所以要在变量前面加&。

‘柒’ 求C语言编写程序,输入学生五门课程的成绩,计算并输出总成绩和平均数

代码如下:
#include<stdio.h>
#include<stdlib.h>
int main()
{
float score,total=0,ave;
for(int i=0;i<5;i++)
{
printf("请输入第%d门成绩:",i+1);
scanf("%f",&score);
total+=score;
}
ave=total/5;
printf("该生的总分为:%f\n",total);
printf("该生的平均分为:%f\n",ave);
system("pause");
return 0;
}

‘捌’ c语言程序,输入十名同学的五门课程成绩,完成以下操作;

平均方差没做,其他用最土的方法,没有涉及到结构体。有一点注释,附几张图的效果。

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

main(){
charname[10][30]; //学生姓名
floatnumber[10][5],sum[10],average[10]; //学生成绩,单个学生总分,单个学生平均分
inti,j;
printf("【录入10位学生的5门课程】 ");
for(i=0;i<10;i++){
printf("请输入第%d位学生姓名: ",i+1);
scanf("%s",&name[i]); //录入姓名
for(j=0;j<5;j++){
printf("第%d门课成绩: ",j+1,i,j);
scanf("%f",&number[i][j]); //录入5门课成绩
sum[i]+=number[i][j]; //5门总分
}
//1.计算每个学生平均分
average[i]=sum[i]/5;
printf("%s五科总分为%.2f平均分为:%.2f ",name[i],sum[i],average[i]);
}
/*
*2.计算全体每门课平均分
*3.找出50个分数中最高的分数所对应的学生和课程
*4.计算平均分方差(不会)
*5.每个学生平均分按大小排列
*/

//2.计算每门课平均分
printf(" 【每门课平均分】 ");
floatan_average[5]; //定义5门课所需要用到的数组
for(i=0;i<5;i++){ //初始化5个数组
an_average[i]=0.00;
}
for(i=0;i<10;i++){
for(j=0;j<5;j++){
an_average[j]+=number[i][j]; //10个学生,5门课全部轮一遍
}
}
for(i=0;i<5;i++){ //输出5门科目的平均分
printf(" 第%d门平均分:%.2f",i+1,an_average[i]/10);
}

//3.找出50个分数中最高的分数所对应的学生和课程
printf(" 【50个分数分别为】 ");
floattotal[50]; //50个分数集合
intidentifier[50];//姓名所对应的下标集合
intsubject[50]; //课程下标集合
intcounter=0; //计数器
for(i=0;i<10;i++){
for(j=0;j<5;j++){
total[counter]=number[i][j]; //将所有科目所有分数全部集合在1个数组
identifier[counter]=i; //i指代的为name对应下标的姓名
subject[counter]=j+1; //j指代第几门课
counter++;
}
}
for(i=0;i<50;i++){
printf("%d姓名:%s",i,name[identifier[i]]);
printf("课程:第%d门",subject[i]);
printf("分数:%.2f ",total[i]);
}
printf(" 【50个分数中最高分数】 ");
floatfirst=0.00;
intname_temp; //记录下标
intsubject_temp; //记录下标
for(i=0;i<50;i++){
if(first<total[i]){ //相邻比较
first=total[i];
name_temp=identifier[i];
subject_temp=subject[i];
}
}
printf(" 姓名:%s课程:第%d门分数:%.2f ",name[name_temp],subject_temp,first); //输出最高分

//4.计算平均分方差(不会)
//5.每个学生平均分按大小排列
printf(" 【每个学生的平均分按大小排列】 ");
floatflag;
for(i=0;i<10-1;i++){ //冒泡升序法
for(j=0;j<10-i-1;j++){
if(average[j]>average[j+1]){
flag=average[j+1];
average[j+1]=average[j];
average[j]=flag;
}
}
}
for(i=9;i>-1;i--){
printf("%.2f ",average[i]);
}
}

‘玖’ C语言编程:从键盘上输入某个学生的5门课程成绩,求其成绩、平均成绩和总成绩除5的余数 (设单科成绩

intmain()
{
intscore[5],sum=0;
printf("请输入成绩:");
for(inti=0;i<5;i++)
scanf("%d%d%d%d%d",score+i);

for(inti=0;i<5;i++)
sum+=score[i];
printf("该学生成绩为:%d",sum);
printf("该学生平均成绩为:%.2f",sum/5.0);
//printf("该学生平均成绩为:%d",sum/5);
printf("该学生总成绩余数为:%d",sum%5);

return0;
}