69,382
社区成员
发帖
与我相关
我的任务
分享
void reverse () {
char s[50];
scanf("%s", &s);
reverse();
printf("%s", s);
}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char inStr[80+1];
char outStrs[40+1][80+1];
int main()
{ gets(inStr);
int len = strlen(inStr);
int wordNum = 0;
int i, j = 0;
for (i = 0; i < len; i++)
{
if (inStr[i] == ' ')//按空格划分单词
{
j = 0;
wordNum++;
continue;
}
outStrs[wordNum][j] = inStr[i];
j++;
}
for (i = wordNum; i > 0 ; i--)
{
printf("%s ", outStrs[i]);
}
printf("%s\n", outStrs[0]);
return 0;
}
#include <stdio.h>
void funiction()
{
char ch=getchar();
if(ch!='\n')funiction();
printf("%c",ch);
}
int main ()
{
funiction();
return 0;
}
void reverse( char* InP, char* OutP )
{
if( InP==NULL || OutP==NULL ) return;
char *p;
p = strstr( InP, " " );
if( p==NULL )
{
strcat( OutP, InP );
return;
}
reverse( p+1, OutP );
strncat( OutP, InP, p-InP );
}
void main()
{
char a[100]="afda affsdfa adfafaf";
char b[100];
reverse( a, b );
}
#include <stdio.h>
#include <string.h>
void reverse (char* buf) {
char* p = strchr(buf, ' ');
if (p)
{
*p = 0;
reverse(p+1);
}
printf("%s ", buf);
}
int main(){
char buf[1000];
//scanf("%s", buf); //用字符串直接模拟吧,就不输入了
strcpy(buf,"a b c d e f g h i j k l m n");//多个词的用例
reverse(buf);
printf("\r\n");
strcpy(buf,"a"); //单个词的用例
reverse(buf);
printf("\r\n");
return 0;
}
output:
n m l k j i h g f e d c b a
a
Press any key to continue
void reverse(存放数据的数组地址,单词的个数,数组的下标)//小标从0开始
{
if(单词的个数>1)
reverse(数组地址,单词个数自减1,数组下标自加1);
printf(数组地址[数组下标]);
}