c语言近几年考题(3)

2019-05-18 14:10

(第二套) (60分钟)

一、程序调试题(文件名为test2-1.c) (40分)

fun函数功能是在一个字符串,根据给定的插入位置i,插入一个指定的字符ch。如果i超过了字符串的长度,则将字符ch添加到字符串的末尾。

在main函数中,输入一个字符串、插入位置和要插入的一个字符,调用函数fun,最后将插入后的结果输出到屏幕和文件test1-2.dat中。

例如输入abcdefg字符串,给定插入位置为3,插入字符为A。则输出结果为:abcAdefg。若给定的插入位置为20,则输出结果为:abcdefgA。

请改正程序中的错误,使它能得出正确的结果。 注意:不得增行或删行,也不得更改程序的结构。 源程序如下: #include #include #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 # define M 10 # define N 80 void main() {

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;imax) max=a[i]; return; }

二、编写程序(程序文件名命名为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 fun(char s) {

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 # define N 10

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 fun(char p,int a[]) {

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 页


c语言近几年考题(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:基于单片机的脉搏心率测量仪-参考论文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: