c语言编程:编写程序,能输入一个字符串,最后按相反次序输出所有字符串

如题所述

第1个回答  2011-06-04
#include<stdio.h>
#include<string.h>
#define MAX_STRING_SIZE 100

void oderString(char *str); //按照反序排列字符串函数

int main()
{
char str[MAX_STRING_SIZE];

printf("请输入一个长度不超过%d的字符串:",MAX_STRING_SIZE);
scanf("%s",str);
orderString(str);
printf("反序后的字符串:%s",str);
}

void orderString(char str[])
{

int len=strlen(str)-1;
int i=0;
char temp;
while(i<=len)
{
temp=str[len];
str[len]=str[i];
str[i]=temp;
i++;
len--;
}
}本回答被网友采纳
第2个回答  2011-06-04
你的问题有歧义,若是倒序输出多个字符串(不改变字符串内容),请看第一个程序;
若是倒序输出一个字符串中的字符,请看第二个程序。

程序1:
#include <stdio.h>
#define Number 3
#define Length 50
void main()
{
int i;
char a[Number][Length];
printf("input %d strings:\n\n",Number);
for(i=0;i<Number;i++)gets(a[i]);//输入多个字符串
printf("\noutput the strings:\n\n");
for(i=Number-1;i>=0;i--)puts(a[i]);//倒序输出多个字符串
printf("\n");
}
程序2:
#include <stdio.h>
#include <string.h>
void main()
{
int i;
char a[100];
puts("input:");
gets(a);
puts("output:");
for(i=strlen(a)-1;i>=0;i--)putchar(a[i]);
putchar('\n');
}
第3个回答  2011-06-04
char *p,s[80];
scanf("%s",s);
p=s+strlen(s);
while(p>=s)
putchar(*(--p));
第4个回答  2011-06-04
#include <stdio.h>
#include <string.h>

void main()
{
char s[100];
int len, i;

gets(s);
len = strlen(s);
for (i = len - 1; i >= 0; i--)
putchar(s[i]);
putchar('\n');
}
相似回答