整数的分解(逆序输出与正序输出)

您所在的位置:网站首页 c逆序输出数组 整数的分解(逆序输出与正序输出)

整数的分解(逆序输出与正序输出)

2023-09-18 03:56| 来源: 网络整理| 查看: 265

博主不定期更新【保研/推免、C/C++、5G移动通信、Linux、生活随笔】系列文章,喜欢的朋友【点赞+关注】支持一下吧!

文章目录 逆序输出正序输出

逆序输出

1.输入一个n位正整数,逆序输出其各个位上的数

输入示例1:6532 输出示例1:2 3 5 6 输入示例2:5000 输出示例2:0 0 0 5 #include int main() { int x; int result; scanf("%d", &x); while ( x>0 ) { result = x%10; x = x/10; printf("%d ", result); } return 0; }

2.增加点难度:输入一个n位正整数,输出与其逆序的n位数(如果输入的数结尾有0,输出不要有前面的0)

输入示例1:6532 输出示例1:2356 输入示例2:5000 输出示例2:5 #include int main() { int x; scanf("%d", &x); int result = 0; int power=1; int a[100]; //用来存放分离出的各个位数 /*判断输入数的位数*/ int t = x; int i = 1; while ( t>9 ) { t /=10; power *= 10; i++; // printf("%d %d\n", i, power); //用于调试代码 } /*逐一分离各位数,并组合成新的n位数*/ int m = 0; for ( m=0; m int x; scanf("%d", &x); int divisor = 1; int t = x; //此处用t代替x进行下面第一轮循环,因为x在后面的循环中还有用,所以需要保留其原始值 /*首先判断输入数的位数,以确定divisor大小*/ while (t>9) { t /= 10; divisor *= 10; printf("%d\n", divisor); } /*此处条件变量要用divisor是考虑到末尾是0的数的特殊性, 如7000,如果用x>0做判断,那么将输出7,而不是7 0 0 0*/ while (divisor>0) //如果不想输出末尾的0,此处条件改为x>0即可 { int result = x / divisor; x = x % divisor; divisor /= 10; printf("%d", result); /*使输出结果每输出一个数空一格,且最后不含空格,根据要求的 输出格式来确定是否需要以下代码*/ if (divisor>0) { printf(" "); } } printf("\n"); return 0; }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3