用C语言编程判断N天以后星期几
目的是,输入今天星期几的单词,然后再输入N,运行判断N天后是星期几,输出。以下是我编的程序,能不能帮忙挑下错?始终输入天数以后就跳出了.......#include<st...
目的是,输入今天星期几的单词,然后再输入N,运行判断N天后是星期几,输出。
以下是我编的程序,能不能帮忙挑下错?始终输入天数以后就跳出了.......
#include <stdio.h>
#include <string.h>
void main()
{
int h=0;
int n,g;
char a[10];
char week_day[][10]={"sunday","monday","tuesday","wednesday","thursday","friday","saturday"};
printf("请输入一个星期的单词:\n");
gets(a);
int i;
for(i=0;i<7;i++)
{
if(strcmp(a,week_day[i])==0)g=i;
}
scanf("%d",h);
n=h%7+g;
switch(n)
{
case 0:printf("星期日");break;
case 1:printf("星期一");break;
case 2:printf("星期二");break;
case 3:printf("星期三");break;
case 4:printf("星期四");break;
case 5:printf("星期五");break;
case 6:printf("星期六");break;
}
} 展开
以下是我编的程序,能不能帮忙挑下错?始终输入天数以后就跳出了.......
#include <stdio.h>
#include <string.h>
void main()
{
int h=0;
int n,g;
char a[10];
char week_day[][10]={"sunday","monday","tuesday","wednesday","thursday","friday","saturday"};
printf("请输入一个星期的单词:\n");
gets(a);
int i;
for(i=0;i<7;i++)
{
if(strcmp(a,week_day[i])==0)g=i;
}
scanf("%d",h);
n=h%7+g;
switch(n)
{
case 0:printf("星期日");break;
case 1:printf("星期一");break;
case 2:printf("星期二");break;
case 3:printf("星期三");break;
case 4:printf("星期四");break;
case 5:printf("星期五");break;
case 6:printf("星期六");break;
}
} 展开
4个回答
展开全部
1.你可以输出下 g 的值 看看你输入后转换为 g的值 是否正确
2. n=(h+g)%7; //假如h=5 g=6;按照你的算法 n该等于多少了呢
3.在最后加入system("PAUSE"); 等回车后才消失
建议:当遇到问题的时候,尽量把每一步计算结果都输出来看一下,一步一步找问题,很快就能解决的,前边我提到的两个问题,如果你能把计算的结果 g 和n都输出出来,相信你自己一看就明白了
2. n=(h+g)%7; //假如h=5 g=6;按照你的算法 n该等于多少了呢
3.在最后加入system("PAUSE"); 等回车后才消失
建议:当遇到问题的时候,尽量把每一步计算结果都输出来看一下,一步一步找问题,很快就能解决的,前边我提到的两个问题,如果你能把计算的结果 g 和n都输出出来,相信你自己一看就明白了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
scanf语句要加取地址符& 改为scanf("%d",&h);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这句有问题:
scanf("%d",h);
应该是 scanf("%d",&h);
scanf("%d",h);
应该是 scanf("%d",&h);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
万一今天是星期六呢 g=6 h%7 是个小于7大于0的数 加到一起至少为6 万一等于12 13呢 你怎么case
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询