点赞(0)
 

0.0分

48 人评分

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

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

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

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

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

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

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

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

评论列表 共有 30 条评论

uq_46693544353 11月前 回复TA
#include <stdio.h>
struct nian{
    int year, month, day;
};
int main(void)
{
    struct nian i;
    int j, t;
    int sum = 0;
    int a[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    scanf("%d %d %d",&i.year, &i.month, &i.day);
    for(j = 0; j < i.month - 1; j++){
        sum += a[j];
    }
    t = sum + i.day;
    if(i.month > 2){
        if(i.year % 4 == 0 && i.year % 100 != 0 || i.year % 400 == 0){
            t++;
        }
    }
    printf("%d\n",t);
    return 0;
    }
KRWE 1年前 回复TA
#include<stdio.h>
 struct arr 
{
	int Year; //年
	int Monht; //月
	int Day; //日
}p;
int main()
{
	int a[13] = { 31,29,31,30,31,30,31,31,30,31,30,31 };//a[13]在我的编译器中会越界,当然也可以写a[12+1]留一个\n位置
	scanf("%d %d %d", &p.Year, &p.Monht, &p.Day);
	if (p.Year % 4 == 0 && p.Year % 100 != 0 || p.Year % 400 == 0)
	{
		int j = 0;
		p.Monht--;减去输入的最后一个月,输入的天数代替
		for (int i = 0; i < p.Monht; i++)
		{
			j += a[i];
		}
		j += p.Day;天数
		printf("%d",j);
	}
	else {
		int j = 0;
		p.Monht--;
		for (int i = 0; i < p.Monht; i++)
		{
			j += a[i];
		}
		j += p.Day;
		j--;//平年比闰年少一天
		printf("%d", j);
	}
		}
	return 0;
悠游 1年前 回复TA
@uq_67648569372 用来计数的记得赋0,要养成习惯,int w=0;还有三目运算符那段呃,return year%100 ? ((year%4) ? 0:1):((year%400)? 0:1);这么写更符合点吧(╹ڡ╹ )(╹ڡ╹ )
uq_67648569372 1年前 回复TA
#include <stdio.h>

int nian(int year) {
	return year % 400 ? ((year % 4) ? 0 : 1 ) : 1;
}

struct t {
	int year;
	int month;
	int day;
} ;

int main() {
	int w;
	struct t sc;
	int months[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
	scanf("%d %d %d", &sc.year, &sc.month, &sc.day);
	for (int i = 0; i < sc.month - 1; i++) {
		w += months[i];
	}
	w += sc.day;
	if ((nian(sc.year) && sc.month > 2))
		w++;
	printf("%d\n", w);
	return 0;
}//为什么代码运行结果没问题但是过不了,显示答案错误
菜鸡的小刘 1年前 回复TA
@刘陈晨 main写错了,你起码要能运行呀
刘陈晨 1年前 回复TA
#include<stdio.h>
struct date
{
	int year;
	int month;
	int day;
};
int mian()
{
	struct date a;
	int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
	int sum=0;
	scanf("%d%d%d",&a.year,&a.month,&a.day);
	if(year%400==0||year%4==0&&year%100!=0)//为闰年 
	{
		a[1]=29;//第二个月 
	}
	for(int i=0;i<a.month-1;i++)//如果3月,则天数为一月加二月的总天数,再加上三月的日期。 
	{
		sum=sum+a[i];// 加前面完全过了的月份 
	}
	sum=sum+a.day;//加上这个月的天数。
	printf("%d",sum);
	return 0; 
	

}请问这个为什么不对呀?
锦煦 1年前 回复TA
else语句可以省略
dotcpp0639468 1年前 回复TA
#include<stdio.h>
struct demo{
    int year;
    int month;
    int day;
};
int main(){
    struct demo a;
    scanf("%d%d%d",&a.year,&a.month,&a.day);
    int b[12]={31,28,31,30,31,30,31,31,30,31,30,31};
    int sum=0,i;
    for(i=0;i<a.month-1;i++){
            sum=sum+b[i];
        }
    sum=sum+a.day;
    if(a.year%400==0||(a.year%4==0&&a.year%100!=0)){
        sum=sum+1;
    }
    printf("%d",sum);
    return 0;
}
明月几时有 2年前 回复TA
@奋斗的嘉 #include<stdio.h>  typedef struct Time {     int year;     int month;     int day; }Time;  int calculation_date(Time *pdate) {     int num,a;    // 判断2月多少天     if(pdate->year%4==0)     {         a=29;     }     else     {         a=28;     }          //计算不同月份的天数     switch(pdate->month)         {             case 1:num=pdate->day;break;             case 2:num=31+pdate->day;break;             case 3:num=31+a+pdate->day;break;             case 4:num=31+a+30+pdate->day;break;             case 5:num=31+a+30+31+pdate->day;break;             case 6:num=31+a+30+31+30+pdate->day;break;             case 7:num=31+a+30+31+30+31+pdate->day;break;             case 8:num=31+a+30+31+30+31+31+pdate->day;break;             case 9:num=31+a+30+31+30+31+31+30+pdate->day;break;             case 10:num=31+a+30+31+30+31+31+30+31+pdate->day;break;             case 11:num=31+a+30+31+30+31+31+30+31+30+pdate->day;break;             case 12:num=31+a+30+31+30+31+31+30+31+30+31+pdate->day;break;         }                       return num; }   int main() {     int num;     Time date; 	scanf("%d %d %d",&date.year,&date.month,&date.day); 	Time *p=&date; 	num=calculation_date(p); 	 	printf("%d
",num); 	 	 	 	return 0; }
坚果 2年前 回复TA
@奋斗的嘉 #include<stdio.h> #include<string.h> int main() { 	struct time 	{ 		int year; 		int mon; 		int day; 	}t; 	int sum=0; 	scanf("%d %d %d",&t.year,&t.mon,&t.day); 	switch(t.mon) 		{ 			case 12:sum=sum+t.day; 			case 11: 					if(t.mon>11) 					sum=sum+30; 					else sum=sum+t.day; 			case 10: 					if(t.mon>10) 					sum=sum+31; 					else sum=sum+t.day; 			case 9: 					if(t.mon>9) 					sum=sum+30; 					else sum=sum+t.day; 			case 8: 					if(t.mon>8) 					sum=sum+31; 					else  sum=sum+t.day; 			case 7: 					if(t.mon>7) 					sum=sum+31; 					else  sum=sum+t.day; 			case 6: 					if(t.mon>6) 					sum=sum+30; 					else  sum=sum+t.day; 			case 5: 					if(t.mon>5) 					sum=sum+31; 					else  sum=sum+t.day; 			case 4: 					if(t.mon>4) 					sum=sum+30; 					else  sum=sum+t.day; 			case 3: 					if(t.mon>3) 					sum=sum+31; 					else  sum=sum+t.day; 			case 2: 					if((t.year%4==0&&t.year%100!=0)||t.year%400==0) 					sum=sum+29;	 					else sum=sum+28; 			case 1: 				if(t.mon>1) 				sum=sum+31; 				else  sum=sum+t.day;		 		}//不跳出循环  		printf("%d",sum); 	return 0; }