C 语言高手 帮忙写个程序~~

2025-12-17 18:02:10
推荐回答(2个)
回答1:

























回答2:

事后发现有BUG,修改了第二次输入0时陷入死循的问题,重新对正了数字的排列

#include"stdio.h"
#include"stdlib.h"

main(){
int day=0,fir=0;
int i,j;
while(!day){
printf("please input the number of days:"); /*输入天数*/
scanf("%d",&day);
printf("%d",day);
if(day<28||day>31){ /*避免牛人输入28天以下31天以上的月份,那是不存在滴*/
printf("you have input a wrong number\nplease do it again!\n");
day = 0;
}
}
printf("for example:\n Sunday is 0 Monday is 1\n"); /*这里从星期日到星期六为0-6*/
while(!fir){
printf("please input what is the frist day of this month:"); /*输入第一天是星期几*/
scanf("%d",&fir);
fir++;
if(fir<1||fir>7){ /*同样也没有星期负一和星期八*/
printf("you have input a wrong number\nplease do it again!\n");
fir = 0;
}
}
printf("this is what you want:\n");
for(i=1;iprintf(" "); /*难怪对不齐,原来百度不支持多空格,这里双引号里有三空格*/
for(i=0;iif(i<9){ /*两个if可以合并,这里为了格式好看*/
printf(" %d",i+1); /*这里两空格加%d*/
}
if(i>=9){
printf(" %d",i+1); /*一空格+%d*/
}
if((fir-1)%7+1==7){
printf("\n");
}
fir++;

}

printf("\nthanks for using!!\n");
getch();
/*至此修改完毕*/
}/*本人亲自编译通过*/