當前位置:首頁 » 編程語言 » C語言求平均成績和等級
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

C語言求平均成績和等級

發布時間: 2022-09-11 09:39:49

c語言問題(輸入2個學生3門課的成績並求每個學生的平均分和成績和)

用數組或者結構都可實現,我這里用數組寫。循環輸入同時累加總分計算平均值。

#include<stdio.h>

#define MS 2//最大學生人數

#define MC 3//最大科目數

int main()

{

int i,j;

float scs[MS][MC],avg[MC],sum[MC]={0};

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

{

printf("請輸入學生%d的%d門成績:",i+1,MC);

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

scanf("%f",&scs[i][j]),sum[i]+=scs[i][j];

avg[i]=sum[i]/MC;

}

//-------輸出結果-----

for(i=0,printf(" ");i<MS;i++)

printf("學生%d的平均分:%.1f,總成績:%.0f ",i+1,avg[i],sum[i]);

return 0;

}

⑵ C語言編程 題目:輸入30個學生成績,求最高分,最低分和平均分(用數組存放數據)

#include<stdio。h>

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 ",max,min,avg);

return0;

}

文件輸入/輸出

在C語言中,輸入和輸出是經由標准庫中的一組函數來實現的。在ANSI C中,這些函數被定義在頭文件;中。

標准輸入/輸出

有三個標准輸入/輸出是標准I/O庫預先定義的:

stdin標准輸入

stdout標准輸出

stderr輸入輸出錯誤

以上內容參考:網路-c語言

⑶ 用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語言

#include<stdio.h>

int main()

{ int n,i,x,s=0;

scanf("%d",&n); //求n個成績的平均分

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

{ scanf("%d",&x);

s+=x;

}

printf("%.2f ",(float)s/n);

return 0;

}

⑸ 如何用C語言編程計算學生的平均成績

#include<stdio.h>
void main(){
int i,j,score[10],count=0,temp,sum=0;
double avg;
for(i=0;i<10;i++){ //輸入10個學生的成績,並求著10個學生的成績總和
printf("請輸入第%d個學生的成績:",(i+1));
scanf("%d",&score[i]);
sum+=score[i];
}
avg=sum*1.0/10; //求著這10個學生成績的平均值
for(i=0;i<10;i++){ //統計小於平均分的學生人數
if(score[i]<avg){
count++;
}
}
for(i=0;i<10;i++){ //使用冒泡排序對這10個學生的成績逆序排序
for(j=0;j<9-i;j++){
if(score[j]<score[j+1]){
temp=score[j];
score[j]=score[j+1];
score[j+1]=temp;
}
}
}
printf("最高成績:%d分,平均成績:%.2f分,低於平均成績的人數是:%d人!\n",score[0],avg,count);
}

⑹ 平均成績計算 C語言程序編寫

# include<stdio.h>
# include<stdlib.h>
# include<string.h>
#define N 10//修改學生人數
struct data
{ int number;
char name[20];
int score[3];
float ave;
int sum;
}stu[10];
void ave(struct data stu[],int n)
{int sum[3]={0,0,0},i,j;
for(i=0;i<3;i++)
for(j=0;j<n;j++)
sum[i]+=stu[j].score[i];
for(i=0;i<3;i++)
printf("第%d門課程的平均成績:%d\n",i+1,sum[i]/n);
}
void main()
{int i,j,m;
char str[20];
int a,c;
float d;
for(i=0;i<N;i++)
{printf("the %d student 學號:",i+1);
gets(str);
stu[i].number=atoi(str);
printf("姓名:");
gets(stu[i].name);
printf("3門課的成績分別為:");
stu[i].sum=0;
stu[i].ave=0;
for(j=0;j<3;j++)
{gets(str);
stu[i].score[j]=atoi(str);
stu[i].sum+=stu[i].score[j];
stu[i].ave+=stu[i].score[j];
}
(float)stu[i].ave/=3;
}
ave(stu,10);
for(i=0;i<N;i++)
printf("\n%2d%6s%3d%10d%9d%9d%8d %4.2f",i+1,stu[i].name,stu[i].number,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].sum,stu[i].ave);
printf("\n");
}

⑺ C語言程序,請你編寫一個程序計算每個學生的平均成績

#include&lt;stdio.h&gt;

void main()

{

float a[10][10];//用來存放10名學生的5門成績,最後一位用於存放平均成績

int i,j;

float sum=0.0;

for(i=0;i&lt;10;i++)

{

printf("請輸入第%d個學生的5門成績",i+1);

for(j=0;j&lt;5;j++)

{

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

sum=sum+a&lt;i&gt;[j];

}

a&lt;i&gt;[10]=sum/5.0;

}

printf("10名學生的成績及平均分 ");

for(i=0;i&lt;10;i++)

{

for(j=0;j&lt;10;j++)

printf("%.3f",a&lt;i&gt;[j]);

printf(" ");

}

}

(7)C語言求平均成績和等級擴展閱讀:

printf的用法

格式

printf函數的原型為:

#include&lt;stdio.h&gt;

int printf(const char*format,...);

在講每一個函數的時候都會先把它的函數原型寫出來,這個原型你們現在看不懂不要緊,等到學完C語言之後再來看這個原型就會發現它是很有參考意義的!它對深刻理解函數有著很大的價值。

printf的格式有四種:

1)printf("字元串 ");

#include&lt;stdio.h&gt;

int main(void)

{

printf("Hello World! ");// 表示換行

return 0;

}

其中 表示換行的意思。它是一個轉義字元,前面在講字元常量的時候見過。其中n是「new line」的縮寫,即「新的一行」。

此外需要注意的是,printf中的雙引號和後面的分號必須是在英文輸入法下。雙引號內的字元串可以是英文,也可以是中文。

2)printf("輸出控制符",輸出參數);

純文本復制

#include&lt;stdio.h&gt;

int main(void)

{

int i=10;

printf("%d ",i);/*%d是輸出控制符,d表示十進制,後面的i是輸出參數*/

return 0;

}

⑻ c語言,輸入2門課3個人的成績,求每門課的平均成績,最高分和最低分

1、你的s沒有初值;
2、語句在循環內還是循環外,位置有問題
3、另外,看你的程序求的是每行(每個學生的三科成績)中的最高分,而不是每門課的最高分,行數只有2行,但是你的max和min數組卻是3個元素,邏輯上就出問題了(不會出現編譯錯誤,因為兩個數組的元素個數比程序要求的2個更多所以你運行結果會只有2個);你本來是想算每門課的最高最低分吧?要改一下程序;
4、你可能在程序中輸入的字元有問題(要注意輸入法)。
以下程序只做了輕微修改,不會報錯,有運行結果,但非預期。
5.你的a[N][M]數組聲明是是int型,可是輸入值時用的是「lf」長浮點型,有問題
#define N 2
#define M 3
#include<stdio.h>
void main()
{
int i,j,max[M],s=0,v[M],min[M],a[N][M]; //s初值;
for(i=0;i<N;i++)
for(j=0;j<M;j++){

scanf("%lf",&a[i][j]);}

for(j=0;j<M;j++)
{
for(i=0;i<N;i++)
s=s+a[i][j];
v[j]=s/N;
s=0;
}
for(j=0;j<M;j++)
printf("%d\n",v[j]);

for(i=0;i<N;i++){
max[i]=min[i]=a[i][j]; //此時的j是多大,已經是3了吧?應改為
//max[i]=min[i]=a[i][0];吧?
for(j=0;j<M;j++){
if(max[i]<a[i][j])
max[i]=a[i][j];
if(min[i]>a[i][j])
min[i]=a[i][j];
}
printf("最大數=%d\n",max[i]);
printf("最小數=%d\n",min[i]);
}
}

正確的程序代碼我認為應該是:
#define N 2
#define M 3
#include<stdio.h>
void main()
{
int i,j,s=0;
int max[M],v[M],min[M],a[N][M];
for(i=0;i<N;i++)
for(j=0;j<M;j++){

scanf("%d",&a[i][j]);}

for(j=0;j<M;j++)
{
for(i=0;i<N;i++)
s=s+a[i][j];
v[j]=s/N;
s=0;
}
for(j=0;j<M;j++)
printf("%d\n",v[j]);

for(j=0;j<M;j++){
max[j]=min[j]=a[0][j];
for(i=0;i<N;i++){
if(max[j]<a[i][j])
max[j]=a[i][j];
if(min[j]>a[i][j])
min[j]=a[i][j];
}
printf("max=%d\n",max[j]);
printf("min=%d\n",min[j]);
}
}

你把這些代碼復制到編輯器中運行一下,沒問題了。^_^

⑼ C語言 求平均成績,最高分,最低分 的程序,跟書上應該是一樣的啊

printf("average=%5.2f\nmax=%5.2f\nmin=%.2f\n", average(score, 10), Max, Min);
拆開來吧,靜態變數估計在傳輸的時候還沒被修改,
拆成printf("average=%5.2f\n「,average(score, 10));
printf("max=%5.2f\n",Max);
printf("min=%.2f\n",Min);
在處理完Max,Min才進行值傳遞
改完測了是對的

⑽ C語言:計算全班平均成績,及統計各分數段人數的程序問題

#include<stdio.h>
intmain(void)
{floatsum=0.0,avg=0.0;
intnum,count,c9,c89,c78,c67,c6;
num=count=c9=c89=c78=c67=c6=0;
scanf("%d",&num);
while(num>=0&&num<101) //這里不能有分號,否則就進入死循環了。另外,還應當允許為0
{sum=sum+num;
count=count+1;
if(num>=90)c9=c9+1;
else
{if(num>=80&&num<90)c89=c89+1;
else
{if(num>=70&&num<80)c78=c78+1;
else
{if(num>=60&&num<70)c67=c67+1;
elsec6=c6+1;
}
}
}
scanf("%d",&num);
}
avg=sum/count;
printf("全班平均成績為:%f ",avg);
printf("90分以上的(包括90分)的人數是:%d ",c9);
printf("80~90分(包括80分)的人數是:%d ",c89);
printf("70~80分(包括70分)的人數是:%d ",c78);
printf("60~70分(包括60分)的人數是:%d ",c67);
printf("60分以下的人數是:%d ",c6);
return0;
}