假设今天是星期日,编写一个程序,求123456天后是星期几

我编写的程序如下:

#include<stdio.h>
int main()
{
int n,iday;
printf("请输入天数:");
scanf("%d\n",&n);
iday=n%7;
switch(iday)
{
case 0:
printf("%d天后是星期日",n);
break;
case 1:
printf("%d天后是星期一",n);
break;
case 2:
printf("%d天后是星期二",n);
break;
case 3:
printf("%d天后是星期三",n);
break;
case 4:
printf("%d天后是星期四",n);
break;
case 5:
printf("%d天后是星期五",n);
break;
case 6:
printf("%d天后是星期六",n);
break;
default :
printf("你输入的不是数字");
break;
}
return 0;
}

当输入123456后,程序没反应,只有当按键盘上任一个键,接着按enter键才能显示结果,请问这是什么原因?请指教!!!

你用的什么C语言,如果不是32位的系统,那么123456已经超过int的表示范围了,你应该使用long类型,输入、输出使用%ld,注意d前面是字母l,不是数字1
温馨提示:答案为网友推荐,仅供参考