解题思路: 反转加追加
注意事项: 个人推荐解法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分
2 人评分
注意格式(C语言代码)浏览:728 |
第一浏览:867 |
C语言程序设计教程(第三版)课后习题10.1 (C语言代码)浏览:1435 |
C语言程序设计教程(第三版)课后习题8.1 (Java代码)浏览:776 |
川哥的吩咐 (C++代码)浏览:1008 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:539 |
A+B for Input-Output Practice (IV) (C++代码)浏览:676 |
printf基础练习2 (C语言代码)浏览:644 |
【计算两点间的距离】 (C语言代码)浏览:1473 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:372 |