【结构体】2.写一个函数days,实现第1题的计算。由主函数将年、月、日传递给days函数,计算后将日子数传回主函数输出。

70 阅读1分钟

发文章好麻烦

题目

2.写一个函数days,实现第1题的计算。由主函数将年、月、日传递给days函数],计算后将日子数传回主函数输出。

#include <stdio.h>
 
struct date {
	int year;
	int month;
	int day;
} d;
 
int monthDays[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
 
int days(struct date *dd) {
	int i, res = 0;
	
	for(i = 1; i < dd->month; i++) {
		res += monthDays[i];
	}
	res += dd->day;
	
	if((dd->year % 400 == 0) || (dd->year % 4 == 0 && dd->year % 100 != 0))	res += 1;
	
	return res;
}
 
int main() {
	int res;
	
	printf("请输入年 月 日:");
	scanf("%d %d %d", &d.year, &d.month, &d.day);
	
	res = days(&d);
	
	printf("\n%d年%d月%d日是第%d天\n", d.year, d.month, d.day, res);
	
	return 0;
}