我是靠谱客的博主 秀丽铅笔,这篇文章主要介绍算法>dotcpp-----问题 1009: 整数的拆分,现在分享给大家,希望可以做个参考。

#2018-5-13  17:35

#武汉工程大学邮电与信息工程学院邮科院校区

#软件工程1604谷子毅



问题 1009: 整数的拆分

时间限制: 1Sec 内存限制: 128MB 

题目描述
给出一个不多于5位的整数,要求 1、求出它是几位数 2、分别输出每一位数字 3、按逆序输出各位数字,例如原数为321,应输出123
输入
一个不大于5位的数字
输出
三行 第一行 位数 第二行 用空格分开的每个数字,注意最后一个数字后没有空格 第三行 按逆序输出这个数
样例输入
复制代码
1
12345
样例输出
复制代码
1
2
3
5 1 2 3 4 5 54321


这个题想让大家学会的是一个函数sprintf(),我目前对自己的要求如下:

1.将一个数字转换为字符串:




2.将两个数字合并为一个字符串:



3.将两个字符串合并:



接下来我们在做我们的这个题目:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<stdio.h> #include<string.h> int main(){ int x, i, len; char s[10]; scanf("%d", &x); sprintf(s, "%d", x); len = strlen(s); printf("%dn", len); for(i = 0; i < len-1; i++){ printf("%d ", s[i]-'0'); } printf("%dn", s[i]-'0'); for(i = len-1; i >= 0; i--){ printf("%d", s[i]-'0'); } return 0; }


其实可以更简单,把输入的那个数字直接当成字符串

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<stdio.h> #include<string.h> int main(){ int len, i; char s[10]; scanf("%s", &s); len = strlen(s); printf("%dn", len); for(i = 0; i < len-1; i++){ printf("%d ", s[i]-'0'); } printf("%dn", s[i]-'0'); for(i = len-1; i >= 0; i--){ printf("%d", s[i]-'0'); } return 0; }



最后

以上就是秀丽铅笔最近收集整理的关于算法>dotcpp-----问题 1009: 整数的拆分的全部内容,更多相关算法>dotcpp-----问题内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(82)

评论列表共有 0 条评论

立即
投稿
返回
顶部