| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1044 人关注过本帖, 1 人收藏
标题:能帮我修改下C的一小段程序吗
只看楼主 加入收藏
南国迦叶
Rank: 2
等 级:论坛游民
帖 子:46
专家分:20
注 册:2010-7-9
结帖率:88.24%
收藏(1)
已结贴  问题点数:10 回复次数:13 
能帮我修改下C的一小段程序吗
源码如下:
#include <stdio.h>
main()
{
int year,month,date;
scanf("%d-%d-%d",&year,&month,&date);
printf("the new date is %d-%d-%d\n",year+1,month+1,date+1);
getchar();
}
我刚学C,这是自己编的,就是输入任意的年月日,要求输出新的年月日,新的年月日都加上1。
上面这段可以达到我的要求。但是我有以下疑问:
1.上面的代码是否可以简化
2.如果还是就上述的代码的话,我输入2012-02-11,输出的却是2012-3-12,我如果想得到2012-03-12的结果该如何修改呢?
2.从实际上讲,年月日可以用字符型来表达的,如果把上述年月日三个变量都改字符型该如何操作,我试过用char定义可以输入但是不能输出,运行有问题.如何改成字符型的
搜索更多相关主题的帖子: 如何 要求 年月日 include 
2012-08-14 17:45
dsl975708035
Rank: 3Rank: 3
来 自:平凉
等 级:论坛游侠
帖 子:101
专家分:152
注 册:2012-8-3
收藏
得分:0 
想实现二以我的水平就没法简化代码了

唉,初三要停停了,舍不得啊。。
2012-08-14 18:15
qq872551969
Rank: 9Rank: 9Rank: 9
等 级:禁止访问
威 望:1
帖 子:241
专家分:1377
注 册:2012-7-13
收藏
得分:0 
int main?

编程交流请加群:【234181324】,一起学习,一起进步,新建的群,主打C语言和JAVA等程序设计,等待高手们的入驻,无论你是高手也好,新手也好,在这里都是平等的,欢迎你们的加入~!【234181324】
2012-08-14 18:21
qq872551969
Rank: 9Rank: 9Rank: 9
等 级:禁止访问
威 望:1
帖 子:241
专家分:1377
注 册:2012-7-13
收藏
得分:0 
return(0)

编程交流请加群:【234181324】,一起学习,一起进步,新建的群,主打C语言和JAVA等程序设计,等待高手们的入驻,无论你是高手也好,新手也好,在这里都是平等的,欢迎你们的加入~!【234181324】
2012-08-14 18:23
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:1 
就这么一点 简化的意义不大罢
2012-08-14 18:29
chuanglan
Rank: 2
等 级:论坛游民
威 望:2
帖 子:91
专家分:29
注 册:2012-8-14
收藏
得分:1 
代码是对的,也无法进行简化了,,目前的代码是最优的。。
2012-08-14 18:51
dsl975708035
Rank: 3Rank: 3
来 自:平凉
等 级:论坛游侠
帖 子:101
专家分:152
注 册:2012-8-3
收藏
得分:2 
#include <stdio.h>
main()
{
    int year,month,date;
    scanf("%d-%d-%d",&year,&month,&date);
    if ( month+1<10 || date+1<10 )
     printf("the new date is %d-0%d-0%d\n",year+1,month+1,date+1);
    else
     printf("the new date is %d-%d-%d\n",year+1,month+1,date+1);
    getchar();
}
这段可以实现要求2

唉,初三要停停了,舍不得啊。。
2012-08-14 19:05
Vitens
Rank: 2
等 级:论坛游民
帖 子:38
专家分:47
注 册:2012-7-27
收藏
得分:4 
#include <stdio.h>
main()
{
int year,month,date;
scanf("%d-%d-%d",&year,&month,&date);
printf("the new date is %d-%02d-%02d\n",year+1,month+1,date+1);
getchar();
}
实现第二个问题,只改动了一点点就OK啦~
2012-08-14 19:09
dsl975708035
Rank: 3Rank: 3
来 自:平凉
等 级:论坛游侠
帖 子:101
专家分:152
注 册:2012-8-3
收藏
得分:0 
8楼厉害

唉,初三要停停了,舍不得啊。。
2012-08-14 19:14
南国迦叶
Rank: 2
等 级:论坛游民
帖 子:46
专家分:20
注 册:2010-7-9
收藏
得分:0 
回复 8楼 Vitens
感谢你的解答,答案简洁明了。但是不是很明白&02d的意思,因为之前见过%2d,百分号和后面的d中间的数字表示宽度,见到的也通常是整数,但在2前面加一个0是啥意思哦?
盼解答!
2012-08-14 20:42
快速回复:能帮我修改下C的一小段程序吗
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.045519 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved