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

求平均成績和優秀率c語言

發布時間: 2022-09-22 19:58:42

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&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(" ");

}

}

(4)求平均成績和優秀率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;

}

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>