文档介绍:
2010~2012年江苏省计算机二级C上级考试试题及答案上机,三类人员C类试题及答案,2018年C证考试试题及答案,江苏省考C类,江苏省二级C,江苏省公务员C类考几门,2016年江苏省考C类申论第一题,江苏省文化厅领导班子,江苏省公安厅电话号码,江苏省委最新人事任免二级C语言上机试卷1
(本试卷完成时间为70分钟)
一、改错题(16分)
【程序功能】
以下程序中函数void csort(char str[][N],int n)对str指向的二维数组前n行中存储的n
个字符串分别作如下处理:从中间将字符串一分为二,左半部分字符子串按字符的ASCII码值
从大到小排序(若字符串的长度为奇数,则中间字符不参加排序)。
【测试数据与运行结果】
测试字符串:"abcdefgh","123498765"
屏幕输出:dcbaefgh
432198765
【含有错误的源程序】
以下源程序已保存在T盘myf1.c文件内,考生可直接打开该文件的调试程序。
1 #include
2 #include
3 #include
4 #define N 80
5 void csort(char str[][N],int n);
6 void main()
7 {char s[2][N]="abcdefgh","123498765";
8 int i;
9 csort(s,2);
10 for(i=0;i<2;i++)
11 puts(s);
12 getch();
13 }
14 void csort(char str[][N],int n)
15 { int i,j,k,len,half;
16 char temp;
17 for(i=0;i
18 {len=strlen(str[i][0]);
19 half=len/2;
20 for(j=0;j
21 for(k=j+1;k
22 if(str[i][j]
23 {temp=str[i][j];
24 str[i][j]=str[i][k];
25 str[i][k]=temp;
26 }
27 }
28 }
【要求】
1.打开T盘中myf1.c文件或将上述程序录入到myf1.c文件中,根据题目要求及程序中
语句之间的逻辑关系对程序中的错误进行修改。
2.改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预
处理命令,但不能增加其他语句,也不能删去整条语句。
3.将改正后的源程序(文件名myf1.c)保存在T盘中供阅卷使用,否则不予评分。
二、编程题(24分)
【程序功能】
对于所给的一个自然数n,查找并输出所有满足以下条件的等差数列:(1)公差为1;
(2)数列中各项数值之和等于n。
【编程要求】
1.编写函数int found(int a[][30],int n)。函数的功能:查找满足上述条件的所有等差
数列并依次将其保存到a指向的数组中(一行保存一个数列),函数返回找到的数列个数。
2.编写函数main()。函数的功能:声明一个二维整型数组用于保存查找结果,输入一个整
数并保存到变量n中(n≤600)。用n和整型数组作实参调用found函数,将找到的所有等差数
列输出到屏幕及数据文件myf2.out中。最后将考生本人的准考证号输出到文件myf2.out中。
【测试数据与运行结果】
输入:n=500
屏幕输出:
8 9 10 11 12 13 14 15 16 17 18 19 20 2l 22 23 24 25 26 27 28 29 30 31 32
59 60 6l 62 63 64 65 66
98 99 100 101 102
500
【要求】
1.源程序文件名为myf2.c,输出结果文件名为myf2.out。
2.数据文件的打开、使用、关闭均用C语言标准库中的文件操作函数实现。
3.源程序文件和运行结果文件均需保存在T盘中供阅卷使用。
4.不要复制扩展名为obj和exe的文件到T盘中。
参考答案
一、改错题
第7行{char s[2][N]="abcdefgh","123498765"; 改为{"abcdefgh","123498765"}
第11行 puts(s); 改为puts(s[i])
第18行{len=strlen(str[i][0]); 改为str[i]
第21行 for(k=j+1;k
内容来自淘豆网www.taodocs.com转载请标明出处.