解题思路:
这个题解法不唯一。下面我说两种,当然时间复杂度不用去考虑哈。
方法一、我们使用输入为字符串,这样就可以用strlen进行判断长度,这样利用循环来输出,打印都会变得异常简单。
方法二:我们利用递归和回调的思想来做题,这里比较基础的递归我不做解释了就
这里不仅有这两种方法,还有其他的 因为其他的比较简单这里不做解释;
注意事项:
方法一:这里要注意用gets进行输入因为他可以为字符数组自动添加\0;
方法二:递归复杂度一般是所有解法里面最慢的,要计算好用时才行哦。
参考代码:
方法一:
#include<iostream> #include<cstring> using namespace std; int main() { char arr[6]; gets(arr); int len = strlen(arr); cout << len << endl; for(int i = 0; i < len; i++) printf("%c ",arr[i]); puts(""); for(int i = len - 1; i >= 0; i--) printf("%c",arr[i]); return 0; }
方法二:
#include<iostream> using namespace std; int n; int f(int u) { int cnt = 0; while(u) { u /= 10; cnt ++; } return cnt; } void dfs1(int u) { if(u == 0) return; dfs1(u/10); printf("%d ",u%10); } void dfs2(int u) { if(u == 0) return; printf("%d",u%10); dfs2(u/10); } int main() { cin >> n; int t = f(n); cout << t << endl; dfs1(n); cout << endl; dfs2(n); return 0; }
0.0分
8 人评分
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:577 |
P1001 (C语言代码)浏览:836 |
妹子杀手的故事 (C语言代码)浏览:1297 |
C语言训练-求函数值 (C语言代码)浏览:600 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:485 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:1090 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:1314 |
简单的a+b (C语言代码)浏览:491 |
矩阵转置 (C语言代码)浏览:855 |
1074(纳闷了,答案错误,求指教)浏览:384 |
宋敬欢 2022-09-14 18:51:01 |
于哥我也爱你