点赞(0)
 

0.0分

48 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 30 条评论

uq_78574605120 2年前 回复TA
#include <stdio.h>

int main() {
	struct date {
		int year;
		int month;
		int day;

	};
	struct date a;
	int sum = 0;
	scanf("%d%d%d", &a.year, &a.month, &a.day);
	for (int i = 1; i <= a.month; i++) {
		if (i == a.month) {
			sum += a.day;
		} else {
			switch (i) {
				case 1:
				case 3:
				case 5:
				case 7:
				case 8:
				case 10:
				case 12:
					sum += 31;
					break;
				case 2:
					if ((a.year % 4 == 0 && a.year % 100 != 0) || a.year % 400 == 0)
						sum += 29;
					else
						sum += 28;
					break;

				case 4:
				case 6:
				case 9:
				case 11:
					sum += 30;
					break;
heart 2年前 回复TA
@杨静初 因为要这里统计的是m月之前的月份天数,比如m=5 前四个月不就是0123么
在路上 2年前 回复TA
@杨静初 因为i是从零开始的所以要减一
uq_13562458370 2年前 回复TA
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct str{
    int year;
    int month;
    int day;
};//注意这里的结尾处冒号
int isleapyear(int x);
void main()
{   
    int sum=0;
    struct str stu;
    scanf("%d %d %d", &stu.year,&stu.month,&stu.day);    
    int arr[12]={31,28,31,30,31,30,31,31,30,31,30,31};
    for(int i=0;i<stu.month-1;i++)
    {
        sum+=arr[i];
    }
    if(isleapyear(stu.year))
        sum=sum+stu.day+1;
    else
        sum=sum+stu.day;
    printf("%d",sum);
    system("pause");
}
int isleapyear(int x)
{
    if(x%4==0 && x%100==0 || x%400==0) return 1;
    else
乐观塔达 2年前 回复TA
@奋斗的嘉 有想法,但不多
渐变 2年前 回复TA
@学c学到秃头 感觉你这个好简练,更实用的样子,就是这两点不大懂《--···--》
渐变 2年前 回复TA
@学c学到秃头 还有这个int *c;定义是干啥的,求教
渐变 2年前 回复TA
@学c学到秃头 主函数内部也可以定义结构体吗?我迷糊了
天苜仙影 2年前 回复TA
@buzi 1、3、5、7、8、10、12月好像都是三十一天吧用i%2不行
奋斗的嘉 2年前 回复TA
#include<stdio.h>
#include<math.h>
int main()
{
	int sum;
	struct {
		int y;
		int m;
		int d;
	}a;
	scanf("%d%d%d",&a.y,&a.m,&a.d);
	switch (a.m) {
		case 1:
			sum=a.d;break;	
		case 2:
			sum=31+a.d;break;
		case 3:
			sum=31+28+a.d;break;
		case 4:
		    sum=31+28+31+a.d;break;
		case 5:
		    sum=31+28+31+30+a.d;break;
		case 6:
		    sum=31+28+31+30+31+a.d;break;
		case 7:
			sum=31+28+31+30+31+30+a.d;break;
		case 8:
			sum=31+28+31+30+31+30+31+a.d;break;
		case 9:
			sum=31+28+31+30+31+30+31+31+a.d;break;
		case 10:
			sum=31+28+31+30+31+30+31+31+30+a.d;break;
		case 11:
			sum=31+28+3