㈠ 平均成績計算 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語言編寫 運動會分數統計系統
200分,可以考慮。
㈢ C語言求平均成績
#include<stdio.h>
intmain()
{
floata[5][50],s,av;
inti,j,stu,sub,count;
while(scanf("%d%d",&stu,&sub))
{
for(i=0;i<stu;i++)
for(j=0;j<sub;j++)
scanf("%f",&a[i][j]);//輸入信息
for(i=0;i<stu;i++)
{
for(j=0,s=0;j<sub;j++)
s+=a[i][j];
av=s/sub;
if(j!=stu-1)
printf("%.2f",s/sub);//這里應該是%f,下同
else
printf("%.2f",s/sub);
}
printf(" ");//這里要換行
for(i=0;i<sub;i++)
{
for(j=0,s=0;j<stu;j++)
s+=a[j][i];
if(j!=sub-1)
printf("%.2f",s/stu);
else
printf("%.2f",s/stu);
}
printf(" ");//這里要換行
for(i=0;i<stu;i++)
{
for(j=0,count=0;j<sub;j++)
if(a[i][j]>=av)
count++;
printf("%d",count);
}
printf(" ");//這里要換行
}
}
一個小錯誤,把%f寫成了%d,下次看到正常運行,還出現0就有經驗了。
還有你給出的代碼換行應該是不正確的。被輸入輸出示例誤導了。
㈣ 搞個運動會,要求有個統計分數的程序(C語言)
#include <malloc.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define NULL 0
#define MaxSize 30
typedef struct athletestruct /*運動員*/
{
char name[20];
int score; /*分數*/
int range; /**/
int item; /*項目*/
}ATH;
typedef struct schoolstruct /*學校*/
{
int count; /*編號*/
int serial; /**/
int menscore; /*男選手分數*/
int womenscore; /*女選手分數*/
int totalscore; /*總分*/
ATH athlete[MaxSize]; /**/
struct schoolstruct *next;
}SCH;
int nsc,msp,wsp;
int ntsp;
int i,j;
int overgame;
int serial,range;
int n;
SCH *head,*pfirst,*psecond;
int *phead=NULL,*pafirst=NULL,*pasecond=NULL;
input ()
{
char answer;
head = (SCH *)malloc(sizeof(SCH)); /**/
head->next = NULL;
pfirst = head;
answer = 'y';
while ( answer == 'y' )
{
Is_Game_DoMain:
printf("\nGET Top 5 when odd\nGET Top 3 when even");
printf("\n輸入運動項目序號 (x<=%d):",ntsp);
scanf("%d",pafirst);
overgame = *pafirst;
if ( pafirst != phead )
{
for ( pasecond = phead ; pasecond < pafirst ; pasecond ++ )
{
if ( overgame == *pasecond )
{
printf("\n這個項目已經存在請選擇其他的數字\n");
goto Is_Game_DoMain;
}
}
}
pafirst = pafirst + 1;
if ( overgame > ntsp )
{
printf("\n項目不存在");
printf("\n請重新輸入");
goto Is_Game_DoMain;
}
switch ( overgame%2 )
{
case 0: n = 3;break;
case 1: n = 5;break;
}
for ( i = 1 ; i <= n ; i++ )
{
Is_Serial_DoMain:
printf("\n輸入序號 of the NO.%d (0<x<=%d): ",i,nsc);
scanf("%d",&serial);
if ( serial > nsc )
{
printf("\n超過學校數目,請重新輸入");
goto Is_Serial_DoMain;
}
if ( head->next == NULL )
{
create();
}
psecond = head->next ;
while ( psecond != NULL )
{
if ( psecond->serial == serial )
{
pfirst = psecond;
pfirst->count = pfirst->count + 1;
goto Store_Data;
}
else
{
psecond = psecond->next;
}
}
create();
Store_Data:
pfirst->athlete[pfirst->count].item = overgame;
pfirst->athlete[pfirst->count].range = i;
pfirst->serial = serial; ("Input name:) : ");
scanf("%s",pfirst->athlete[pfirst->count].name);
}
printf("\n繼續輸入運動項目(y&n)?");
answer = getch();
printf("\n");
}
}
calculate() /**/
{
pfirst = head->next;
while ( pfirst->next != NULL )
{
for (i=1;i<=pfirst->count;i++)
{
if ( pfirst->athlete[i].item % 2 == 0 )
{
switch (pfirst->athlete[i].range)
{
case 1:pfirst->athlete[i].score = 5;break;
case 2:pfirst->athlete[i].score = 3;break;
case 3:pfirst->athlete[i].score = 2;break;
}
}
else
{
switch (pfirst->athlete[i].range)
{
case 1:pfirst->athlete[i].score = 7;break;
case 2:pfirst->athlete[i].score = 5;break;
case 3:pfirst->athlete[i].score = 3;break;
case 4:pfirst->athlete[i].score = 2;break;
case 5:pfirst->athlete[i].score = 1;break;
}
}
if ( pfirst->athlete[i].item <=msp )
{
pfirst->menscore = pfirst->menscore + pfirst->athlete[i].score;
}
else
{
pfirst->womenscore = pfirst->womenscore + pfirst->athlete[i].score;
}
}
pfirst->totalscore = pfirst->menscore + pfirst->womenscore;
pfirst = pfirst->next;
}
}
output()
{
pfirst = head->next;
psecond = head->next;
while ( pfirst->next != NULL )
{
clrscr();
printf("\n第%d號學校的結果成績:",pfirst->serial);
printf("\n\n項目的數目\t學校的名字\t分數");
for (i=1;i<=ntsp;i++)
{
for (j=1;j<=pfirst->count;j++)
{
if ( pfirst->athlete[j].item == i )
{
printf("\n %d\t\t\t\t\t\t%s\n %d",i,pfirst->athlete[j].name,pfirst->athlete[j].score);break;
}
}
}
printf("\n\n\n\t\t\t\t\t\t按任意建 進入下一頁");
getch();
pfirst = pfirst->next;
}
clrscr();
printf("\n運動會結果:\n\n學校編號\t男運動員成績\t女運動員成績\t總分");
pfirst = head->next;
while ( pfirst->next != NULL )
{
printf("\n %d\t\t %d\t\t %d\t\t %d",pfirst->serial,pfirst->menscore,pfirst->womenscore,pfirst->totalscore);
pfirst = pfirst->next;
}
printf("\n\n\n\t\t\t\t\t\t\t按任意建結束");
getch();
}
create()
{
pfirst = (struct schoolstruct *)malloc(sizeof(struct schoolstruct));
pfirst->next = head->next ;
head->next = pfirst ;
pfirst->count = 1;
pfirst->menscore = 0;
pfirst->womenscore = 0;
pfirst->totalscore = 0;
}
void Save()
{FILE *fp;
if((fp = fopen("school.dat","wb"))==NULL)
{printf("can't open school.dat\n");
fclose(fp);
return;
}
fwrite(pfirst,sizeof(SCH),10,fp);
fclose(fp);
printf("文件已經成功保存\n");
}
main()
{
system("cls");
printf("\n\t\t\t 運動會分數統計\n");
printf("輸入學校數目 (x>= 5):");
scanf("%d",&nsc);
printf("輸入男選手的項目(x<=20):");
scanf("%d",&msp);
printf("輸入女選手項目(<=20):");
scanf("%d",&wsp);
ntsp = msp + wsp;
phead = calloc(ntsp,sizeof(int));
pafirst = phead;
pasecond = phead;
input();
calculate();
output();
Save();
}
㈤ 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(" ");
}
}
(5)求平均運動會成績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語言如何循環結構編程求若干成績平均值
#include <stdio.h>main()
{
int i = 0;
float t, ave = 0; scanf("%f", &t );
while( t > 0 && t <= 100)
{
ave += t;
i++;
scanf("%f", &t );
} ave /= i; printf( "ave = %.2f\n", ave );
}