Description
某小組5人,每人三項數據:姓名、年齡、分數,鍵盤輸入這些人的數據,求小組的平均分及成績最高者的數據
說明:年齡和分數都是整數
Input
鍵盤輸入5個人的數據
Output
輸出平均分及成績最高者的數據
注:后台數據可以保證平均分是一個整數,沒有小數
Sample Input
Sample Output
#include<stdio.h>
struct grade
{
char a[5];
int age;
int grade;
};
int main()
{
struct grade A[5];
int i;
for(i=0;i<5;i++)
{
scanf("%s",A[i].a);
scanf("%d%d",&A[i].age,&A[i].grade);
}
int sum=0;
for(i=0;i<5;i++)
{
sum+=A[i].grade;
}
sum=sum/5;
int k=0;
for(i=0;i<5;i++)
{
if(A[i].grade>A[k].grade)
{
k=i;
}
}
printf("%d\n",sum);
printf("%s,%d,%d",A[k].a,A[k].age,A[k].grade);
return 0;
}
Description
寫兩個函數:
1、一個函數中輸入10個學生的數據,每個人都包括三項基本資料:學號,生日,分數(整數)。
2、另一個函數可以按照分數由高到低的順序將每個人的資料排列輸出。
主函數已在后台,提交時會自動添加在你的代碼之后。
主函數如下:
int main()
{
struct student s[10];
input(s,10);
sort(s,10);
return 0;
}
請編寫所需代碼。
Input
10個學生的數據,每人一行
Output
輸出排序后的數據,每人一行
Sample Input
Sample Output
#include<stdio.h>
struct birthday
{
int year;
int month;
int day;
};
struct student
{
int num;
struct birthday t;
int grade;
};
void input(struct student *p,int n)
{
int i;
for(i=0;i<n;i++)
{
scanf("%d",&p->num);
scanf("%d %d %d",&p->t.year,&p->t.month,&p->t.day);
scanf("%d",&p->grade);
p++;
}
}
void sort(struct student *p,int n)
{
int i;
struct student temp;
int j;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-i-1;j++)
{
if((p+j)->grade<(p+j+1)->grade)
{
temp=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=temp;
}
}
}
for(i=0;i<n;i++)
{
printf("%d,%d/%d/%d,%d\n",p->num,p->t.year,p->t.month,p->t.day,p->grade);
p++;
}
}
int main()
{
struct student s[10];
input(s,10);
sort(s,10);
return 0;
}
Description
主函數如下:
int main()
{
struct time a,b,c;
scanf("%d%d%d",&a.h,&a.m,&a.s);
scanf("%d%d%d",&b.h,&b.m,&b.s);
sub(&a,&b,&c);
printf("%d:%d\'%d\"\n",c.h,c.m,c.s);
return 0;
}
主函數已在后台,您只需提交結構體定義以及sub函數的定義即可,系統會自動將主函數代碼追加到您提交(修改)的代碼之后。
Input
輸入6個整數作為兩個時間的小時、分鍾、秒
Output
輸出兩個時間相加之后的總時間
Sample Input
Sample Output
#include<stdio.h>
struct time
{
int h;
int m;
int s;
};
void sub(struct time *a,struct time *b,struct time *c)
{
c->s=a->s+b->s;
c->m=a->m+b->m;
c->h=a->h+b->h;
if(c->s>=60)
{
c->s-=60;
c->m+=1;
}
if(c->m>=60)
{
c->m-=60;
c->h+=1;
}
}
int main()
{
struct time a,b,c;
scanf("%d%d%d",&a.h,&a.m,&a.s);
scanf("%d%d%d",&b.h,&b.m,&b.s);
sub(&a,&b,&c);
printf("%d:%d\'%d\"\n",c.h,c.m,c.s);
return 0;
}
Description
某小組5人,每人三項數據:姓名、年齡、考試分數,鍵盤輸入這些人的數據,輸出小組中成績最高者的數據
說明:年齡和分數都是整數,姓名中沒有空格
Input
輸入5個人的數據
Output
輸出成績最高者的信息
Sample Input
Sample Output
#include<stdio.h>
struct grade
{
char a[5];
int age;
int grade;
};
int main()
{
struct grade A[5];
int i;
for(i=0;i<5;i++)
{
scanf("%s",A[i].a);
scanf("%d %d",&A[i].age,&A[i].grade);
}
int k=0;
for(i=0;i<5;i++)
{
if(A[i].grade>A[k].grade)
{
k=i;
}
}
printf("%s,%d,%d",A[k].a,A[k].age,A[k].grade);
}