二级C语言上机预测题
在这篇预测题中,我们将看到两个程序填空题,都是关于C语言编程的。第一个程序是关于找到中间数的函数,而第二个程序是关于建立一个N×N的矩阵。
程序填空题1:找到中间数
在这个程序中,我们需要编写一个函数fun,该函数可以在任意给定的9个正整数中找出按升序排列时处于中间的数,并将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序列,并将中间数作为函数值返回。
例如,有9个正整数:1572387582145
按升序排列时的中间数为:8
处理后主函数中输出的数列为:8882387882145
为了实现这个功能,我们需要在程序中填入正确的内容。下面是完整的程序代码:
```c
#include<stdio.h>
#define N 9
int fun(int x[])
{
int i, j, k, t, mid, b[N];
for (i = 0; i < N; i++) b[i] = x[i];
for (i = 0; i <= N / 2; i++)
{
k = i;
for (j = i + 1; j < N; j++) if (b[k] > b[j]) k = j;
if (k != i)
{
t = b[i];
b[i] = b[k];
b[k] = t;
}
}
mid = b[N / 2];
for (i = 0; i < N; i++)
if (x[i] < mid) x[i] = mid;
return mid;
}
main()
{
int i, x[N] = { 1, 5, 7, 23, 87, 5, 8, 21, 45 };
for (i = 0; i < N; i++) printf("%d", x[i]);
printf("\nThemid data is:%d\n", fun(x));
for (i = 0; i < N; i++) printf("%d", x[i]);
printf("\n");
}
```
程序填空题2:建立N×N的矩阵
在这个程序中,我们需要编写一个函数fun,该函数可以建立一个N×N的矩阵,矩阵元素的构成规律是:最外层元素的值全部为1;从外向内第2层元素的值全部为2;第3层元素的值全部为3,…依次类推。
例如,若N=5,生成的矩阵为:
11111
12221
12321
12221
11111
为了实现这个功能,我们需要在程序中填入正确的内容。下面是完整的程序代码:
```c
#include<stdio.h>
#define N 5
void fun()
{
int i, j, k;
for (i = 0; i < N; i++)
{
for (j = 0; j < N; j++)
{
k = (i < j) ? i : j;
k = (k < N - i) ? k : N - i;
printf("%d", k + 1);
}
printf("\n");
}
}
main()
{
fun();
}
```
这两个程序填空题都是关于C语言编程的,需要我们具备扎实的编程基础和逻辑思维能力。只有通过认真学习和实践,我们才能更好地掌握C语言编程的技巧和方法。