1.编写一个函数print,输出若干位学生的数据记录,有5位学生,每一位学生的数据记录包括学号(num),姓名(name),三门课的成绩(g[3]),要求用主函数输入这些记录,用print函数输出这些记录。请定义结构体编程实现。
// An highlighted block
//var foo = 'bar';
#include<stdio.h>
struct student
{
int num;
char name;
int g[3];
};
main()
{
struct student stu[5];
int i,j;
for(i=1;i<6;i++)
{
printf("请输入第%d位同学的学号名字\n",i);
scanf("%d%s",&stu[i].num,&stu[i].name);
for(j=1;j<4;j++)
{
printf("请继续输入这位同学的第%d科成绩\n",j);
scanf("%d",&stu[i].g[j]);
}
}
for(i=1;i<6;i++)
{
printf("第%d位同学的学号为%d姓名为%c\n",i,stu[i].num,stu[i].name);
for(j=1;j<4;j++)
{
printf("这位同学的第%d科的成绩为%d\n",j,stu[i].g[j]);
}
}
}
2.编程,定义一个结构体变量(包括年、月、日),键盘输入某一天,计算并输出该日在本年中是第几天?注意闰年问题。
如:
输入:1990,9,20
输出:9月20日是1990年的第263天
// An highlighted block
var foo = 'bar';
#include<stdio.h>
struct ha
{
int year;
int month;
int day;
};
int days(struct ha date)
{
int sum=date.day;
int a[13]= {0,31,28,31,30,31,30,31,31,30,31,30,31};
int i;
for(i=1; i<date.month; i++)
{
sum+=a[i];
}
if(date.month>2&&((date.year%4==0&&date.year%100!=0)||date.year%400==0))
sum++;
return sum;
}
int main()
{
struct ha date;
int sum;
printf("请输入年月日哦\n");
scanf("%d%d%d",&date.year,&date.month,&date.day);
sum=days(date);
printf("%d月%d日是%d年的第%d天",date.month,date.day,date.year,sum);
}