⑴ c语言数组怎么输入一个多位数中的数字
/**
*时间:2015年11月21日22:37:59
*说明:输入一个整数,除以十,保存余数到数组,将商取整部分保存到这个数
*直到这个数小于10,最后倒序输出
*编译器:vs2010
*/
#include<stdlib.h>
#include<string.h>
#include<stdio.h>
intmain(void){
intresult[20];
intnum=0;
inti=0;
printf("inputanumber: ");
scanf("%d",&num);
while(1){
if(0==num/10){
result[i]=num;
break;
}
result[i]=(int)num%10;
num/=10;
i++;
}
for(;i>-1;i--){
printf("%d",result[i]);
}
printf(" ");
system("pause");
return0;
}
⑵ c语言我想实现输入多位数(包括一位数),我想通过循环逐位输入,但是事先不确定要输入的数到底是几位,
你换个思路就好了,定义一个2000的char数组,用gets输入
至于后面怎么处理,也不是难事吧
不需要循环,呵呵
循环的话,每次还有回车来结束当前的scanf,即使不解释,用空格隔开数据也是不理想的输入吧
⑶ C语言怎么求出一个多位数每位的数字
#include<stdio.h>
#include<string.h>
voidmain()
{
inti,n,k=0;
charstr[1000];
gets(str);
n=strlen(str);
for(i=0;i<n;i++)
if(str[i]<'0'||str[i]>'9')
k=1;
if(k==1)printf("输入数有误,不是多位数。");
else
{
printf("这个多位数从个位数开始,依次为: ");
for(i=n-1;i>=0;i--)
printf("%d",str[i]-48);
}
}
运行示例:
对于位数很多的多位数,用上述方法可以解决,如果定义为整型,则无法解决。
⑷ C语言 怎么求出一个多位数 每位的数字
int
a=0;
int
i=0;
int
b[10]={0};//存放解析后的数字
scanf("%d"&a);
for(i=0
;
;i++)
{
b[i]=a%10;
if(a<
10)
break;
a=a/10;
}
你把头尾完善一下就行了,这个在数组b中是逆序拍的,输出的时候你倒着输出就可以了
⑸ c语言中如何读取多位数每一位的数字,在V C++平台上,比如1234,具体语句,从定义开始。
提供一种方法供参考。
将多位数转换为字符串,然后字符串里的每个字符就是对应的数位。使用itoa函数如下:
#include<stdio.h>
#include<stdlib.h>
intmain()
{
inti;
charbuffer[33];
printf("Enteranumber:");
scanf("%d",&i);
itoa(i,buffer,10);
printf("decimal:%s ",buffer);
}
还有其他思路,例如逐个字节的解释多位数等等。