一个事情:原来c语言的自定义函数里面使用循环是不会报错的,但是因为自定义函数里面没有储存,所以无法识别和执行循环体。。
核心思想:(举例1234)1234/1000(1000被我叫做可以整除的位数)得到最高整除位数,1234%1000得到其余位数,然后对1000/10的循环操作,继续重复执行上一步,直到最后一位数是个位数,因为,如果只是理所应当的认为条件又是与零有关会错的,主要是由于我们的循环是根据位数输出有多少0,而0总比位数少一位。
/*正序输出一个数*/
#include <stdio.h>
int fact(int n);
int main() {
int n, b, t, count = 1;
scanf("%d", &n);
b = n;
do {
//printf("%d", t);
count *= 10;
b = b / 10;
} while (b > 9);//主要目的是为了得到count的位数(整除的位数),为下面的代码做准备
do {
t = n / count;
n = n % count;
count /= 10;
printf("%d ", t);
} while (t >= 0);
return 0;
}
还有,居然while括号里面eg:(a>=0)里面的大于号和等号不能分开写,不然会报错!