以此题为例:
#include<stdio.h>
#include<math.h>
#include"fun.h"
int main()
{
int a, i,k,s;
printf("请输入a的值:\n");
while(1)
{
scanf_s("%d", &a);
if (a<100000)
break;
printf("数值大小不合题意!请重新输入:\n");
}
i=comple(a);
printf("a是%d位数\n", i);
k = apart(a);
putchar('\n');
s = revers(a);
return 0;
}
自建头文件如下:
#include<stdio.h>
#include<math.h>
int comple(int a) //求余判断位数
{
int i;
for (i = 0; a > 0; i++)
a = a / 10;
return(i);
}
int apart(int a) //分别输出数字
{
int j, k,flag1=0;
for (j = 4; j >= 0; j--)
{
k = a / (pow(10, j));
flag1 = flag1 + k;
if (k == 0&&flag1==0)
continue;
printf("%-1d ",k);
a = a - k * (pow(10, j));
}
return(k);
}
int revers(int a) //逆序输出
{
int p=1, q;
printf("逆序输出结果为:");
while (a > 0)
{
q = a % 10;
printf("%d", q);
a = a / 10;
p++;
}
return(q);
}