|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- /*
- 输入年份和天数,输出对应的年、月日。要求
- 对应和调用函数month_day(year,yearday,*pmonth,*pday)
- 其中year是年,yearday是天数,*pmonth和*pday是计算得出的月和日。
- 例如,输入2000和61,输出2000-3-1,即2000年的第61天是3月1日。
- */
- #include<stdio.h>
- void month_day(int year,int yearday,int *pmonth,int *pday)
- {
- int a[2][12] = {
- {31,28,31,30,31,30,31,31,30,31,30,31},
- {31,29,31,30,31,30,31,31,30,31,30,31},
- };
- int temp,i;
- temp = ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0 );
- for(i = 0; yearday > a[temp][i]; i++)
- {
- yearday -= a[temp][i];
- }
- *pmonth = i+1;
- *pday = yearday;
- }
- int main()
- {
- int y,d,pmonth,pday;
- printf("请输入年份和天数:");
- scanf("%d %d",y,d);
- month_day(y,d,&pmonth,&pday);
- printf("%d年的第%d天是%d月%d日",pmonth,pday);
- }
复制代码
这个代码不报错,但是运行不了,找了半天也没看见错误,大神帮帮忙。
本帖最后由 sunrise085 于 2020-3-21 20:40 编辑
第32行 scanf要用&y 和 &d
scanf("%d %d",&y,&d)
第35行printf四个格式化字符,但是后面只有两个参数
- /*
- 输入年份和天数,输出对应的年、月日。要求
- 对应和调用函数month_day(year,yearday,*pmonth,*pday)
- 其中year是年,yearday是天数,*pmonth和*pday是计算得出的月和日。
- 例如,输入2000和61,输出2000-3-1,即2000年的第61天是3月1日。
- */
- #include<stdio.h>
- void month_day(int year,int yearday,int *pmonth,int *pday)
- {
- int a[2][12] = {
- {31,28,31,30,31,30,31,31,30,31,30,31},
- {31,29,31,30,31,30,31,31,30,31,30,31},
- };
- int temp,i;
- temp = ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0 );
- for(i = 0; yearday > a[temp][i]; i++)
- {
- yearday -= a[temp][i];
- }
- *pmonth = i+1;
- *pday = yearday;
- }
- int main()
- {
- int y,d,pmonth,pday;
- printf("请输入年份和天数:");
- scanf("%d %d",&y,&d);
- month_day(y,d,&pmonth,&pday);
- printf("%d年的第%d天是%d月%d日",y,d,pmonth,pday);
- }
复制代码
|
|