⑴ 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<stdio.h>
void main()
{
float a[10][10];//用來存放10名學生的5門成績,最後一位用於存放平均成績
int i,j;
float sum=0.0;
for(i=0;i<10;i++)
{
printf("請輸入第%d個學生的5門成績",i+1);
for(j=0;j<5;j++)
{
scanf("%f",&a<i>[j]);
sum=sum+a<i>[j];
}
a<i>[10]=sum/5.0;
}
printf("10名學生的成績及平均分 ");
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
printf("%.3f",a<i>[j]);
printf(" ");
}
}
(7)C語言求平均成績和等級擴展閱讀:
printf的用法
格式
printf函數的原型為:
#include<stdio.h>
int printf(const char*format,...);
在講每一個函數的時候都會先把它的函數原型寫出來,這個原型你們現在看不懂不要緊,等到學完C語言之後再來看這個原型就會發現它是很有參考意義的!它對深刻理解函數有著很大的價值。
printf的格式有四種:
1)printf("字元串 ");
#include<stdio.h>
int main(void)
{
printf("Hello World! ");// 表示換行
return 0;
}
其中 表示換行的意思。它是一個轉義字元,前面在講字元常量的時候見過。其中n是「new line」的縮寫,即「新的一行」。
此外需要注意的是,printf中的雙引號和後面的分號必須是在英文輸入法下。雙引號內的字元串可以是英文,也可以是中文。
2)printf("輸出控制符",輸出參數);
純文本復制
#include<stdio.h>
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;
}