A. c語言 求平均數 優秀率 急急急!!!
我很久沒用過C了
總之利用循環
#include
<stdio.h>
#include
<stdlib.h>
main()
{
int
a
=
0;
int
q,
w,
e,
r,
t,
y;
long
sum,b;
int
c
=
0;
scanf("請輸入第%d",c++);
scanf("位同學6門考分\n");
for(a;
a<5;
a++)
{
scanf("%d%d%d%d%d%d",&q,&w,&e,&r,&t,&y);
b
=
(long)q+w+e+r+t+y;
sum
=
sum
+
b;
}
printf("總分為%d",sum);
sum=sum/50;
printf("平均分%d",sum);
sum=sum/100;
printf("優秀率%d",sum);
}
你試試
我這沒法試
錯了就錯了,你可以不給分,好久沒寫這個了
B. 用c語言如何輸入100個學生的成績並且求平均值和最低分及格率
把100分定為最高分,60分為及格分數線。用C語言實現如下:
C. c語言 輸入n個同學的某門課程成績編寫函數計算平均分及優秀(90分以上)的人數
#include<stdio.h>
#include<stdlib.h>
#defineN100
intmain()
{
intgrade[N];
intnumber,average,total=0,count=0;
printf("請確定學生人數: ");
scanf("%d",&number);
printf("請輸入%d個學生的成績: ",number);
for(inti=0;i<number;i++)
{
printf("number%d: ",i+1);
scanf("%d",&grade[i]);
}
for(intj=0;j<number;j++)
{
total+=grade[j];
}
average=total/number;
printf("計算所得平均成績為:%d ",average);
for(intk=0;k<number;k++)
{
if(grade[k]>90)
count++;
}
printf("成績在90分以上的人數是:%d ",count);
return0;
}
D. 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(" ");
}
}
(4)求平均成績和優秀率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;
}
E. 用c語言編寫求平均成績
#include<stdio.h>
#include<stdlib.h>
#include<string.h>struct
record
{
char
xuehao[10];//學號
char
name[20];
//姓名
char
sex[3];//性別
int
ke1;//數學
int
ke2
;//語文
int
ke3;//英語
int
pin;
}stu[50];
int
k=1,n,m;void
readfile();
void
seek();
void
insert();
void
del();
void
save();
void
menu();
void
seek()
{int
i,j,item,flag;char
s1[20];printf("------------------\n");printf("1.按學號查詢\n");printf("2.退出本菜單\n");printf("------------------\n");while(1){
printf("請選擇子菜單編號:");scanf("%d",&item);flag=0;switch(item){case
1:printf("請輸入要查詢的學生的學號:\n");scanf("%s",s1);for(i=0;i<n;i++)if(strcmp(stu[i].xuehao,s1)==0){
flag=1;printf("該學生學號,姓名,性別,數學,語文,英語
分別為:\n");printf("
%s
%s
%s
%d
%d
%d",stu[i].xuehao,stu[i].name,stu[i].sex,stu[i].ke1,stu[i].ke2,stu[i].ke3);}
if(flag==0)
printf("該學號不存在!\n");
break;
case
2:return;
default:printf("請在1-2之間選擇\n");
}
}
}
void
insert()
{
int
i=n,j,flag;
printf("請輸入待增加的學生數:\n");
scanf("%d",&m);
do
{
flag=1;
while(flag)
{
flag=0;
printf("請輸入第
%d
個學生的學號:\n",i+1);
scanf("%s",stu[i].xuehao);
for(j=0;j<i;j++)
if(strcmp(stu[i].xuehao,stu[j].xuehao)==0)
{
printf("已有該學號,請檢查後重新錄入!\n");
flag=1;
break;
}
}
printf("請輸入第
%d
個學生的姓名:",i+1);
scanf("%s",stu[i].name);
printf("\n請輸入第
%d
個學生的性別:",i+1);
scanf("%s",stu[i].sex);
printf("\n請輸入第
%d
個學生的數學成績:",i+1);
scanf("%d",&stu[i].ke1);
printf("\n請輸入第
%d
個學生的語文成績:",i+1);
scanf("%d",&stu[i].ke2);
printf("\n請輸入第
%d
個學生的英語成績:",i+1);
scanf("%d",&stu[i].ke3);if(flag==0)
{
i=i;
i++;
}
}while(i<n+m);
n+=m;
printf("錄入完畢!\n\n");
}void
del()
{
int
i,j,flag=0;
char
s1[20];
printf("請輸入要刪除學生的學號:\n");
scanf("%s",s1);
for(i=0;i<n;i++)
if(strcmp(stu[i].xuehao,s1)==0)
{
flag=1;
for(j=i;j<n-1;j++)
stu[j]=stu[j+1];
}
if(flag==0)
printf("該學號不存在!\n");
if(flag==1)
{
printf("刪除成功,顯示結果請選擇菜單6\n");
n--;
}
}
void
readfile()
{
char
buf[80],*p="student.dat";
FILE
*fp;
int
i=0;
if
((fp=fopen("student.dat","r"))==NULL)
{
printf("Open
file
%s
error!
Strike
any
key
to
exit!",p);
system("pause");
exit(0);
}
while(fscanf(fp,"%s%s%s%d%d%d",stu[i].xuehao,stu[i].name,
stu[i].sex,&stu[i].ke1,&stu[i].ke2,&stu[i].ke3)==6)
{
i++;
i=i;
}
fclose(fp);
n=i;
printf("錄入完畢!\n");
}void
save()
{
int
i,j,k,flag=0;
FILE
*fp;
fp=fopen("student.dat","w");
for(i=0;i<m;i++)
{
fprintf(fp,"%s%s%d%d%d",stu[i].xuehao,stu[i].name,stu[i].sex,&stu[i].ke1,
&stu[i].ke2,&stu[i].ke3);
fclose(fp);
printf("已儲存");
}
}
void
paixu()
{
int
i,j,k,t;
for(i=0;i<m;i++)
{
stu[i].pin=(stu[i].ke1+stu[i].ke2+stu[i].ke3)/3;
}
for(i=0;i<=m-2;i++)
{
k=i;
for(j=i+1;j<=m-1;j++)
if(stu[j].pin<stu[k].pin)
k=j;
if(k!=i)
{
t=stu[k].pin;
stu[k].pin=stu[i].pin;
stu[i].pin=t;
}
}
for(i=0;i<m;i++)
{printf("第
%d
個學生的姓名%s:",i+1,stu[i].name);
printf("\n第
%d
個學生的性別:%s",i+1,stu[i].sex);
printf("\n第
%d
個學生的數學成績:%d",i+1,stu[i].ke1);
printf("\n第
%d
個學生的語文成績:%d",i+1,stu[i].ke2);
printf("\n第
%d
個學生的英語成績:%d",i+1,stu[i].ke3);
printf("\n第
%d
個學生的平均成績:%d",i+1,stu[i].pin); }
}
void
menu()
{
int
nub;
printf("
\n\n學生成績管理系統\n\n");
printf("*****系統功能菜單*****\n");
printf("----------------------\n");
printf("1.輸入學生信息\n");
printf("2.查詢學生信息\n");
printf("3.按學號刪除信息\n");
printf("4.讀入學生信息\n");
printf("5.保存信息(要把修改保存到文件,退出程序前必須執行本項)\n");
printf("6.查詢學生平均成績信息\n");
printf("0.退出系統\n");
printf("----------------------\n");
printf("請選擇菜單編號:");
scanf("%d",&nub);
switch(nub)
{
case
1:insert();break;
case
2:seek();break;
case
3:del();break;
case
4:readfile();break;
case
5:save();break;
case
6:paixu();break;
case
0:k=0;break;
default:printf("請在0-6之間選擇\n");
}}
void
main()
{
while(k)
menu();
}
//平均數是排序後,輸出的,如果你不想直接輸入,那就不要對每個學生進行選擇排序了
F. c語言讀入7個選手的編號與得分,要求輸出優秀率及格率,平均分,輸出排行榜
#include <stdio.h>
typedef struct
{
int number;
int score;
}player;
float average(player play[7])
{
int i;
float sum = 0;
for (i = 0; i < 7; i++)
{
sum += play[i].score;
}
return sum/7;
}
void calc(player play[7], float *good, float *well)
{
int i,j=0,k=0;
for (i = 0; i < 7; i++)
{
if (play[i].score >= 90)
{
j++;
k++;
}
else if (play[i].score >=60)
{
k++;
}
}
*good = (float)j/7;
*well = (float)k/7;
}
void rank(player play[7])//排序,冒泡
{
int i,j;
int tmp,tmpnum;
for (i = 0; i < 7; i++)
{
for (j = 0; j < 6-i; j++)
{
if (play[j].score < play[j+1].score)
{
tmp = play[j].score;
tmpnum = play[j].number;
play[j].score = play[j+1].score;
play[j].number = play[j+1].number;
play[j+1].score = tmp;
play[j+1].number = tmpnum;
}
}
}
printf("\n排行:\n");
for (i= 0; i < 7; i++)
{
printf("%d %d\n", play[i].number, play[i].score);
}
}
void main()
{
player play[7];
int i;
float good,well;
for (i = 0; i < 7; i++)
{
printf("輸入選手編號:");
scanf("%d", &play[i].number);
printf("輸入選手%d的得分:", play[i].number);
scanf("%d",&play[i].score);
}
calc(play, &good, &well);
printf("優秀率為:%f\n", good);
printf("及格率為:%f\n", well);
printf("平均分為:%f\n", average(play));
rank(play);
}
G. 如何用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);
}
H. 輸入20個學生的C語言課程成績,求出其中最高分,最低分和平均分
第五次回答這個問題了。。。實在不想寫了。。。原來寫的你改一下吧,不會改再問哈
#include<stdio.h>
struct people
{
int number;
int mark;
}student[8];
int main()
{
int i,j;
double pass=0,good=0;
printf("請輸入選手編號和成績: ");
for(i=1;i<=7;i++)
{
scanf("%d %d",&student[i].number,&student[i].mark);
if(student[i].mark>=60)
{
pass++;
}
if(student[i].mark>=90)
{
good++;
}
}
for(j=0;j<6;j++) //進行9次循環,實現9趟比較。
{
for(i=1;i<=6-j;i++) //在每一趟中進行9-j次比較。
{
if(student[i].mark<student[i+1].mark) //相鄰兩個數比較。
{
student[0].number=student[i].number;
student[0].mark=student[i].mark;
student[i].number=student[i+1].number;
student[i].mark=student[i+1].mark;
student[i+1].number=student[0].number;
student[i+1].mark=student[0].mark;
}
}
}
printf("及格率為:%.2lf ",pass/7);
printf("優秀率為:%.2lf ",good/7);
printf("排行榜: ");
for(i=1;i<=7;i++)
{
printf("第%d名:%d %d ",i,student[i].number,student[i].mark);
}
}
下面是上述函數輸出效果。。。
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;
}
J. C語言程序 輸入10個學生的成績,要求輸出這10個成績的及格率和優秀率,再輸出不及格的成績
<p>#include <stdio.h></p>
<p>int main()</p>
<p>{</p>
<p>int score[10];</p>
<p>printf("請輸入10個同學的分數\n");</p>
<p>for(int i=0;i<10;i++)</p>
<p>scanf("%d",&score[i]);</p>
<p>int pass=0,excellent=0;</p>
<p>for(i=0;i<10;i++)</p>
<p>{</p>
<p>if(score[i]>=60)</p>
<p>pass++;</p>
<p>if(score[i]>=80)</p>
<p>excellent++;</p>
<p>}</p>
<p>printf("及格率是%g%%\n",pass/10.0*100);</p>
<p>printf("優秀率是%g%%\n",excellent/10.0*100);</p>
<p>printf("\n不及格的分數為");</p>
<p>for(i=0;i<10;i++)</p>
<p>if(score[i]<60)</p>
<p>printf("%3d",score[i]);</p>
<p>printf("\n");</p>
<p>}</p>
<p></p>