带你学c带你飞S1E17第1动动手
可以运行,但不知道为啥打不了今年的日期,有大佬告诉我这个程序的漏洞吗?题目 是求从出生到现在一共活了多少天如果有【】被吞了是帖子问题,我有输入的{:10_266:}
#include<stdio.h>
int main()
{
int days,year;
int count,a,i,b;
int c=0,q=0;
int mon[]={31,28,31,30,31,30,31,31,30,31,30,31};
int d=0,sum=0,f;
printf("请输入你的生日(如1988-05-20): ");
scanf("%d",&days);
printf("请输入今年日期(2016-03-28): ");
scanf("%d",&year);
for(a=days+1;a<year;) //算出相隔的年的数量
{
d++;
a++;
if(a%400==0||(a%4==0&&a%100!=0))//判断是否为闰年
{
i++;
}
else
{
count=(d-i)*365+i*366;
}
}
if(year%400==0||(year%4==0&&year%100!=0))//判断今年那年是否是闰年
{
if(year>2)//判断月份是否大于2月份
{
mon=29;
for(b=0;b<year-1;b++)
{
c=mon+c;//计算月份的天数
}
}
else if(year=2)
{
c=31;
}
else
{
c=0;
}
}
else
{
for(b=0;b<year-1;b++)
{
c=mon+c;
}
}
if(days%400==0||(days%4==0&&days%100!=0))//判断生日的年份是否为闰年
{
if(days=1)
{
mon=29;
for(b=1;b<12&&b>0;b++)
{
q=q+mon;
}
}
else
{
for(b=2;b<12&&b>=days;b++)
{
q=q+mon;
}
}
f=mon-days;//用月份数减去生日的当天
}
else
{
for(b=days;b<12&&b>=days;)
{
q=q+mon;
}
f=mon-days;
}
sum=count+c+q+year+f;
printf("你在这个世界上总共生存了%d天\n",sum);
return 0;
} 只给最后一个元素赋值有啥用,何况最后一个元素的下标也应该是2才对
scanf("%d",&days);
scanf("%d",&year); #include<stdio.h>
int main()
{
int days,year;
int count,a,i,b;
int c=0,q=0;
int mon[]={31,28,31,30,31,30,31,31,30,31,30,31};
int d=0,sum=0,f;
printf("请输入你的生日(如1988-05-20): ");
scanf("%d-%d-%d",&days,&days,&days);
printf("请输入今年日期(2016-03-28): ");
scanf("%d-%d-%d",&year,&year,&year);
for(a=days+1;a<year;) //算出相隔的年的数量
{
d++;
a++;
if(a%400==0||(a%4==0&&a%100!=0))//判断是否为闰年
{
i++;
}
else
{
count=(d-i)*365+i*366;
}
}
if(year%400==0||(year%4==0&&year%100!=0))//判断今年那年是否是闰年
{
if(year>2)//判断月份是否大于2月份
{
mon=29;
for(b=0;b<year-1;b++)
{
c=mon+c;//计算月份的天数
}
}
else if(year=2)
{
c=31;
}
else
{
c=0;
}
}
else
{
for(b=0;b<year-1;b++)
{
c=mon+c;
}
}
if(days%400==0||(days%4==0&&days%100!=0))//判断生日的年份是否为闰年
{
if(days=1)
{
mon=29;
for(b=1;b<12&&b>0;b++)
{
q=q+mon;
}
}
else
{
for(b=2;b<12&&b>=days;b++)
{
q=q+mon;
}
}
f=mon-days;//用月份数减去生日的当天
}
else
{
for(b=days;b<12&&b>=days;)
{
q=q+mon;
}
f=mon-days;
}
sum=count+c+q+year+f;
printf("你在这个世界上总共生存了%d天\n",sum);
return 0;
}
注意 数组是从下标0(&days, &year)开始访问的 3120781247 发表于 2022-5-7 22:29
#include
int main()
好的,谢谢,我知道了哪里错了,我去运行一下{:10_254:} 3120781247 发表于 2022-5-7 22:29
#include
int main()
emm改了也运行不了{:10_266:} 风车呼呼呼 发表于 2022-5-7 18:58
只给最后一个元素赋值有啥用,何况最后一个元素的下标也应该是2才对
改了也不行{:10_266:} 不知君 发表于 2022-5-8 14:25
改了也不行
怎么改的?输入是什么 你怎么输入的 不知君 发表于 2022-5-8 14:24
emm改了也运行不了
我在手机上都能运行{:10_249:} 3120781247 发表于 2022-5-8 19:29
我在手机上都能运行
就是把scanf("%d-%d-%d",&year,&year,&year);这些都加回去啊,其他都一样的
页:
[1]