原题链接:[编程入门]数字的处理与判断
解题思路:
根据题目描述,取值在5位数之间,所以范围并不大,利用while循环逐个取int型个位数的方法是没有必要的,毕竟之后多数人还是要把取到的个位数存放到变量或者数组中。而且并不进行计算,那么就可以直接将输入的数据用一串字符串(即字符数组)储存,这么就可以直接得到字符串长度,并且省去了,除模等运算。
注意事项:
在字符串输出时要注意几个strlen(s)-1的位置,理解为什么是strlen(s)-1,而不是strlen(s)。这也是我提交没注意前的细节,以上是我的解题思路。
参考代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #include<iostream> #include<cstdio> #include<cstring> using namespace std; int main() { char s[6]; scanf ( "%s" ,s); printf ( "%d\n" , strlen (s)); for ( int i=0;i< strlen (s);i++) { if (i< strlen (s)-1) printf ( "%c " ,s[i]); else printf ( "%c\n" ,s[i]); } for ( int i= strlen (s)-1;i>=0;i--) { printf ( "%c" ,s[i]); } return 0; } |
0 分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复