大一c初学者
如何输入一串字母,然后打印出每个字母后四位的字母,如输入a答应e,输入b打印f?求救 先说说你的思路 BngThea 发表于 2017-12-19 10:12先说说你的思路
你随时都在论坛啊! 将输入字符的ascii加4再输出 sp1ral 发表于 2017-12-19 10:16
你随时都在论坛啊!
almostly,yes BngThea 发表于 2017-12-19 10:12
先说说你的思路
a到v的ascll码都+4,w到z则减去22对吗?可是我不会写
BngThea 发表于 2017-12-19 10:12
先说说你的思路
a到v的ascll码都+4,w到z则减去22对吗?可是我不会写 #include <stdio.h>
int main(void)
{
int ch;
while(1)
{
printf("请输入一个字母:\n");
scanf("%c", &ch);
getchar(); // get掉'\n'
printf("%c的后4位是%c\n\n", ch, ch + 4);
}
return 0;
}
人造人 发表于 2017-12-19 10:36
可能是我表达的不够准确吧,不是这个意思 ,不过还是多谢啦 liaokehua123 发表于 2017-12-19 10:41
可能是我表达的不够准确吧,不是这个意思 ,不过还是多谢啦
#include <stdio.h>
#include <string.h>
int main(void)
{
char buf;
fgets(buf, 1024, stdin);
int str_len = strlen(buf);
for(int i = 0; i < str_len - 1; i++)
{
putc(buf + 4, stdout);
}
return 0;
}
楼上已经写得很好了
再for循环中再加上一个判断,
if (buf > 'v')
putc(buf -22, stdout);
else
putc(buf + 4, stdout); BngThea 发表于 2017-12-19 10:55
楼上已经写得很好了
再for循环中再加上一个判断,
受教了{:5_106:} #include<iostream>
using namespace std;
int main()
{
char ch='a';
char c ;
while (ch != '\n')
{
cin.get(ch);
if (ch != '\n')
{
c = ch + 4;
cout << c;
}
}
cout << endl;
system("pause");
}
页:
[1]