① 查找5名學生中成績最高者的姓名和成績(c語言結構體)
#include<stdio.h>
#include<string.h>
struct student
{
int score;
char name[10];
}data[5];
void main()
{
int i,j,temp;
char temp1[10];
printf("輸入名字和成績");
for(i=0;i<5;i++)
{
scanf("%s%d",&data[i].name,&data[i].score);
}
for(i=0;i<5;i++)
{
for(j=i+1;j<5;j++)
{
if(data[i].score<data[j].score)
{
temp=data[i].score;
data[i].score=data[j].score;
data[j].score=temp;
strcpy(temp1,data[i].name);
strcpy(data[i].name,data[j].name);
strcpy(data[j].name,temp1);
}
}
}
printf("最高分同學的名字為%s,分數為%d",data[0].name,data[0].score);
}
② C語言從鍵盤輸入5個學生成績並求出平均數最高分最低分
#include
"stdio.h"
float
p;全局定義平均數
void
f(int
a[],int
n)
平均數調用函數
{int
i;
for(i=0;i<n;i++)
p=p+a[i];
p=p/5.0;}
main()
{
int
a[5],i,max,min;
for
(i=0;i<5;i++)
scanf("%d",&a[i]);
max=a[0];
for(i=1;i<5;i++)
{
if(max<a[i])
max=a[i];}最大值
min=a[0];
for(i=1;i<5;i++)
{
if(min>a[i])
min=a[i];最小值
}
f(a,5);
printf("%f\n",p);
printf("%d\n",max);
printf("%d\n",min);
getch();}
把漢字刪掉就行了
用wintc試了
無錯誤
完全原創
個人專利
哈哈
③ C語言編程,輸入五個學生的五科成績,求每科的平均分,最高分,最低分。已有程序,在此基礎上改錯。
#include<stdio.h>
main()
{
doublea[8][5]={0};
inti,j;
for(i=0;i<5;i++){
for(j=0;j<5;j++)
scanf("%lf",&a[i][j]);}
for(j=0;j<5;j++){
for(i=0;i<5;i++)
a[5][j]+=(a[i][j]/5.0);
printf("課程%d的平均分=%g
",j+1,a[5][j]);}
for(i=0;i<5;i++){
a[6][i]=a[0][i];
for(j=1;j<5;j++){
if(a[6][i]>a[j][i])
a[6][i]=a[j][i];}
printf("課程%d的最低分=%g
",i+1,a[6][i]);}
for(i=0;i<5;i++){
a[7][i]=a[0][i];
for(j=0;j<5;j++){
if(a[7][i]<a[j][i])
a[7][i]=a[j][i];}
printf("課程%d的最高分=%g
",i+1,a[7][i]);}
}