C语言初学 请高手帮我解决下问题 谢谢!

#include<stdio.h>voidmain(){inta;printf("输入今天星期几:");scanf("%d",&a);if((a<1)&&(a>7))pr... #include<stdio.h>
void main()
{
int a;
printf("输入今天星期几:");
scanf("%d",&a);
if((a<1)&&(a>7))
printf("请输入位于1-7之间的数\n");
if((a=6)||(a=7))
printf("周末愉快\n");
if(a<=5)
printf("工作日愉快\n");
}

要求输入1-5显示工作日愉快
输入6 7 显示周末愉快
输入的数字不在1-7之间显示 请输入位于1-7之间的数

我现在的问题是不管输入什么数字都是出现 周末愉快 请高手指导指导 谢谢了 纠正下我的错误在哪!
展开
 我来答
百度网友e54bfe29f
2007-04-25 · TA获得超过528个赞
知道答主
回答量:171
采纳率:0%
帮助的人:0
展开全部
#include<stdio.h>
void main()
{
int a;
printf("输入今天星期几:");
scanf("%d",&a);
if((a<1)||(a>7)) \\这里用"||"表示有一个为真都执行\\
{printf("请输入位于1-7之间的数:\n");
scanf("%d",&a);} \\这里应重新输入\\
if((a==6)||(a==7)) \\这里用"=="表示相等\\
printf("周末愉快\n");
if(a<=5)
printf("工作日愉快\n");
}
程序运行过了!
roberts99
2007-04-25 · TA获得超过211个赞
知道小有建树答主
回答量:498
采纳率:0%
帮助的人:306万
展开全部
应该是a==6或者a==7吧,两个等号。一个等号是赋值,(a=6)的值等于6,判断为非0,就认为是符合条件的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wannano
2007-04-25 · TA获得超过336个赞
知道小有建树答主
回答量:501
采纳率:0%
帮助的人:394万
展开全部
if((a=6)||(a=7)) 应该是if((a==6)||(a==7))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
崔辰wangting
2007-04-25 · TA获得超过3403个赞
知道小有建树答主
回答量:1583
采纳率:0%
帮助的人:0
展开全部
if((a=6)||(a=7)) 要改成if((a==6)||(a==7))。
c语言中单等号是赋值的意思,双等号才是判断两者的逻辑关系的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
疯狂阿里狼
2007-04-25 · TA获得超过172个赞
知道小有建树答主
回答量:521
采纳率:0%
帮助的人:290万
展开全部
把if((a=6)||(a=7))改写成为
if((a==6)||(a==7))
“=”是赋值号来的,“==”才是等号,初学者经常发生的错误。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
281011131
2007-04-25 · TA获得超过1314个赞
知道小有建树答主
回答量:617
采纳率:0%
帮助的人:898万
展开全部
程序改成下面这样就OK了

#include<stdio.h>
void main()
{
int a;
a:
printf("输入今天星期几:");
scanf("%d",&a);
if((a<1)||(a>7)) //不是&&而是||,其中一个就执行
{
printf("请输入位于1-7之间的数\n");
goto a;
}
if((a==6)||(a==7)) //等于号不是=而是==,=是赋值
printf("周末愉快\n");
if(a<=5)
printf("工作日愉快\n");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式