BottomCityCoder 2016-01-30 03:09 采纳率: 0%
浏览 1474
已结题

日历制作求助我是学渣

import java.util.Scanner;
public class hello {
public static void main(String args[]){
Scanner in=new Scanner(System.in);
System.out.println("请输入年份(1900年以后):");
int year=in.nextInt();
System.out.println("请输入月份:");
int month=in.nextInt();
System.out.println("请输入日期:");
int day=in.nextInt();
System.out.println("您输入的日期为:"+year+"."+month+"."+day);
int sum=0;
for(int i=1900;i<year;i++){
if(i%4==0&&i%100!=0||i%400==0){
sum=sum+366;
}
else{
sum=sum+365;
}
}
for(int i=1;i<month;i++){
if(month==2){
if(i%4==0&&i%100!=0||i%400==0){
sum=sum+29;
}
else{
sum=sum+28;
}
}
if(month==1||month==3||month==5||month==7||month==8||month==10||month==12){
sum=sum+31;
}
else{
sum=sum+30;
}
}
for(int i=1;i<=day;i++){
sum=sum+1;
}
System.out.print("距1900年为"+sum+"天\t");
int weekday=sum%7;
char week=' ';
switch(weekday){
case 1:
week='一';
break;
case 2:
week='二';
break;
case 3:
week='三';
case 4:
week='四';
break;
case 5:
week='五';
break;
case 6:
week='六';
break;
case 0:
week='日';
break;
}
System.out.println("输入的日期星期:"+week);
System.out.println("日\t一\t二\t三\t四\t五\t六");
for(int i=1;i<=weekday;i++){
System.out.print("\t");

        }
            for(int i=1;i<=30;i++){
                if(weekday==6){
                    System.out.print(i+"\n");
                }
                else{
                    System.out.print(i+"\t");
                }
                sum++;
            }
        }

    }


运行之后是这样的

请输入年份(1900年以后):

1999
请输入月份:
02
请输入日期:
23
您输入的日期为:1999.2.23
距1900年为36240天 输入的日期星期:一
日 一 二 三 四 五 六
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

  • 写回答

3条回答 默认 最新

  • fndlu 2016-01-30 04:47
    关注

    c++版
    #include
    #include
    int *n;
    //void test()
    不用管下面三行//{
    //printf("test:%d---------------------",*n); // n=&_;test();return 0;
    //system("pause");
    //}
    int main()
    {
    char d[7][4]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
    int w[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
    int y,m,s,i,t;
    scanf("%d%d",&y,&m);
    for(i=0;i<7;i++)
    printf("%4s",d[i]);
    printf("\n");
    if(y%400==0)t=1;
    else if(y%100==0)t=2;
    else if(y%4==0)t=1;
    else t=2;
    if(t==1)w[2]=29;
    s=y-1+(y-1)/4-(y-1)/100+(y-1)/400+1;s=s%7;
    for(i=1;i<m;i++)
    s+=w[i];
    s=s%7;
    for(i=0;i<s;i++)
    printf(" ");
    t=s;
    for(i=1;i<=w[m];i++)
    {
    printf("%4d",i);t++;
    if(t==7){printf("\n");t=0;}
    }
    system("pause");
    return 0;
    }

    评论

报告相同问题?

悬赏问题

  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?