永发信息网

c语言初学者的一个程序问题

答案:4  悬赏:0  手机版
解决时间 2021-04-29 11:35

#include <stdio.h>
void main()
{
int year,m,date,c=0;
for(scanf("%4d%2d%2d",&year,&m,&date);m>1;m--)
{
(m-1==4||m-1==6||m-1==9||m-1==11)?c+=c:(m==2)?((year%4==0&&year%100!=0||year%400==0)?c+=29:c+=28):c+=31;
}
printf("%d\n",c=c+date);
}

最佳答案

1. 有加减乘除运算的话,需要加上 math.h


2. 这题的运算结果有误,我输入2002 12 31 显示的是结果是679



#include <stdio.h>
#include <math.h>
void main()
{
int year,m,date,c=0;
for(scanf("%4d%2d%2d",&year,&m,&date);m>1;m--)
{
(m-1==4||m-1==6||m-1==9||m-1==11)?c+=30:(m-1==2)?((year%4==0&&year%100!=0||year%400==0)?c+=29:c+=28):c+=31; //4,6,9,11月的日子是30天,m-1 == 2 才是2月的,不然输入3月的日子可能就不对了
}
printf("%d\n",c=c+date);
}



具体问题具体对待,这个程序得运行是没有问题的,要看报出的是什么错,可能是环境没有搭好

全部回答
#include <stdio.h> void main() { int year,m,date,c=0; scanf("%4d%2d%2d",&year,&m,&date); // 推荐你把这句拿出来 for(;m>1;m--) { (m-1==4||m-1==6||m-1==9||m-1==11)?c+=30:(m-1==2)?((year%4==0&&year%100!=0||year%400==0)?c+=29:c+=28):c+=31; // c+=30才对,m漏了个-1 } printf("%d\n",c=c+date); }

printf("%d\n",c=c+date);

scanf("%4d%2d%2d",&year,&m,&date);

vc下面不认识

应该用cin,cout

怪了 我也用VC6编译了 怎么没问题 是不是你VC的库路径没配置好 你把编译报的错发上来看看
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
世界上是否有感动存在?
龙之谷S级装备勇者萝丝的项链怎么搞
如何使用多台电脑共享使用两台同样的打印机
谁有罪恶都市完美过关存档?
求一个实况足球2010的最新球员转会补丁
什么颜色可以是心情平静?
我爱他,可她不知道我怎么办啊
为什么我弯腰不超过一分钟就感觉腰特疼。
求姉弟3百度网盘
万步路我想知道这个在什么地方
徽章
判断下面的电路是否能够放大正弦交流信号,一
科技论文怎么写
宫颈癌化疗后小腹疼痛是怎么回事
怎样使用购物卷
推荐资讯
怎么才能把聊天记录找回来和表情
刀剑英雄要练一个攻击变态的双刀怎么加属性点
怎样获得金五星
想与认识了两个月的男朋友分手,怎样和他说,
淑熙唱的一首歌
三星gt s3650c怎么不能安装驱动?
为什么我家电脑会突然自动关机??
怎样才能提高数学成绩啊~烦呜…
现在还能养qq宠物猪猪吗?在哪养?
手指在水中泡一会会出现皱皮微麻木轻微刺痛是
手机屏幕出现裂痕,到修理店可以换的吗?
有09版meg格式的手机QQ吗?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?