luanpaixie262 2016-03-15 08:42 采纳率: 0%
浏览 1471

输入年月日信息问题?完全不知道啊

这个题目怎么实现啊,一点点的思路都没有,不知道如何去计算,谁能给我个java源码啊⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯图片说明

  • 写回答

7条回答

  • lx624909677 2016-03-15 08:46
    关注
     #include <stdio.h> 
    int yd;//定义全局变量,yd表示某一年的总天数  
    int aa(int x) //该函数用来判断是否是闰年 
    {if(((x%4==0)&&(x%100!=0))||(x%400==0)) yd=366;} 
    
    int run2(int x,int d[3])//功能函数 
    {int i,n=d[2],a[12]={0,31,28,31,30,31,30,31,31,30,31,30};//n表示总天数a[1]-a[11]分别代表前11
    个月的天数  
    if(yd==366) a[2]=29;//如果该年是闰年则2月设置为29天否则为28天。  
    for(i=0;i<=d[1]-1;i++) 
    n=n+a[i]; 
    printf("该日是%d年的第%d天。\n",d[0],n); 
    return(n);  
    } 
    
    main() 
    { 
    int md,data[3];//md表示某个月的总天数data[0]-data[2]分别储存年、月、日  
    /*开始输入年份如果年份小于等于0则要求重新输入*/ 
    printf("请输入年份\n"); 
    scanf("%d",&data[0]); 
    while(data[0]<=0) 
    {printf("输入的年份应大于0请重新输入:\n");scanf("%d",&data[0]);} 
    aa(data[0]); 
    /*开始输入月份如果月份小于1或大于12则要求重新输入*/ 
    printf("请输入月份\n"); 
    scanf("%d",&data[1]); 
    while(data[1]<1||data[1]>12) 
    {printf("输入的月份应在1-12之间请重新输入:\n");scanf("%d",&data[1]);} 
    /*根据输入的月份判断该月的总天数*/ 
    switch(data[1]) 
    {case 1:md=31;break; 
    case 2:if(yd==366) md=29;else md=28;break; 
    case 3:md=31;break; 
    case 4:md=30;break; 
    case 5:md=31;break; 
    case 6:md=30;break; 
    case 7:md=31;break; 
    case 8:md=31;break; 
    case 9:md=30;break; 
    case 10:md=31;break; 
    case 11:md=30;break; 
    case 12:md=31; 
    }  
    /*开始输入日如果输入值大于该月的总天数或小于1则要求重新输入*/ 
    printf("请输入日\n"); 
    scanf("%d",&data[2]); 
    while(data[2]>md||data[2]<1) 
    {printf("输入值应小于等于该月的总天数或大于等于1请重新输入:\n");scanf("%d",&data[2]);} 
    printf("您输入的是%d年%d月%d日",data[0],data[1],data[2]); //data[0],data[1],data[2]分别代表
    年、月、日  
    run2(data[0],data);//将输入的年份和数组首地址传给函数  
    } 
    
    二、输入某年的年份和天数计算出该天数是这一年的几月几日如输入2012和
    60则2012年的第60天是2012年2月29日。 
    #include <stdio.h> 
    int yd;//定义全局变量,yd表示某一年的总天数 
    int aa(int x)//该函数用来判断是否是闰年 
    {if(((x%4==0)&&(x%100!=0))||(x%400==0)) yd=366;else yd=365;}//如果是闰年则全年有366天  
    
    int run(int x,int n) //功能函数 
    {int i,m,d,s=0,a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};/m表示月份d表示日i用来遍历
    s用来计算月份的总和a[1]-a[12]分别代表前12个月的天数  
    printf("%d年的第%d天是",x,n); 
    if(yd==366) a[2]=29;//如果该年是闰年则2月设置为29天否则为28天。  
    for(i=0;i<12;i++) 
    {s=s+a[i]; 
    if(n>s&&n<=s+a[i+1])  
    {m=i+1;d=n-s;} 
    } 
    printf("%d月%d日。\n",m,d); 
    } 
    
    main() 
    { 
    int num,year;//num表示天数year表示年份 
    /*开始输入年份如果年份小于等于0则要求重新输入*/ 
    printf("请输入年份\n"); 
    scanf("%d",&year); 
    while(year<=0) 
    {printf("输入的年份应大于0请重新输入:\n");scanf("%d",&year);} 
    
    aa(year); 
    /*开始输入天数如果天数小于等于0或大于该年的总天数则要求重新输入*/ 
    printf("请输入天数\n"); 
    scanf("%d",&num); 
    while(num>yd||num<=0) 
    {printf("输入值应小于一年的总天数请重新输入:\n");scanf("%d",&num);} 
    run(year,num); 
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题