解题思路:看了很多解题都没有用自定义函数,其实我的思路也很简单,自定义一个函数,将数字各个位数放在数组s[]中再输出就好了
int separate(int num, int a[]) { int i = 0; for(i = 3; i >= 0; i--){ //将存入数组的元素按倒叙输入,避免分离的数字按倒序输出 a[i] = num % 10; num /= 10; } a[i] = '\0' //数组结尾 printf("%d", a[0]); //先输入第一个数字避免空格结尾; for (i = 1; i < 4; i++){ printf(" %d", a[i]) } }
注意事项:
参考代码:
#include<stdio.h> int separate(int num, int a[]); int main() { int a[4] = {0}, n; //初始化数组 scanf("%d", &n); separate(n, a); return 0; } int separate(int num, int a[]) { int i = 0; for(i = 3; i >= 0; i--){ a[i] = num % 10; num /= 10; } a[i] = '\0' printf("%d", a[0]); for (i = 1; i < 4; i++){ printf(" %d", a[i]) } }
0.0分
1 人评分