刚学C语言,这道题不会,麻烦大家能不能告诉我代码怎么打?谢谢了!!
问题是这个:男生超过18岁可以喝酒,没有超过18岁时,喝饮料。女生,超过20岁时,可以喝酒,没有超过喝饮料。要用scanf输入年龄和性别,用if或者switch语句写出代...
问题是这个:
男生超过18岁可以喝酒,没有超过18岁时,喝饮料。
女生,超过20岁时,可以喝酒,没有超过喝饮料。
要用scanf输入年龄和性别,用if或者switch语句写出代码
然后下面代码,我刚开始就OVER了
{
printf("请输入你的性别:");
char a[] = "男";
scanf("%s",&a);
int ago;
printf("请输入你的年龄:");
scanf("%d",&ago);
if (ago>18 &&a=="男")
{
printf("可以喝酒");
}
else
{
printf("不可以喝酒!");
}
}
怎么运行都不可以喝酒!!!! 展开
男生超过18岁可以喝酒,没有超过18岁时,喝饮料。
女生,超过20岁时,可以喝酒,没有超过喝饮料。
要用scanf输入年龄和性别,用if或者switch语句写出代码
然后下面代码,我刚开始就OVER了
{
printf("请输入你的性别:");
char a[] = "男";
scanf("%s",&a);
int ago;
printf("请输入你的年龄:");
scanf("%d",&ago);
if (ago>18 &&a=="男")
{
printf("可以喝酒");
}
else
{
printf("不可以喝酒!");
}
}
怎么运行都不可以喝酒!!!! 展开
3个回答
展开全部
#include<stdio.h>
#include<string.h>
int main()
{
char sex[5];
int age;
printf("请输入性别和年龄");
scanf("%d",&age);
scanf("%s",sex);
if(age>20)
{
printf("可以喝酒!");
}
else if(age>18 && strcmp(sex,"男") ==0)
{
printf("可以喝酒!");
}
else
printf("喝饮料!");
return 0;
}
你试试对不对
#include<string.h>
int main()
{
char sex[5];
int age;
printf("请输入性别和年龄");
scanf("%d",&age);
scanf("%s",sex);
if(age>20)
{
printf("可以喝酒!");
}
else if(age>18 && strcmp(sex,"男") ==0)
{
printf("可以喝酒!");
}
else
printf("喝饮料!");
return 0;
}
你试试对不对
2016-07-15
展开全部
if (ago>18 &&a=="男")
字符串比较不能直接用==、>、<、>=、<=这些符号,应该用strcmp()
可以修改如下:
scanf("%s",a);
……
if (ago>18 && strcmp(a,"男") == 0 )
字符串比较不能直接用==、>、<、>=、<=这些符号,应该用strcmp()
可以修改如下:
scanf("%s",a);
……
if (ago>18 && strcmp(a,"男") == 0 )
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
包含头文件
#include <string.h>
scanf("%s",&a);改成scanf("%s",a);
a=="男" 换成 (strcmp(a, "男") == 0)
#include <string.h>
scanf("%s",&a);改成scanf("%s",a);
a=="男" 换成 (strcmp(a, "男") == 0)
追问
能不能写个代码下来呢,整个题目我都有点蒙,给个思路也行,是不是要用到嵌套式if...else语句?
追答
#include
#include
int main(void)
{
int sex_index = 0;
char a[24] = "";
printf("请输入你的性别:");
scanf("%s",&a);
if(strcmp(a, "男") == 0)
sex_index = 1;
else if(strcmp(a, "女") == 0)
sex_index = 2;
else
sex_index = 0;
int ago = 0;
printf("请输入你的年龄:");
scanf("%d",&ago);
switch(sex_index)
{
case 1:
if(ago >= 18)
printf("可以喝酒\n");
else
printf("喝饮料\n");
break;
case 2:
if(ago >= 20)
printf("可以喝酒\n");
else
printf("喝饮料\n");
break;
default:
printf("你不是人\n");
break;
}
return 0;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询