数据类型的自定义(1)

Description

某小组5人,每人三项数据:姓名、年龄、分数,键盘输入这些人的数据,求小组的平均分及成绩最高者的数据

说明:年龄和分数都是整数

Input

键盘输入5个人的数据

Output

输出平均分及成绩最高者的数据

注:后台数据可以保证平均分是一个整数,没有小数

Sample Input

aaa 18 90 bbb 19 80 ccc 19 80 ddd 18 60 eee 18 70

Sample Output

76 aaa,18,90
 
 

#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、另一个函数可以按照分数由高到低的顺序将每个人的资料排列输出。

主函数已在后台,提交时会自动添加在你的代码之后。

扫描二维码关注公众号,回复: 6264459 查看本文章

主函数如下:

int main()

{

       struct student s[10];

       input(s,10);

       sort(s,10);

       return 0;

}

请编写所需代码。

Input

10个学生的数据,每人一行

Output

输出排序后的数据,每人一行

Sample Input

5 1990 10 1 86 3 1992 1 5 90 8 1991 3 1 70 9 1990 5 5 65 1 1991 6 22 89 4 1992 12 31 77 2 1990 1 1 87 6 1989 6 6 92 10 1990 8 1 88 7 1992 3 9 82

Sample Output

6,1989/6/6,92 3,1992/1/5,90 1,1991/6/22,89 10,1990/8/1,88 2,1990/1/1,87 5,1990/10/1,86 7,1992/3/9,82 4,1992/12/31,77 8,1991/3/1,70 9,1990/5/5,65  
 

#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

1 35 40 2 40 50

Sample Output

4:16'30"
 

#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

aaa 18 92 bbb 19 80 ccc 19 80 ddd 18 60 eee 18 70

Sample Output

aaa,18,92
 

#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);
}

猜你喜欢

转载自www.cnblogs.com/deer-king/p/10907163.html