c语言switch语句输入字符(c语言编程,使用switch语句,输入A打印A,输入B打印B,输入C打印C,输入其他字符)
本文目录
- c语言编程,使用switch语句,输入A打印A,输入B打印B,输入C打印C,输入其他字符
- c程序switch语句怎样输入中文字符串
- c语言中菜单里switch语句里形成循环输入的问题(求高人解答)
- C语言程序:输入两个数字及一个符号,用switch语句将输入的符号+ - * /转化成运算符 并输
- c语言 switch语句问题
c语言编程,使用switch语句,输入A打印A,输入B打印B,输入C打印C,输入其他字符
#include《stdio.h》
int main(void)
{
char s;
s=getchar();
switch(s)
{
case ’A’:
{
putchar(s);
break;
}
case ’B’:
{
putchar(s);
break;
}
case ’C’:
{
putchar(s);
break;
}
default:
{
printf("error\n");
break;
}
}
return 0;
}
c程序switch语句怎样输入中文字符串
我自己写了个程序,可以实现字符串的输入:
#include 《stdio.h》
#include 《string.h》
#include 《ctype.h》
int main()
{
int i, len;
char str={"NO"};
printf("你猜她爱我么?《yes/no》:");
gets(str);
len=strlen(str);
for (i = 0; i 《 len; i++)
if (islower(str))
{
str -= 32;
}
puts(str);
if(strcmp(str,love)==0) printf("那是必须的!\n");
else
if(strcmp(str,hate)==0) printf("怎么可能?\n");
else printf("输入错误!\n");
return 0;
}
下面是我用字符串做参数的switch();测试一下,
#include 《stdio.h》
int main()
{
int i, len;
char str;
printf("你说我帅么?《yes/no》:");
scanf("%s",str);
switch (str)
{
case "yes" : printf("that is right!");break;
case "no" : printf("are you crazy?");break;
}
return 0;
}
发现switch语句只能用数值或者字符作为参数,因此lz说的情况是无法实现的。
c语言中菜单里switch语句里形成循环输入的问题(求高人解答)
嘿嘿,
你不妨在你的程序中调试一下看看,
其实当从error调用menu的时候n好像被前面的东西赋值了吧
你可以采用一种方式就是在error函数中添加如下代码就解决问题
char
tmp;
while
((tmp=getchar())
!=
’\n’)
{
continue;
}
C语言程序:输入两个数字及一个符号,用switch语句将输入的符号+ - * /转化成运算符 并输
因为你的scanf()有问题。
scanf("%d%d%c",&a,&b,&c);
你输入b后,可能会按一个空格,或者回车。。。但是这个空格或者回车就会被c接受,从而是c=’ ’(空格)或者c=’\n’(回车),后面输入的运算符就丢失了。
你可以这样改:
1)scanf("%d%d %c",&a,&b,&c);//在%c前面加个空格
2)scanf("%c%d%d",&c,&a,&b);//先输入运算符
3)scanf("%c",&c); scanf("%d%d",&a,&b);
4)scanf("%d%d",&a,&b);
getchar();
c = getchar();
5)scanf("%d%d",&a,&b);
fflush(stdin);
c = getchar();
其中:getchar();表示从键盘或者输入流里面获得一个字符。
fflush(stdin)表示清空输入流。
c语言 switch语句问题
while那个循环使得c每次得到其中一位数字.输入134,第一次循环得到的是1. 之后下面的switch的结果是 c-1,也就是0,但是这个运算不改变c的值,只影响后面的case. 所以1是先运行case 0,因为case 0 没有break,所以继续下一个case 1,就是输出c+4,也就是输出5,因为case 1也没有break,所以执行下一个case 2,输出1+3=4. 所以得到54. 第二次循环,得到的结果是3,经过switch后得到的是2. 执行case 2,输出3+3也就是6,case 2有break,结束. 最后一次循环是4,执行case 3, 输出4+2=6,case 3没有break,继续case 4,输出4+1=5. 循环结束
最终结果 54665