C语言 颠倒姓名(字符串)(C语言中如何将中文字符倒序输出)

2024-05-04 百科 86阅读 投稿:夕颜落

1. C语言 颠倒姓名(字符串)

#include using namespace std; void reverseFixlen(char *str, int n) { int i = 0; while(i < n/2) { char c = str[i]; str[i] = str[n-i-1]; str[n-i-1] = c; i++; } } void reverseWordsInSentence(char *sen) { int len = strlen(sen); reverseFixlen(sen, len); char *p = sen; while(*p != '/0') { char *pre = p; while((*p != ' ')&&(*p != '/0')) p++; reverseFixlen(pre, p-pre); if(*p == '/0') break; p++; } } 测试代码如下: char sen[] = "Gary Bronson"; reverseWordsInSentence(sen); int j = 0; while(sen[j] != '/0') cout << sen[j++]; 。

2. C语言中如何将中文字符倒序输出

根据大佬写的代码稍微一改,以下代码可以输入任何词都可以反过来,比如7a686964616fe78988e69d8331333431356664

输入"ab你好cd"也可以反过来

#define _CRT_SECURE_NO_WARNINGS

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

unsigned char *InverseStr(unsigned char t[], unsigned char s[])

{

int i, j, len = strlen((char *)s);

for (i = len - 1, j = 0; i >= 0; --i, ++j) {

if (s[i] > 0X7F) { // 是汉字

t[j++] = s[i - 1];

t[j] = s[i];

--i;

}

else t[j] = s[i];

}

t[j] = '/0';

return t;

}

int main(void)

{

char a[100] = {0};

E:

printf("请输入:");

scanf("%s", &a);

unsigned char *s = &a ;

unsigned char t[25];

printf("s = /"%s/"/n", s);

printf("t = /"%s/"/n", InverseStr(t, s));

goto E;

printf("/n");

system("pause");

return 0;

}

3. C语言中如何把输入的一句话倒过来显示出

#include

void revprint();

int main(int argc, char *argv[])

{

revprint();

return 0;

}

void revprint()

{

int ch;

if((ch = getchar())!='/n')

{ 。展开#include

void revprint();

int main(int argc, char *argv[])

{

revprint();

return 0;

}

void revprint()

{

int ch;

if((ch = getchar())!='/n')

{

revprint();

putchar(ch);

}

}收起

怎么把名字倒过来c语言

声明:沿途百知所有(内容)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系我们将尽快删除