1.在main中定义一个数组,用一个函数 init函数为数组读入值,用order函数为数组排序,用list函数输出数组。
2.输入一个整数num,传入函数,函数名为digi,判断是几位数,返回整数的位数,在主程序中输出
第一题
#include <stdio.h>
#define N 10
void init(int *p, int n)
{
for (int i = 0; i < n; i++)
{
scanf("%d", &p[i]);
}
}
void order(int *p, int n)
{
int i, j, tmp;
for (i = 1; i < n; i++)
{
tmp = p[i];
j = i - 1;
while (tmp < p[j])
{
p[j + 1] = p[j];
j--;
if (j == -1)
break;
}
p[j + 1] = tmp;
}
}
void list(int *a, int n)
{
for (int i = 0; i < n; i++)
{
printf("%d ", a[i]);
if (i + 1 % 10 == 0)
puts("");
}
}
int main(int argc, char *argv[])
{
int arr[N];
//录入数据
init(arr, N);
//排序
order(arr, N);
//输出
list(arr, N);
return 0;
}
第二题
#include <stdio.h>
int digi(int n)
{
if (n == 0)
return 1;
int num = 0;
while (n)
{
n /= 10;
num++;
}
return num;
}
int main(int argc, char *argv[])
{
int n;
scanf("%d", &n);
printf("%d是%d位数\n", n, digi(n));
return 0;
}