问题描述:
将一个整数的各个位数分离在数组a中,a[0]个位,a[1]十位,a[2]百位...最后返回数据的位数
程序代码:
#include<stdio.h>int main(){
int n,i=0,a[10],j;
scanf("%d",&n);
while(n!=0){ //n不等于0表示还没有输出完
a[i++]=n%10; //余数
n=n/10; //商
}
for(j=0;j<i;j++){
printf("%d ",a[j]); //放置数组中输出
}
printf("\n");
for(j=i-1;j>=0;j--){
printf("%d ",a[j]); //逆序输出(也即按照百位十位个位由高位到低位按序输出)
}
printf("\n");
printf("这个整数是%d位数",i);
return 0;
}
怎样定义声明一个数组 并为数组赋值
int a[10]; for(i=1;i<=10;i++) a[i]=i;
几个要点:
1.分离出来>>>>除10求余就是个位数,求商就是没有个位数的数,然后重复进行
2.逆序输出
3.放置数组中输出
4.输出是几位数>>>>2.3.4用数组即可一次解决
重点是:
这四行循环代码
while(n!=0){ //n不等于0表示还没有输出完
a[i++]=n%10; //余数
n=n/10; //商
}
当输入十位以上整数时结果有误