| 
 | 
 
 
发表于 2019-10-25 21:32:08
From FishC Mobile
|
显示全部楼层
|阅读模式
 
 
 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
书上题目输入年份和天数,输出相应年月日 
#include <stdio.h> 
1?void month_day( int year, int yearday , int *pmonth, int *pday); 
int main(void) 
{ 
  int day,year,month,yearday; 
  printf("input year and yearday"); 
  scanf("%d,%d",&year,&yearday); 
2 ?month_day(year,yearday,&month,&day); 
 3? printf("%d-%d-%d\n",year,month,day); 
  return 0; 
} 
  void month_day(int year, int yearday, int *pmonth, int *pady) 
{ 
  int k,leap; 
  int tab[2][13]={ 
  {0,31,28,31,30,31,30,31,31,30,31,30,31}, 
  {0,31,29,31,30,31,30,31,31,30,31,30,31}, 
 
  }; 
4 ?leap=(year%4==0&&year%100!=0)||year%400==0; 
   for(k=1;yearday>tab[leap][k];k++) 
     yearday-=tab[leap][k]; 
    *pmonth=k; 
    *pday=yearday; 
}打上问号的是没有不懂 
1 为什么后面有定义了前面还有 
2这个是有什么作用的 
3为什么这里就输出年月日了,不是按顺序先判断后面的才能输出吗 
4leap究竟被赋值哪个数(书上说是判断闰年)但是这个也不是判断语句啊 
提问相关请用注释 
怕你看不懂,我全给你来一遍;如果还不懂,那就没哲了,只能说你是上第一课c;要不然就是上课在睡觉。
 - #include <stdio.h> // 引入头文件
 
  
- void month_day( int year, int yearday , int *pmonth, int *pday); // 声明
 
  
- int main(void) // 1、程序开始进入主函数
 
 - {
 
 -   int day,year,month,yearday; // 2、声明相关变量
 
  
-   printf("input year and yearday"); // 3
 
 -   scanf("%d,%d",&year,&yearday); // 4
 
 -   
 
 -   month_day(year,yearday,&month,&day); // 5 进入 month_day 函数
 
 -   
 
 -   printf("%d-%d-%d\n",year,month,day); // 11
 
 -   
 
 -   return 0; // 12
 
 - }
 
  
- void month_day(int year, int yearday, int *pmonth, int *pady) // 开始定义month_day 函数(也就是具体实现)
 
 - {
 
 -   int k,leap;
 
 -   int tab[2][13]={
 
 -   {0,31,28,31,30,31,30,31,31,30,31,30,31},
 
 -   {0,31,29,31,30,31,30,31,31,30,31,30,31},
 
 -   }; // 6 声明相关变量
 
  
-   leap=(year%4==0&&year%100!=0)||year%400==0; // 7
 
 -   
 
 -   for(k=1;yearday>tab[leap][k];k++) // 8 
 
 -      yearday-=tab[leap][k];
 
  
-   *pmonth=k; // 9
 
 -   *pday=yearday; // 10
 
 - }
 
  复制代码 
 
 
 |   
 
 
 
 |