A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ★彬★卍囧神 中级黑马   /  2014-5-21 21:11  /  2024 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*10、小明从200611日开始,每三天结识一个美女两天结识一个帅哥,
编程实现当输入200611日之后的任意一天,
输出小明那天是结识美女还是帅哥(注意润年问题)(C语言)*/
#include <stdio.h>
int main()
{
         intrunnian(int *p, int *q);
         intt,n,y,r;                   //1.y表示第几个月 r表示第几日 t表示2月多少天 n表示当前共多少天
         inta;                                     //2.表示年份
         ints;                                     //3.表示存在多少个闰年
         intday;            //4.总过多少天
         s= runnian(&t, &a);//5.调用ruannian()函数,返回有几个闰年
         printf("请输入月份:\n");//6.按要求输入月份输入
         scanf("%d",&y);
         
while ( (y >=12) || (0 >= y) ){
                   printf("输入错误请重新输入月份:\n");
                   scanf("%d",&y);
         }
         printf("请输入日:\n"); //7.按要求输入日
         scanf("%d",&r);
         while( (r >=31) || (0 >= r) ){
                   printf("输入错误请重新输入日:\n");
                   scanf("%d",&r);
         }
{
         if(y== 12)                                               //8.判断是哪个月,计算出在当年中总共的天数
         n= 6*31+4*30+t+r;
         elseif(y ==11)
         n= 6*31+3*30+t+r;
         elseif(y == 10)
         n= 5*31+3*30+t+r;
         elseif(y == 9)
         n= 5*31+2*30+t+r;
         elseif(y == 8)
         n= 4*31+2*30+t+r;
         elseif(y ==7)
         n= 3*31+2*30+t+r;
         elseif(y == 6)
         n= 3*31+1*30+t+r;
         elseif(y == 5)
         n= 2*31+1*30+t+r;
         elseif(y == 4)
         n= 2*31+0*30+t+r;
         elseif(y ==3)
         n= 31+t+r;
         elseif(y== 2)
         n= 31+r;
         elseif(y == 1)
         n= r;
}
         day= n+s+365*(a-2006)-1;               //9.计算出总过的天数
         if("day%3 == 1")
         printf("%d天遇到的是美女\n",day);//10.打印出遇到的是美女还是帅哥
         else
         printf("%d天遇到的是帅哥\n",day);
         return0;
}
int runnian(int *p, int *q)
{
         intnum=0;                                                                         //1.num用来记录有多少闰年
         printf("请输入年份:\n");                                  //2.按要求输入年份       年份必须大于2006
         scanf("%d",q);
         while( *q <= 2006 ){
                   printf("输入错误请重新输入年份:\n");
                   scanf("%d",q);
         }
         for(inti=0; i<=*q-2006 ;i++)                        //3.循环判断这之间的年份是否有闰年,有计数加以且是闰年就将2月定为29天否则28
         {
                   if((2006+i)%400 == 0 )
         {
                   *p=29;                                                                       
                   num++;
         }
                   elseif( ( (2006+i)%4 == 0) && ( (2006+i)%100 != 0) )
                   {
                            *p=29;
                            num++;
                   }
                            else
                                     *p=28;
         }
         returnnum;                                                                       //4.返回有几个闰年
         
}

7 个回复

倒序浏览
分析的不错,就是变量名字看着有点晕乎。
回复 使用道具 举报
赞一个······
回复 使用道具 举报
傘が咲く 发表于 2014-5-22 16:23
分析的不错,就是变量名字看着有点晕乎。

最近发帖都不加分了哎
回复 使用道具 举报
这个共享加分条件是要求5人回复的,够人数肯定加!{:3_47:}
回复 使用道具 举报
傘が咲く 发表于 2014-5-23 11:00
这个共享加分条件是要求5人回复的,够人数肯定加!

:L原来是这样啊
回复 使用道具 举报
仔细研究下加分规则,那就好办了,回答问题尽量详细注释,论坛提问最好附上代码,小手一抖,技术分到手!
回复 使用道具 举报
现在回帖加分了。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马