C语言。 输入y 怎样输出a?
发布网友
发布时间:2022-05-07 17:32
我来回答
共5个回答
热心网友
时间:2022-06-30 21:38
#include <stdio.h>
int main()
{
char x;
printf("请输入一个字符\n");
scanf("%c",&x);
printf("%c\n", x-24);
return 0;
}
就这样就行了,只是ASCII的数值的问题,小写和大写字母是连续的。字符可以进行整数运算,减去一个和适的值就可以得到其它的字母追问#include
int main()
{char c;
while (scanf("%c",&c)!=EOF&&c>='a'&&c='y'&&c='a'&&c<'y')
{c=c+2;}
printf("%c\n",c);
}
return 0;
}你看看我这个是哪里错了
追答语法上没错,就是不知道你要实现的功能是什么?请你说一下你要实现的功能?
如果是你说的输入y让他输出a的话,就有错
if(c>='y'&&c='a'&&c<'y')//然后判断y的值因为上面以经变成了a所以满足条件执行下面c = c +2
{c=c+2;}
printf("%c\n",c);//因为 c 的ASCII码加了2,所以变成了字母 ‘c’的ASCII码,输出就是字母‘c’;
我猜的是这样的,就是不知道你所说的错是指什么?你说下?
热心网友
时间:2022-06-30 21:38
输入任何,甚至什么都不用输入,都可以输出a
#include <stdio.h>
int main(void){
printf("a\n");
return 0;
}
热心网友
时间:2022-06-30 21:39
#include <stdio.h>
int main()
{char c;
while (scanf("%c",&c)!=EOF&&c>='a'&&c<='z')
{
if(c>='y'&&c<='z')
c=c-24;
else
{c=c+2;}
printf("%c\n",c);
getchar();
}
return 0;
}追问刚刚那个是哪里错了啊
追答if if 改为if else 否则前面if成立,后面的if也成立,重复计算。
热心网友
时间:2022-06-30 21:39
#include<stdio.h>
int main()
{
int y, a;
a=getchar();
while(y=getchar())
{
printf("%d",a);
}
getchar();
return 0;
}
热心网友
时间:2022-06-30 21:40
scanf("%d",&y);
printf("%d",a);