二级c语言上机考试复习资料,共有50套题目。
一、程序填空题。
1、给定程序中,函数fun的功能是:在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序列,并将中间数作为函数值返回。
例如,有9个正整数:1 5 7 23 87 5 8 21 45
按升序排列时的中间数为:8
处理后主函数中输出的数列为:8 8 8 23 87 8 8 21 45
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的中。
不得增行或删行,也不得更改程序的结构!
#include <>
#define n 9
int fun(int x[ ]
int i,j,k,t,mid,b[n];
for(i=0;i for(i=0;i<=n/2;i++)
foundmid=b[n/2];
for(i=0; ifound
if(x[i]< mid) x[i]=mid;
return mid;
main()
int i, x[n]=;
for(i=0; i printf("the mid data is: %d",fun(x));
for(i=0; i printf("");
2、给定程序中,函数fun的功能是建立一个n×n的矩阵。 矩阵元素的构成规律是:最外层元素的值全部为1;从外向内第2层元素的值全部为2;第3层元素的值全部为3,…依次类推。
例如,若n=5,生成的矩阵为:
请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:源程序存放在考生文件夹下的中。
不得增行或删行,也不得更改程序的结构!
#include <>
#define n 7
foundvoid fun(int (*a)[n])
int i,j,k,m;
if(n%2==0) m=n/2 ;
else m=n/2+1;
for(i=0; ifound
for(j=i; j a[i][j]=a[n-i-1][j]=i+1;
for(k=i+1; kfound
a[k][i]=a[k][n-i-1]= i+1;
main()
int x[n][n]=,i,j;
fun(x);
printf("the result is:");
for(i=0; i
3、给定程序中,函数fun的功能是: 将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。例如,形参s所指的字符串为:
def35adh3kjsdf7。执行结果为:defadhkjsdf3537。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的中。
不得增行或删行,也不得更改程序的结构!
#include <>
void fun(char *s)
int i, j=0, k=0; char t1[80], t2[80];
for(i=0; s[i]!=0'; i++)
if(s[i]>=0' &s[i]<=9')
else t1[k++]s[i];
t2[j]=0; t1[k]=0;
foundfor(i=0; ifound
for(i=0; i}
main()
char s[80]="def35adh3kjsdf7";
printf("the original string is : s",s);
fun(s);
printf("the result is : s",s);
4、给定程序中,函数fun的功能是:有n×n矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为0。例如,若n=3,有下列矩阵:
7 8 9计算结果为。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的中。
不得增行或删行,也不得更改程序的结构!
#include <>
#define n 4
foundvoid fun(int (*t)_[n]__
int i, j;
for(i=1; i
main()
int t[n]=,i, j;
printf("the original array:");
for(i=0; i
fun(t);
printf("the result is:");
for(i=0; i
5、给定程序中,函数fun的功能是:对形参s所指字符串中下标为奇数的字符按ascii码大小递增排序,并将排序后下标为奇数的字符取出,存入形参p所指字符数组中,形成一个新串。
例如,形参s所指的字符串为:baawrskjghzlicda,执行后p所指字符数组中的字符串应为:aachjlsw。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的中。
不得增行或删行,也不得更改程序的结构!
#include <>
void fun(char *s, char *p)
int i, j, n, x, t;
n=0;for(i=0; s[i]!=0'; i++)n++;
for(i=1; ifound
___t=i___
foundfor(j=__i___2 ; j if(s[t]>s[j]) t=j;
if(t!=i)
for(i=1,j=0; ifound
2023年c语言上机考试精简版
使用说明 这套题和3月份的有些差别,不是以填空题的第一个空作为唯一参照的,而是以填空题题干作为查找参照,上机题分为填空题 改错题 编程题 如果你的考试填空题的题目和这题库中给出的某一道填空题的题目的题干一致,那么你的改错题 编程题的答案也都在下面。一 1 程序填空题。给定程序中,函数fun的功能是将...
2023年c语言上机考试精简版
使用说明 这套题和3月份的有些差别,不是以填空题的第一个空作为唯一参照的,而是以填空题题干作为查找参照,上机题分为填空题 改错题 编程题 如果你的考试填空题的题目和这题库中给出的某一道填空题的题目的题干一致,那么你的改错题 编程题的答案也都在下面。一 1 程序填空题。给定程序中,函数fun的功能是将...
二级C语言上机试题四栏
第01套 通讯录中记录每位学生的编号 姓名和 号码。微答案 1 stype 2 file 3 fp 微答案 1 for i 0 i 第02套 从键盘输入若干行文本 每行不超过80个字符 写到文件中 微答案 1 fw 2 str 3 str 微答案 1 void fun long s,long t 2...