结构体复习

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);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值