(第二套) (60分钟)
一、程序调试题(文件名为test2-1.c) (40分)
fun函数功能是在一个字符串,根据给定的插入位置i,插入一个指定的字符ch。如果i超过了字符串的长度,则将字符ch添加到字符串的末尾。
在main函数中,输入一个字符串、插入位置和要插入的一个字符,调用函数fun,最后将插入后的结果输出到屏幕和文件test1-2.dat中。
例如输入abcdefg字符串,给定插入位置为3,插入字符为A。则输出结果为:abcAdefg。若给定的插入位置为20,则输出结果为:abcdefgA。
请改正程序中的错误,使它能得出正确的结果。 注意:不得增行或删行,也不得更改程序的结构。 源程序如下: #include
#define N 80
char insert(char str,int i,char ch) {
int j,len; len=strlen(str); if(i>len) {
for(j=len-1;j>=i;j++) str[j+1]=str[j]; str[i]=ch; str[len]='\\0'; } else {
i=len; str[i]=ch;
str[len+1]='\\0'; } }
void main() {
char str[81],ch; int i;
FILE *fp;
fp=fopen(\ if(fp==NULL) {
printf(\ exit(0);
}
printf(\
第 11 页 共 50 页
gets(str);
printf(\ scanf(\ insert(str,i,ch); printf(\ fprintf(fp,\ fclose(fp); }
二、编写程序(程序文件名命名为test2-2.c) (60分)
(1)编写函数fun,该函数的功能是:求出整型数组a中N个数的平均值,并将大于平均值的整数放入数组b中,数组b的个数作为函数值返回。
(2)在main函数中,输入N个整数,调用fun函数,最后输出结果。
(第三套)
(60分钟)
一、程序调试题(文件名为test3-1.c) (40分)
fun函数的功能是统计M行字符串中最长的字符串,并返回最长字符串的字符个数。
在main函数中,从文件test3-1.dat中输入M行字符串(每行字符串的长度不超过80个字符),调用fun函数,然后输出最长字符串的字符个数。
请改正程序中的错误,使它能得出正确结果。 注意:不得增行或删行,也不得更改程序结构。
源程序如下: # include
int max,lin,i=0,a[M]; char str[M][N];
int fun(char [M][N],int *); FILE *fp;
if((fp=fopen(\ {
printf(\ exit(0); }
while(!feof(fp))
gets(str[i++],N,fp); fclose(fp); fun(str,a);
printf(\}
int fun(char str[][N],int a[]) {
int i,j=0,max; for(i=0;i 第 12 页 共 50 页 while(str[i][j]) j++; a[i]=i; j=0; } max=a[0]; for(i=1;i 二、编写程序(程序文件名命名为test3-2.c) (60分) (1)编写函数fun,其功能是从给定的N个整数中顺序查找一个指定的数,找到则返回该数的位置,否则返回-1。 (2)在main函数中输入N个整数和需要查找的数,调用fun函数,若返回值大于等于0则输出该数以及该数在数组中的位置,否则输出-1。 (第四套) (60分钟) 一、程序调试题(文件名为test4-1.c ) (40分) fun函数的功能是:将字符串s中的数字字符取出,转换成一个整数,整数作为函数值返回。例如:字符串为“ab12CD34”,则取出数字字符转换成整数1234。 在main函数中调用fun函数,并将转换后的结果写到文本文件test4-1.dat中。 请改正程序中的错误,使它能得出正确的结果。 注意:不得增行或删行,也不得更改程序结构。 源程序如下: #define N 20 # include int i,t=0; for(i=0;s[i]!='\\0';i++) if(s[i]>='0'||s[i]<='9') t=t*10+s[i]; return t; } void main() { char s[20]; int t; file *fp; if((fp=fopen(\ { printf(\ exit(0); } gets(s); 第 13 页 共 50 页 t=fun(s); printf(\ fprintf(\ fclose(fp); } 二、编写程序(程序文件名命名为test4-2.c) (60分) (1)编写fun函数,其功能是对长度为N 的字符串中的N个元素进行从大到小冒泡排序。 (2)在main函数中输入一个长度为N的字符串,调用 fun函数,然后输出排序后的结果。 (第五套)(60分钟) 一、程序调试题(文件名为test5-1.c )(40分) 在main函数中,从文本文件test5-1.dat中读出N个数,调用fun函数,统计其中素数的个数,并在main函数中输出其素数的个数及其所有素数。 请改正程序中的错误,使它能得出正确结果。 注意:不得增行或删行,也不得更改程序结构。 源程序如下: # include int fun(int *a,int c[]) { int i,j,k=0; for(i=0;i { for(j=2;j<=*(a+i)/2;j++) if(*(a+i)/j==0) break; if(j<*(a+i)/2) { c[k]=a+i; k++; } } return k; } void main() { int a[N],c[N],cnt,i; FILE *fp; fp=fopen(test5-1.dat,\ if(fp==NULL) { printf(\ exit(0); } for(i=0;i 第 14 页 共 50 页 printf(\ printf(\ for(i=0;i } 二、编写程序(程序文件名命名为test5-2.c) (60分) (1)编写函数fun,其功能是:将一个N×N的二维数组进行转置,转置以后的结果仍然存放在原来的二维数组中。 (2)在main函数中按如下数据对一个二维数组a进行初始化,输出原始数组,调用 fun函数,输出转置后的数组。 原始数据 1 2 3 4 转置后的数据 1 3 5 7 3 4 5 6 2 4 6 8 5 6 6 7 3 5 6 9 7 8 9 0 4 6 7 0 (第六套)(60分钟) 一、程序调试题(文件名为test6-1.c )(40分) fun函数的功能是:将一个字符串中连续的数字串转换成一个整数,依次存放在数组a中,并统计该字符串中共有多少个整数。 在main函数中从test6-1.dat中读入一个字符串,调用fun函数,然后输出字符串中的所有整数。 例如,如读入的字符串为“wd123er34gdfk”,则输出的整数为123和34。 请改正程序中的错误,使它能得出正确结果。 注意:不得增行或删行,也不得更改程序结构。 源程序如下: # define N 80 # include int i=0,j=0,flag=0,val=0,d; while((p+i)!='\\0') { if(*(p+i)<'0'&&*(p+i)>'9') { if(flag) a[j++]=val; flag=val=0; } else { d=*(p+i)-48; val=val+10+d; flag=1; } i++; } if(*(p+i)=='\\0'&&flag) 第 15 页 共 50 页 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库c语言近几年考题(3)在线全文阅读。
相关推荐: