c語言統計學生成績
『壹』 c語言 統計各個分數段的學生人數
intmain(void)
{
inta[6],i,cj,cj2,cj3,cj4,cj5,n;
scanf("%d",&a[0]);
n=0;
while(a[n]!=-1)
{
n++;
scanf("%d",&a[n]);
}
cj=0,cj2=0,cj3=0,cj4=0,cj5=0;
for(i=0;i<6-1;i++)
{
switch(a[i]/10)
{
case10:
case9:cj++;break;
case8:cj2++;break;
case7:cj3++;break;
case6:cj4++;break;
default:cj5++;break;
}
}
printf("<60:%d 60~69:%d 70~79:%d 80~89:%d 90~100:%d ",cj5,cj4,cj3,cj2,cj);
return0;
}
『貳』 c語言學生成績統計系統
#include<stdio.h>
#include<string.h>
#define NUM1 3
#define NUM2 3
#define NUM3 3
struct student
{
char name[10];
int score;
}c1[NUM1],c2[NUM2],c3[NUM3];//定義三個結構體數組
int i,j,k;
FILE *fp1_order,*fp2_order,*fp3_order;/*/定義文件指針
/*/=========================================================
void main(void)
{
void data_in(void);
void score_order(void);
void save_in(void);
void save_order(void);
void open_order(void);
printf("******************************學生成績文件管理******************************\n");
printf(" programmer:喻翔\n\n");
printf("一、輸入三個班的學生姓名和成績:\n\n");
data_in();
printf("\n\n\n");
printf("############################################################################\n\n");
printf("二、保存輸入的姓名和成績:\n\n");
save_in();
printf("\n\n\n\n");
printf("############################################################################\n\n");
printf("三、排名並保存姓名和成績:\n\n");
score_order();
save_order();
printf("\n\n\n\n");
printf("############################################################################\n\n");
printf("四、驗證排名後保存的文件:\n\n");
open_order();
printf("\n\n\n");
}
//=============================================================
void data_in(void)
{
printf("請輸入一班%d個學生的姓名和成績:\n",NUM1);
for(i=0;i<NUM1;i++)
{
printf("第%d個:",i+1);
scanf("%s %d",c1[i].name,&c1[i].score);
}
printf("\n\n\n請輸入二班%d個學生的姓名和成績:\n",NUM2);
for(j=0;j<NUM2;j++)
{
printf("第%d個:",j+1);
scanf("%s %d",c2[j].name,&c2[j].score);
}
printf("\n\n\n請輸入三班%d個學生的姓名和成績:\n",NUM3);
for(k=0;k<NUM3;k++)
{
printf("第%d個:",k+1);
scanf("%s %d",c3[k].name,&c3[k].score);
}
}
//=============================================================
void score_order(void)
{
int h,t;
char s[10];
for(h=0;h<NUM1-1;h++)
for(i=0;i<NUM1-1-h;i++)
if(c1[i].score<c1[i+1].score)
{
t=c1[i].score;
c1[i].score=c1[i+1].score;
c1[i+1].score=t;
strcpy(s,c1[i].name);//一定要使用strcpy()函數
strcpy(c1[i].name,c1[i+1].name);
strcpy(c1[i+1].name,s);
}
for(h=0;h<NUM2-1;h++)
for(j=0;j<NUM2-1-h;j++)
if(c2[j].score<c2[j+1].score)
{
t=c2[j].score;
c2[j].score=c2[j+1].score;
c2[j+1].score=t;
strcpy(s,c2[j].name);
strcpy(c2[j].name,c2[j+1].name);
strcpy(c2[j+1].name,s);
}
for(h=0;h<NUM3-1;h++)
for(k=0;k<NUM3-1-h;k++)
if(c3[k].score<c3[k+1].score)
{
t=c3[k].score;
c3[k].score=c3[k+1].score;
c3[k+1].score=t;
strcpy(s,c3[k].name);
strcpy(c3[k].name,c3[k+1].name);
strcpy(c3[k+1].name,s);
}
}
//=====================================================================
void save_in(void)
{
FILE *fp1_in,*fp2_in,*fp3_in;
if((fp1_in=fopen("data1_in.dat","wb"))==NULL)
{
printf("The file can not open!\n");
return;
}
for(i=0;i<NUM1;i++)
if(fwrite(&c1[i],sizeof(struct student),1,fp1_in)!=1)
{
printf("file write error!\n");
return;
}
fclose(fp1_in);
if((fp2_in=fopen("data2_in.dat","wb"))==NULL)
{
printf("The file can not open!\n");
return;
}
for(j=0;j<NUM2;j++)
if(fwrite(&c2[j],sizeof(struct student),1,fp2_in)!=1)
{
printf("file write error!\n");
return;
}
fclose(fp2_in);
if((fp3_in=fopen("data3_in.dat","wb"))==NULL)
{
printf("The file can not open!\n");
return;
}
for(k=0;k<NUM3;k++)
if(fwrite(&c3[k],sizeof(struct student),1,fp3_in)!=1)
{
printf("file write error!\n");
return;
}
fclose(fp3_in);
}
//==============================================================
void save_order(void)
{
if((fp1_order=fopen("data1_order.dat","wb"))==NULL)
{
printf("The file can not open!\n");
return;
}
for(i=0;i<NUM1;i++)
if(fwrite(&c1[i],sizeof(struct student),1,fp1_order)!=1)
{
printf("file write error!\n");
return;
}
fclose(fp1_order);
if((fp2_order=fopen("data2_order.dat","wb"))==NULL)
{
printf("The file can not open!\n");
return;
}
for(j=0;j<NUM2;j++)
if(fwrite(&c2[j],sizeof(struct student),1,fp2_order)!=1)
{
printf("file write error!\n");
return;
}
fclose(fp2_order);
if((fp3_order=fopen("data3_order.dat","wb"))==NULL)
{
printf("The file can not open!\n");
return;
}
for(k=0;k<NUM3;k++)
if(fwrite(&c3[k],sizeof(struct student),1,fp3_order)!=1)
{
printf("file write error!\n");
return;
}
fclose(fp3_order);
}
//=============================================================
void open_order(void)
{
fp1_order=fopen("data1_order.dat","rb");
printf("一班的成績排名如下:\n");
printf("名次 姓名 C語言成績\n");
printf("----------------------------------------\n");
for(i=0;i<NUM1;i++)
{
printf("第%d名 ",i+1);
fread(&c1[i],sizeof(struct student),1,fp1_order);
printf("%s %d\n",c1[i].name,c1[i].score);
}
fp2_order=fopen("data2_order.dat","rb");
printf("\n\n\n二班的成績排名如下:\n");
printf("名次 姓名 C語言成績\n");
printf("----------------------------------------\n");
for(j=0;j<NUM2;j++)
{
printf("第%d名 ",j+1);
fread(&c2[j],sizeof(struct student),1,fp2_order);
printf("%s %d\n",c2[j].name,c2[j].score);
}
fp3_order=fopen("data3_order.dat","rb");
printf("\n\n\n三班的成績排名如下:\n");
printf("名次 姓名 C語言成績\n");
printf("----------------------------------------\n");
for(k=0;k<NUM3;k++)
{
printf("第%d名 ",k+1);
fread(&c3[k],sizeof(struct student),1,fp3_order);
printf("%s %d\n",c3[k].name,c3[k].score);
}
}
『叄』 C語言 統計學生成績
#include<stdio.h>
#include<stdlib.h>
struct student
{
double score[5];
}s[10];
void avg()
{
printf("\n");
double sum;
for(int i=0;i<10;i++)
{
sum=0;
printf("第%d位學生的平均分數是: ",i+1);
for(int j=0;j<5;j++)
sum+=s[i].score[j];
printf("%.2lf\n",sum/5);
}
printf("\n");
return ;
}
void tavg()
{
printf("\n");
double sum;
for(int j=0;j<5;j++)
{
sum=0;
for(int i=0;i<10;i++)
sum+=s[i].score[j];
printf("第%d門功課的平均分是: %.2lf\n",j+1,sum/10);
}
return ;
}
void maxsc()
{
printf("\n");
double max=-1;
int i,j;
for( i=0;i<10;i++)
{
for( j=0;j<5;j++)
if(max<s[i].score[j])
{
max=s[i].score[j];
}
}
printf("最高分是:%.2lf分,對應學生與功課如下:\n",max);
for(i=0;i<10;i++)
{
for(int j=0;j<5;j++)
if(max==s[i].score[j])
{
printf("第%d位學生的第%d門成績\n",i+1,j+1);
}
}
printf("\n");
}
int main()
{
int i,j;
for(i=0;i<10;i++)
{
for(j=0;j<5;j++)
{
printf("輸入第%d位學生的第%d門功課的成績: ",i+1,j+1);
scanf("%lf",&s[i].score[j]);
printf("\n");
}
printf("\n");
}
printf("學生平均分數情況:\n");
avg(); //每個學生的平均分
printf("功課平均分數情況:\n");
tavg(); //每門功課的平均分
printf("最高分數即對應學生功課:\n");
maxsc(); //最高分對應的學生和功課
system("PAUSE");
return 0;
}
『肆』 c語言編程 統計學生成績 60及格 及格人數與不及格人數
#include<stdio.h>
intmain()
{
intt,r=0,i;
floats;
printf("請輸入總人數:");
scanf("%d",&t);
printf("請輸入%d個分數:",t);
for(i=0;i<t;i++)
{
scanf("%f",&s);
if(s>=60)r++;
}
printf("及格人數%d,不及格人數%d ",r,t-r);
}
『伍』 c語言統計學生成績
#include <stdio.h>
#define N 2
#define M 2
int s[N]={0},a[N][M];
char b[N][10];
void fun1(int a[N][M])
{
int i,j;
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
s[i]+=a[i][j];
printf("第%d個同學的平均分是%.2f\n",i+1,s[i]/5.0);
}
}
void fun2(int a[N][M])
{
float p[M]={0};
int i,j;
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
p[i]+=a[j][i];
p[i]/=10.0;
printf("第%d門課程的平均分是%.2f\n",i+1,p[i]);
}
}
void fun3(char b[N][10])
{
int max,t,i;
max=s[0];
for(i=1;i<N;i++)
if(s[i]>max)
{
max=s[i];
t=i; /*記住最大時i的值,以便找到姓名*/
}
printf("%s榮獲所有學生中最高分%d分\n",b[t],max);
}
main()
{
int i,j;
float p[M]={0};
/* 輸入姓名和成績*/
for(i=0;i<N;i++)
{
printf("輸入第%d個學生的姓名:",i+1);
scanf("%s",&b[i]);
for(j=0;j<M;j++)
{
printf("輸入該學生的第%d門成績:",j+1);
scanf("%d",&a[i][j]);
}
}
printf("\n");
/*計算每個同學平均分*/
fun1(a);
printf("\n");
/*計算每門課的平均分*/
fun2(a);
printf("\n");
/*比較求出最大總分和輸出姓名*/
fun3(b);
return 0;
}
代碼經過測試了 運行成功
如果有什麼不懂的可以問我
『陸』 C語言程序設計統計學生成績
用數復組,你學了制數組嗎?
int i,b,c;
scanf("%d"&i); //輸入需要幾個學生成績
int a[i]; //定義數組大小。
for (b=0;b<=i;b++) //循環輸入成績
a[i]=scanf("%d",c);
『柒』 用C語言編程 學生成績統計
#include<stdio.h>
voidprint1(inta[],intn){
for(inti=0;i<n;i++)
printf("%d",a[i]);
printf(" ");
}
intmain()
{
inta[30],i,j,k=0,m=0,b[30],c[30],d[10]={0};
for(i=0;i<30;i++){
intscore;
scanf("%d",&score);
if(score<0){
j=i;
break;
}
a[i]=score;
}
for(i=0;i<j;i++){
if(a[i]>60)
b[k++]=a[i];
else
c[m++]=a[i];
d[a[i]/10]++;
}
printf("及格人數%d ",k);
print1(b,k);
printf("不及格人數%d ",m);
print1(c,m);
for(i=0;i<10;i++){
printf("%d到%d占:%d%% ",i,(i+1)*10-1,d[i]*10);
}
}
『捌』 用c語言編程統計學生成績,大於等於90的為A,小於90大於等於80為B,小於80大於等於70為C
#include<stdio.h>
int main(){
int score;
scanf("%d",&score);
if(score>=90){
printf("A\n");
}else if(score>=80){
printf("B\n");
}else if(score>=70){
printf("C\n");
}else if(score>=60){
printf("D\n");
}else{
printf("E\n");
return 0;
}
}
『玖』 C語言學生成績統計
可以給你。需要點時間。現在在上課。
#include <stdio.h>
void main()
{
int Password =0,i=0,sum=0;
clrscr();
printf("\n===請輸入密碼!====\n");
while(Password != 1234)
{
if(i>3)
{
printf(" 密碼錯誤!\n ");
return;
}
i++;
printf(" 請輸入密碼!\n");
}
//以上為三次密碼部分,密碼默認1234。
int k=0,b=0;
int stu[50];
loop:
printf("1. 學生成績錄入(限人數50)\n");
printf("2. 顯示學生成績\n");
printf("3. 統計總分平均分\n");
printf("4. 最高分和最低分\n");
printf("5. 統計各分數段人數\n");
printf("6. 退出\n");
abc:
scanf("%d",&k);
switch(k)
{
case 1:
printf("請輸入50個學生成績:\n");
for(i=0;i<50;i++)
{
scanf("%d",&stu[i]);
b=i;
}
printf("請選擇下一個選項:\n");
goto abc;
case 2:
if(b == 50)
{
printf(" 顯示學生成績:\n");
for(i=0;i<50;i++)
printf(" %d ",stu[i]);
printf("請選擇下一個選項:\n");
goto abc;
}
else
{
clrscr();
printf("========================\n");
printf(" 請先輸入50個學生成績:\n");
goto loop;
}
case 3:
if(b == 50)
{
printf(" 顯示學生總分:\n");
for(i=0;i<50;i++)
sum += stu[i];
printf(" %d ",sum);
printf("請選擇下一個選項:\n");
goto abc;
}
else
{
clrscr();
printf("========================\n");
printf(" 請先輸入50個學生成績:\n");
goto loop;
}
case 4:
if(b == 50)
{
printf(" 顯示學生最大分,最小分:\n");
min = stu[0];
max = stu[49];
for(i=0;i<50;i++)
if(min > stu[i])
min = stu[i];
for(i=0;i<50;i++)
if(max < stu[i])
max = stu[i];
printf(" %d %d ",max ,min);
printf("請選擇下一個選項:\n");
goto abc;
}
else
{
clrscr();
printf("========================\n");
printf(" 請先輸入50個學生成績:\n");
goto loop;
}
case 5:
if(b == 50)
{
printf(" 統計各分數段人數:\n");
// ************************************
// 哥們,這里你自己來寫好嗎?我給點提示,把及格,不及格寫出來。細分分數段,你自己來吧。
int x=0,y=0;
for(i=0;i<50;i++)
if (stu[i]>=60)
x++;
else
y++;
printf(" 及格人數 %d 人,不及格人數 %d 人\n",x,y);
// ***********************************
printf("請選擇下一個選項:\n");
goto abc;
}
else
{
clrscr();
printf("========================\n");
printf(" 請先輸入50個學生成績:\n");
goto loop;
}
case 6:
break;
default:
clrscr();
printf("========================\n");
printf(" 請先輸入50個學生成績:\n");
goto loop;
}
//switch語句結束。
getch();
}
親,剛寫好了。我沒調試。這個僅供參考。自己調試,有錯就找找。
是否可以解決您的問題?