我有一个问题,我想读一个字符串并反向显示
示例
(如果用户输入"表"程序应该这样回复)
Ë
乐
BLE
能够
表
但是我的代码就像这样显示了
Ë
埃尔
ELB
埃尔巴
elbaT
这是我的代码:
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])
{
char str[100];
int i,w;
printf("Enter a string: ");
fgets( str,100,stdin);
int s=strlen(str)-1;
for(w=s-1;w>=0;w--)
{
for(i=s;i>=w;i--)
{
printf("%c",str[i]);
}
}
return 0;
}
答案 0 :(得分:1)
你的内环向后打印字符。如果您不想这样做,请不要这样做,而是执行
for (i=w; i<=s; i++)
{
printf("%c",str[i]);
}
你也可以删除内部循环,然后从w
开始简单地打印字符串的其余部分:
for(w=s;w>=0;w--)
{
printf("%s\n", &str[w]);
}
答案 1 :(得分:0)
char str [] = "Table\n";
int slen = strlen (str) - 1;
for (int i = 0; i <= slen; i ++)
{
printf ("\n");
for (int j = slen - i; j < slen; j ++)
{
printf ("%c", str [j]);
}
}