| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 846 人关注过本帖
标题:几个程序分开能写出来,怎么合到一起
只看楼主 加入收藏
我爱热热
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2017-4-22
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
几个程序分开能写出来,怎么合到一起
我:
#include<stdio.h>
int main()
{
    int year,mon,day;
    scanf("%d %d %d",&year,&mon,&day);
    if(mon<1||mon>12)
        printf("false\n");
    else
        switch(mon)
        {
        case 1:    case 3: case 5:    case 7:    case 8:    case 10:case 12:
             {
                 if(day<1||day>31)
                     printf("false\n");
                 else
                     printf("%d,%d,%d\n",year,mon,day);
             }
        case 4: case 6: case 9: case 11:
            {
                if(day<1||day>30)
                     printf("false\n");
                 else
                     printf("%d,%d,%d\n",year,mon,day);
            }
        case 2:
            {
                if(year%4==0&&year%100!=0||year%400==0)
                {
                    if(day<1||day>29)
                        printf("false\n");
                    else
                        printf("%d,%d,%d\n",year,mon,day);
                }
            }

        }
   
    return 0;
}
我:
输出日期对应的星期
#include<stdio.h>
char *name[]={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
void main(void)
{
int d,m,y,e,t,f;
printf("请输入日:");
fflush(stdout);
scanf("%d",&d);
printf("请输入月:");
fflush(stdout);
scanf("%d",&m);
printf("请输入年:");
fflush(stdout);
scanf("%d",&y);
switch(m)
{
case 1:e=d;break;
case 2:e=31+d;break;
case 3:e=59+d;break;
case 4:e=90+d;break;
case 5:e=120+d;break;
case 6:e=151+d;break;
case 7:e=181+d;break;
case 8:e=212+d;break;
case 9:e=243+d;break;
case 10:e=273+d;break;
case 11:e=304+d;break;
case 12:e=334+d;break;
default:return;
}
if(y%4==0&&y%100!=0||y%400==0)
if(m>2)
++e;
--y;
t=y+y/4-y/100+y/400+e;
f=t%7;
printf("这一天是 %s\n",name[f]);
}




 求输入日期前一天和后一天的日期
#include "stdio.h"
void yesterday(int *y,int *m,int *d){
int month[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
if(--*d==0){
if(--*m==2)
*d=28+(*y%400==0 || *y%4==0 && *y%100!=0);
else if(*m==0){
(*y)--;
*m=12;
*d=31;
}
else *d=month[*m];
}
}
void tomorrow(int *y,int *m,int *d){
int month[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
month[2]+=(*y%400==0 || *y%4==0 && *y%100!=0);
if(++*d>month[*m]){
*d=1;
if(++*m>12){
*m=1;
(*y)++;
}
}
}

void main(void){
int y,m,d,yy,mm,dd;
printf("Input y,m,d(such as xxxx xx xx)...\n");
scanf("%d%d%d",&y,&m,&d);
yy=y,mm=m,dd=d;
yesterday(&y,&m,&d);
printf("The yesterday is %d-%d-%d.\n",y,m,d);
tomorrow(&yy,&mm,&dd);
printf("The tomorrow is %d-%d-%d.\n",yy,mm,dd);

}

计算两个日期几天的天数

#include <stdio.h>
int sum(int y,int m,int d)
{
unsigned char x[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int i,s=0;
for(i=1;i<y;i++)
if(i%4==0 && i%100!=0 || i%400==0)
s+=366;//闰年
else
s+=365;//平年

if(y%4==0 && y%100!=0 || y%400==0)
x[2]=29;

for(i=1;i<m;i++)
s+=x[i];//整月的天数
s+=d;//日的天数

return s;//返回总天数,相对公元1年
}

void main()
{
unsigned char y1,m1,d1,y2,m2,d2;
int s1,s2;

printf("输入第一个年 月 日:");
scanf("%d %d %d",&y1,&m1,&d1);
printf("输入第二个年 月 日:");
scanf("%d %d %d",&y2,&m2,&d2);

s1=sum(y1,m1,d1);
s2=sum(y2,m2,d2);

if (s1 > s2)
printf("相差天数:%ld\n",s1-s2);
else
printf("相差天数:%ld\n",s2-s1);

}
搜索更多相关主题的帖子: include false 
2017-04-22 21:54
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:20 
把不需要的main()去掉,在需要的main()中重写对函数的调用。

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-04-22 22:44
快速回复:几个程序分开能写出来,怎么合到一起
数据加载中...
 
   



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

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