解题思路: 反转加追加
注意事项: 个人推荐解法3,简单易懂
参考代码:
//1、流氓输出: #include<stdio.h> #include<string.h> int main() { int j=0,len; char str[100],restr[100]; gets(str); len = strlen(str); for(int i=len-1;i>=0;i--) { restr[j]=str[i]; j++; } for(int i=0;i<j;i++) printf("%c",str[i]); puts(restr); return 0; } //2、调用c库函数strcat追加函数 #include<stdio.h> #include<string.h> int main() { int j=0,len; char str[100],restr[100]; gets(str); len = strlen(str); for(int i=len-1;i>=0;i--) { restr[j]=str[i]; j++; } strcat(str,restr); puts(str); return 0; } //3、直接追加: #include<stdio.h> #include<string.h> int main() { int j=0,len; char str[100]; gets(str); len = strlen(str); for(int i=len-1;i>=0;i--) { str[len]=str[i]; len++; } puts(str); return 0; } //4、创造一个反转追加函数 #include<stdio.h> #include<string.h> void str_cat(char str_sum[],char str[],char restr[]) { int i,j,n=0; int len_str = strlen(str); int len_restr = strlen(restr); for(i=0;i<len_str;i++) str_sum[i] = str[i]; for(j=len_str;j<len_str+len_restr;j++) str_sum[j] = restr[n++]; } int main() { int len; char str_sum[1000],str[1000],restr[1000]; gets(str); len = strlen(str); for(int i=len-1,j=0;i>=0;i--) { restr[j]=str[i]; j++; } str_cat(str_sum,str,restr); puts(str_sum); return 0; } //5、调用c库函数单个字符依次输出 #include<stdio.h> #include<string.h> int main() { int j=0,i=0,n=0,count=0; char str[1001],restr[1001],a; gets(str); for(j=strlen(str)-1;j>=0;j--) { restr[n]=str[j]; n++; } i=strlen(str); j=strlen(restr); for(count=0;count<i;count++) putchar(str[count]); for(count=0;count<j;count++) putchar(restr[count]); return 0; }
0.0分
3 人评分
C语言训练-素数问题 (C语言代码)浏览:1065 |
哥德巴赫曾猜测 (C语言代码)浏览:1147 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:1110 |
众数问题 (C语言代码)浏览:911 |
WU-整除问题 (C++代码)浏览:648 |
IP判断 (C语言代码)浏览:819 |
C语言程序设计教程(第三版)课后习题8.9 (C语言代码)浏览:897 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:913 |
1124题解浏览:630 |
DNA (C语言代码)浏览:440 |