c - 逆序/正序输出每位.
#include <stdio.h>
#include <math.h> /*
判断一个正整数的位数,并按正序,逆序输出他们的位.
*/ int
invert(int); void
order(int, int); int
main(void) {
int n = ;
printf("original:%d\n", n);
int bitCont = invert(n);
printf("\nbits: %d\n", bitCont);
order(n, bitCont);
return ;
} //逆序输出每一位并记录位数.
int
invert(int n) {
int bitCount = ; //记录位数.
do
{
++bitCount;
printf("%d ", n % ); //逆序输出每一位.
n /= ;
} while (n); //终止条件是"n为0".
return bitCount;
} //正序输出每一位.
void
order(int n, int bitCount) {
int tmp = ; //存储即将减去的级别,如当n为"1234"时,存储"1000";当n为"234"时,存储"100".
int h = ; //存储最高位的位.
while(n) {
tmp = (int)pow((double), --bitCount);
h = n / tmp;
printf("%d ", h);
n -= h * tmp;
}
}
output:
original:56789
9 8 7 6 5
bits: 5
5 6 7 8 9 请按任意键继续. . .
//二,使用(求余数方法)
void
count_vMod(int input) {
//分别表示'个位,十位,百位,千位,万位'上的数字.
int one, ten, hundred, thousand, ten_thousand; ten_thousand = input / ; //除1万.
thousand = input % / ; //取余1万后除1千.
hundred = input % / ; //取余1千后除1百.
ten = input % / ; //取余1百后除1十.
one = input % ; if(ten_thousand)
printf("共有5位数,%d %d %d %d %d\n", one, ten, hundred, thousand, ten_thousand);
else if(!ten_thousand && thousand)
printf("共有4位数,%d %d %d %d\n", one, ten, hundred, thousand);
else if(!ten_thousand && !thousand && hundred)
printf("共有3位数,%d %d %d\n", one, ten, hundred);
else if(!ten_thousand && !thousand && !hundred && ten)
printf("共有2位数,%d %d\n", one, ten);
else if(!ten_thousand && !thousand && !hundred && !ten && one)
printf("共有1位数,%d\n", one);
}
虽然第二中方法(求余数)在求某位数的时候,有用,但是感觉比较笨拙(主要是对这个题目,特别是if判断时).
c - 逆序/正序输出每位.的更多相关文章
- C#数组的排序(正序逆序)
C#数组的排序(正序逆序) 这种排序 超级简单的 ! using System; using System.Collections.Generic; using System.Linq; using ...
- oracle 正序 逆序 排序查询
正序:从小到大 order by t.id asc 逆序:从大到小 order by t.id desc
- C语言-正序输出一个一个多位数
//正序输出一个多位数,所有的数字中间用空格分隔 int main() { ;//是可变化的 ; int d; int t =x; //先计算x的位数 ){ t /= ; mask *=; } pri ...
- Comparable 接口学习:对对象List进行比较和排序(正序和逆序)
Comparable 接口只有一个 int compareTo(T o) 方法 1.int compareTo(T o) 方法 方法说明: 比较此对象和规定的对象,如果此对象大于,等于,小于规定对象, ...
- Python九九乘法表(正序和逆序)
正序: for i in range(1,10): for j in range(1,i+1): print(str(i)+"*"+str(j)+"="+str ...
- Java之选择排序(正序、逆序)
public class SelectSort { public static void main(String[] args) { /** * @author JadeXu * @// TODO: ...
- (C++)读取一个输入的int型十进制数字的位数,并正序输出每个位上的值(不同数位的值用1个空格字符间隔)
1 /* 2 程序功能:读取一个输入的int型十进制数字的位数,并正序输出每个位上的值(不同数位的值用1个空格字符间隔). 3 例如:当输入985这个数字时,显示如下信息: 4 985是一个3位数字! ...
- compare正序与逆序
//list:在数据查询出来的Record集合 //juli:是需要比较的字段 //实现一个Comparator接口 //后面减去前面是正序 前面减去后面是倒叙 //我这里做的一个距离排序 R ...
- Java:集合,对列表(List)中的自定义对象按属性(字段)排序(正序、倒序)的方法
1. 要求 对列表(List)中的自定义对象,要求能够按照对象的属性(字段)进行排序(正序.倒序). 如:用户对象(Member)有用户名(username).级别(level).出生日期(birth ...
随机推荐
- flowplayer+flashhls使用过程中发现的一些小问题
flashls里边有好几套代码,主要看生成路径,其中flowplayer用了flashls.swc,flashls.swc使用的代码在这里:/src/org/mangui/hls,所以要注意,当搜索代 ...
- nodejs调试
1.通过debug命令进行调试 node debug app.js 运行的结果: 在debug状态下输入"repl"命令可以评估变量和表达式的值 按下'CTRL+C'可以退出rep ...
- Beforeunload打点丢失原因分析及解决方案
淘宝的鱼相在 2012 年 8 月份发表了一篇文章,里面讲述了他们通过一个月的数据采集试验,得到的结果是:如果在浏览器的本页面刷新之前发送打点请求,各浏览器都有不同程度的点击丢失情况,具体点击丢失率统 ...
- phpcms v9 二次开发 - 自己添加源文件
一.在根目录添加入口文件, 我现在要在根目录添加一个文件名为test.php 这样一个文件,为了调用系统的公用类和函数,必须加入一下包含文件 test.php代码如下 <?phpdefine(' ...
- C程序设计语言练习题1-17
练习1-17 编写一个程序,打印长度大于80个字符的所有输入行. 代码如下: #include <stdio.h> // 包含标准库的信息. #define MAXROW 10 // 最大 ...
- iOS7——图像资源Images Assets
iOS7初体验(3)——图像资源Images Assets 分类: iOS开发2013-06-18 16:02 17583人阅读 评论(2) 收藏 举报 ios7Images xcassets图像资源 ...
- codevs 1061 重复子串
题目描述 Description 某电视台在每一个星期天都有一个福利彩票节目,在该节目中有一个考察幸运观众记忆力的节目.节目的安排是这样的:首先由节目主持人说出一串诸如“左1右2左2左3右4左1”的数 ...
- Swift—Core Foundation框架-备
Core Foundation框架是苹果公司提供一套概念来源于Foundation框架,编程接口面向C语言风格的API.虽然在Swift中调用这种C语言风格的API比较麻烦,但是在OS X和iOS开发 ...
- java-Mysql-SQLServer数据类型匹配速查表
java-Mysql-SQLServer数据类型匹配速查表 Mysql ************************************ 当前列 ClassName ColumnType Di ...
- android 截取指定位置字符串
String str = "s\ziyuan"; String newStr = str.subString(str.indexOf("\\"),str.len ...