C语言:编写一个程序实现从键盘接收一个字符串,并将这个字符逆序输出

编写一个程序实现从键盘接收一个字符串,并将这个字符逆序输出

第1个回答  2008-06-19
改进一下

用字符数组实现,字符串长度有限制

#include<conio.h>
#include<stdio.h>

int main(void)
{
int i;
int ch[128];

for (i = 0; (ch[i] = getchar()) != '\n'; i++);

printf("\n");

for (; i >= 0; i--)
printf("%c", ch[i]);

getch();
return 0;
}

在 TC 上测试通过

用链表实现,动态存储,字符串长度无限制

#include<alloc.h>
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#define TYPE struct ch
#define LEN sizeof(struct ch)

int main(void)
{
TYPE
{
char c;
TYPE *previous;
TYPE *next;
};
TYPE *head, *last;
TYPE *p, *q;

head = (TYPE *)malloc(LEN);
p = head;
q = NULL;

printf("Input a string : ");

if ((head->c = getch()) != '\r')
do
{ if (p->c != '\b')
{
printf("%c", p->c);
p->previous = q;
q = p;
p->next = (TYPE *)malloc(LEN);
p = p->next;
}
else
{ if (q != NULL)
{ free(p);
p = q;
q = p->previous;
printf("\b \b");
}
}
}
while((p->c = getch()) != '\r');

p->previous = q;
p->next = NULL;
last = p;

printf("\n\nThe string inputed is : ");
q = last->previous;

while (q != NULL)
{ printf("%c", q->c);
q = q->previous;
}

getch();
return 0;
}
在 TC 上测试通过本回答被提问者采纳

C语言:编写一个程序实现从键盘接收一个字符串,并将这个字符逆序输出
用字符数组实现,字符串长度有限制 include<conio.h> include<stdio.h> int main(void){ int i;int ch[128];for (i = 0; (ch[i] = getchar()) != '\\n'; i++);printf("\\n");for (; i >= 0; i--)printf("%c", ch[i]);getch();return 0;} 在 TC 上测试通过 用链...

如何用C语言将字符串逆序输出?
#include<stdio.h> #include<string.h> main() { int i,j,t,n; char a[10]; printf("请输入字符串:"); gets(a); n=strlen(a); for(i=0;i<=n\/2;i++) { t=a[i]; a[i]=a[n-1-i]; a[n-1-i]=t; } for(j=0;j<n;j++) printf("%c",a[j]); printf("\\n"); }...

C语言,利用指针编写程序:把从键盘输入的字符串逆序存放并输出
return 0;} ```程序先从键盘输入一个字符串,然后获取字符串的长度和指向字符串首尾的指针。接着,使用指针交换相应位置上的字符,完成字符串逆序存放。最后输出逆序存放后的字符串。注意,字符串的长度可能为奇数或偶数,因此在for循环中应该只交换字符串长度除以2个字符即可。

如何用C语言将字符串逆序输出?
int main() { int i, j, temp, length;char str[100];printf("请输入字符串: ");gets(str);length = strlen(str);for (i = 0; i < length \/ 2; i++) { temp = str[i];str[i] = str[length - 1 - i];str[length - 1 - i] = temp;} for (j = 0; j < length...

C语言,输入一个字符串,逆序排列后输出
main(){ char strA[200];char Temp;int i=0,Length=0;clrscr();printf("请输入一个字符串:");gets(strA);Temp=strA[0];while(Temp!='\\0'){ Length++;Temp=strA[i++];} Length--;for(i=0;i<Length\/2;i++){ Temp=strA[i];strA[i]=strA[Length-i-1];strA[Length-i-1]=...

用C语言实现 从键盘输入一个一个以回车符结束的字符串,然后将其逆序输...
h> include <string.h> void main(){ int i, len;char temp;char buf[512] = { 0 };scanf("%s", buf);len = strlen(buf);for (i = 0; i < len\/2; i++){ temp = buf[i];buf[i] = buf[len - 1 - i];buf[len - 1 - i] = temp;} printf("%s", buf);} ...

C语言:输入一个字符串,然后逆序输出
include <stdio.h> int main(){ int len,i;char str[100];gets(str);len=strlen(str);for(i=len-1;i>=0;i--)printf("%c",str[i]);return 0;}

c语言,大神看过来,跪求了。 编写一个程序,将输入的字符串按逆序存放后...
include <stdio.h> include <string.h> void func(char *s){int i,j;char t;for(i=0,j=strlen(s)-1;i<j;i++,j--){t=s[i];s[i]=s[j];s[j]=t;} puts(s);} 调用这个func函数就能办了

求C语言编程。 输入一个字符串,将其逆序存放并输出。 这是例题。稍加...
i<length\/2;i++) { tmp=str[i]; str[i]=str[length-1-i]; str[length-1-i]=tmp; }}void main(){ char ch[80]; printf("请输入一个字符串:"); gets(ch); inverse(ch); printf("逆序存储后的字符串为:"); puts(ch);} ...

C语言。输入一个字符串按反方向存放,并将其输出。怎样编写这个程序?
\/*递归方式逆序存储字符串,将逆序内容写入fw底层流文件*\/ void rev(char * src, int fw){ if (!src || fw < 1) return ;if (!*src) return ; \/*如果字符串结束则返回*\/ rev(src + 1, fw); \/*递归到下一个字符地址*\/ write(fw, src, 1); \/*递归返回后将字符写入管道*\/ } ...

相似回答