永发信息网

C语言 10位的整数 按位取出来

答案:7  悬赏:40  手机版
解决时间 2021-11-10 15:27
  • 提问者网友:那叫心脏的地方装的都是你
  • 2021-11-10 00:08
C语言 10位的整数 按位取出来
最佳答案
  • 五星知识达人网友:白昼之月
  • 2021-11-10 01:47
楼主记得给分哦。有什么问题再问。这个是在vc下的。int型能装下10位。

#include
#define N 10 //10位
int main(void)
{
unsigned int n=1324569780;
int B[N]={0};
int i;
for (i=0;i {
B[N-i-1]=n%10;
n=n/10;
}
return 0;
}
全部回答
  • 1楼网友:神也偏爱
  • 2021-11-10 05:33
10位的话 你要用long int型才行了 还有不能超过long int的范围 至于你这个程序实在是太简单了 自己看看书 好好学学吧追问要写的东西太多 又取余 又除的 想这个头疼 要不也不能问追答这个还算多啊 好好学学C吧 将来好处多多呀 呵呵
  • 2楼网友:归鹤鸣
  • 2021-11-10 05:09
oper = 10^9

for(i =0;i<10;i++)
{
B[i] = a/oper + '0';
oper/=10;

}
  • 3楼网友:不如潦草
  • 2021-11-10 04:00
#include "stdio.h"
void main()
{
long a;
scanf("%ld",&a);
int numbers[10],j=0;
for(long i=1e9;i>=1;a%=i,i/=10)
numbers[j++]=a/i;
for(j=0;j<10;j++)
printf("%d",numbers[j]);
}
  • 4楼网友:从此江山别
  • 2021-11-10 02:57
终于写好了,以下是程序的算法思路,C的细枝末节,什么#include 那些,你自己写吧

int num=1324569780;//这是你的十位整数
int B[]=new int[10];//
for(int i=0;i<10;i++)
{
int ssss=1;//这个将成为十的幂级如10,100,1000……
for(int j=0;j ssss=ssss*10;
}
int mid=num%ssss; //先取余数
array[i]=mid/(ssss/10); //再对余数取商
//举个例子,1324569780除以1000取余数是780,得到的余数780除以100,取得商就是7 。所以每位数字都是这样来的
}
  • 5楼网友:行路难
  • 2021-11-10 02:38
#include
int main()
{
int num[10];
long in;
scanf("%ld" , &in);
for(int temp = 9; temp >= 0; temp--)
{
num[temp]=in % 10;
in = in / 10;
}
return 0;
}
  • 6楼网友:我住北渡口
  • 2021-11-10 02:27
这里给你一个完美替换递归函数,循环解决逆序等问题的方法!
一下以实用函数形式单独列出,带上测试例子!
int select_bit_fifo(int n,int buf[]);
函数select_bit_fifo可将输入的任意正整数n,按从高到低的顺序存储到矩阵buf[],并返回n的位数!

#include
int select_bit_fifo(int n,int buf[]);
int main(void)
{
int i,len,B[18]={0},n=1324569780;
printf("请输入一个任意测试的正整数n...\n");
scanf("%d",&n);
len=select_bit_fifo(n,B);
printf("输入的数据长度为%d\n输出B中存储的数据...\n",len);
for(i=0;i printf("B[%d]=%d\n",i,B[i]);
return 0;
}
int select_bit_fifo(int n,int buf[])
{
int m,len=0;
while(n>10){
m=1;
while(n/m>=10) m*=10;
buf[len++]=n/m;
n%=m;
}
buf[len++]=n;
return len;
}

************************************
先前的程序,供算法参考
#include
int main(void)
{
int i,temp,B[10],m,n=1324569780;//n赋初始值1324569780
for(i=0;i<10;i++){
m=1;
while(n/m>=10) m*=10;
B[i]=n/m;
n%=m;
}
for(i=0;i<10;i++)
printf("%d ",B[i]);//输出矩阵b中的数据1324569780
return 0;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯