void printdigits(int n)
{
int count = 0;
int num1 = 0;
num1 = n;
if (n == 0)
{
printf("0");
return 0;
}
while (n)
{
n /= 10;
count++;
}
int num[100] = { 0 };
n = num1;
int count1 = 0;
while (n)
{
num[count1++] = n % 10;
n /= 10;
}
for (int i = count1 - 1; i >= 0; i--)
{
printf("%d\n", num[i]);
}
}
6-3 自然数的位数(递归版)
c复制代码
int NumDigit(int number)
{
if (number == 0)
return 0;
else if (number / 10 == 0)
return 1;
else
return NumDigit(number / 10) + 1;
}
6-4 分治法求解金块问题
c复制代码
int max(int a[], int m, int n) {
int i;
int max = a[0];
for (i = m; i < n + 1; i++) {
if (a[i] > max) {
max = a[i];
}
}
return max;
}
int min(int a[], int m, int n) {
int i;
int min = a[0];
for (i = m; i < n + 1; i++) {
if (a[i] < min) {
min = a[i];
}
}
return min;
}