社区
C语言
帖子详情
给定任意大小的一个数,怎么样最快的取出它的各位?
icelover
2003-04-11 05:17:08
利用tc作为编程环境,给定一个任意长度的数(在所定义的类型所能表示的范围之内),有些什么方法可以取出它的每一位,其中那种方法最快呢?
谢谢
...全文
104
19
打赏
收藏
给定任意大小的一个数,怎么样最快的取出它的各位?
利用tc作为编程环境,给定一个任意长度的数(在所定义的类型所能表示的范围之内),有些什么方法可以取出它的每一位,其中那种方法最快呢? 谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
DavidBone
2003-04-14
打赏
举报
回复
ding
w803007
2003-04-12
打赏
举报
回复
怎么样把float型转换成字符型?
yaos
2003-04-12
打赏
举报
回复
比如
m的n位,进制k
temp = 1;
for (i=0;i<=k;i++)
temp*=k;
temp1=m%temp;
temp=temp/k;
temp=temp1/temp;
输出temp
xdspower
2003-04-12
打赏
举报
回复
n=M%10;
m=M/10;
再做个循环就得了,循环终止条件是m==0;
willbin
2003-04-12
打赏
举报
回复
n=M%10;
m=M/10;
再做个循环就得了.
mr_oydy
2003-04-11
打赏
举报
回复
来个一预处理版本吧 :)
/* TC 2.0 */
#include <stdio.h>
#define MAKE_XNUM(s,n) XNUM(s,n)
#define XNUM(s,n) *(((#s)+sizeof(#s))-n-1)
#define NUM 7854
void main(){
clrscr();
printf("%c\n", MAKE_XNUM(NUM, 2)); // 取十位
printf("%c\n", MAKE_XNUM(94560, 4)); // 取万位
}
zidanjxnu
2003-04-11
打赏
举报
回复
呵呵
我觉得还是用那个字符串的好
把它当作一个字符处理!不过楼上的那个while语句应该改为for语句!
enova
2003-04-11
打赏
举报
回复
取2,8,16进制的每一位我还懂,10进制嘛,呵呵……
enova
2003-04-11
打赏
举报
回复
移位运算符是对2进制而言的,移位了只是相当于*2^i 或 /2^i方啊
enova
2003-04-11
打赏
举报
回复
取模;换成字符串,再取出特定位置的字符
上面都贴了(来晚了~)
来个递归的:
void aa(int x) {
if (x>10) {
aa(x/10);
cout<<(x % 10);
}
else cout<<x;
}
void main()
{
unsigned long x;
cin >> x;
aa(x);
}
移位?考虑一下
icelover
2003-04-11
打赏
举报
回复
能不能用移位做
liqn
2003-04-11
打赏
举报
回复
你说的任意大小的一个数?
那到底是多大?
如果说不用计算机的话,
用眼睛看那不是很快!
你说呢?
不过真要用计算机的话,
就求余吧?
我反正是这么做的。
谢谢观看!
junyuwang20
2003-04-11
打赏
举报
回复
有小数时只要忽略小数点就行了
junyuwang20
2003-04-11
打赏
举报
回复
假设输入为i:
char a[20];
int len;
int j;
memset(a, 0x00, sizeof(a));
sprintf(a, "%d", i);
len = strlen(a);
while(j = 0; j < len; j++)
{
printf("%c", a[j]);
}
ok了
huibird
2003-04-11
打赏
举报
回复
如果有小数,例如23.1472,那用上面的可以吗?
NowCan
2003-04-11
打赏
举报
回复
int a;
cin>>a;
while(a)
{
cout<<a%10;
a/=10;
}
「已注销」
2003-04-11
打赏
举报
回复
大哥用“模”%啊!!!我记得我的一本C++上有的,现在没在身边了。
point_to
2003-04-11
打赏
举报
回复
#include <iostream>
#include <math.h>
using namespace std;
int fn( int &a)
{
int i=10;
int mm=0;//判断有几位数!
int sum=0;
while(a/i)
{i*=10;
mm++;}
for(i=1;i<=mm+1;i++)
{
sum+=a%10;
cout<<a%10<<endl;
a/=10;
}
return sum;
}
void main()
{
int a;
cout<<" input a:";
cin>>a;
//while ( a>10)
a=fn(a);
cout<<a<<endl;//位数和
}
Januarius_
2003-04-11
打赏
举报
回复
自己手动计算吧,数再大也不会太慢的
比如104
百位 104/100
十位 (104 - 104/100*100)/10
个位 (104-104/100*100-(104 - 104/100*100)/10*10)/1
以次类推
区块链之Go语言设计模式
这不,她弟弟又传送过来
一个
COMMAND,为了感谢他,我请他吃了碗杂酱面,哪知道他说:“我同时给我姐姐三个男朋友送COMMAND,就
数
你最小气,才请我吃面。” 15. INTERPRETER 解释器模式 ...
快速找出
一个
数
组中的两个
数
字,让这两个
数
字之和等于
一个
给定
的值
快速找出
一个
数
组中的两个
数
字,让这两个
数
字之和等于
一个
给定
的值,为了简化起见,我们假设这个
数
组中肯定存在至少一组符合要求的解。 假如有如下的两个
数
组,如图所示: 5,6,1,4,7,9,8
如何从一堆
数
中选出若干个
数
,使其和等于
给定
的
数
?
如题,比如有一堆
数
:13,2,4,2,4,8,7,8,6 要从中挑选出若干个
数
,使得它们的和等于32,挑选出来的
数
是:20,6,4,2 我是使用“试探”法来解这个题目,思路如下: 先对
数
进行排序:13,8,8,7,6,4...
程序员面试题:快速找出
一个
数
组中的两个
数
字,让这两个
数
字之和等于
一个
给定
的值
能否快速找出
一个
数
组中的两个
数
字,让这两个
数
字之和等于
一个
给定
的值,为了简化起见,我们假设这个
数
组中肯定存在至少一组符合要求的解。假如有如下的两个
数
组,如图所示:5,6,1,4,7,9,8
给定
Sum= 101,5,6...
获取
一个
数
每位上的
数
总结(python)
当在做回文
数
之类的题目的时候,经常要获取
一个
数
每位上的
数
,因此在此做个总结。
C语言
69,369
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章