C语言上机题库答案(1)!!!!

更新时间:2024-01-27 14:35:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1、程序填空题

给定的程序的功能是调用fun函数建立班级通讯录。通讯录中记录 填空:(1)STYPE (2)FILE (3)fp 改错: (1) for(i=0;i<=sl;i++) (2) t[2*sl]='\\0'或t[sl+sl]='\\0' 编程:

*c=(a/10)*1000+(b/10)*100+(a)*10+(b);

2、程序填空题

给定程序的功能是:从键盘输入若干文本(每行不超过80个字符),写到文件myfile4.txt中,

填空:(1) *fw (2) str (3) str

改错:(1) void fun(long s,long *t)(2) s1=s1*10;

编程:int i,j=0,min=a[0].s; for(i=0;i

if(a[i].s

j=0;b[j++]=a[i];min=a[i].s; }

else if(min==a[i].s) b[j++]=a[i]; }

return j;

3、程序填空题

给定程序中,函数fun的功能是:讲自然数1~10以及它们的平方根写到名为myfile3.txt的文本中

填空:(1)fp(2)fclose(fp)(3)myfile3.txt 改错:(1)for(i=j+1;i

4、程序填空题

给定程序中,调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功,函数返回值为1,失败时返回值为0.\\

填空:(1) \ (2 )fs (3)ft 改错:(1) if (d%2==0) (2 ) s/=10; 编程:

int i = 0, j = 0; while(s[i]) { if(i % 2 == 0 && s[i] % 2 == 0) t[j++] = s[i]; i++; }

t[j] = 0;

5、程序填空题

给定程序中已经建立一个带有头结点的单向链表,链表中的各结点数据域中的数据递增有序链接,函数fun的功能是:把形参x的值放入一个新结点并插入到链表中,插入后各结点数据域的值仍保持递增有序。 填空:(1)x (2)p (3)s

改错:(1)long k=1; (2)num/=10; 编程:int i; float aver=0.0;

for(i=0;i

6、程序填空题

给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun函数,每调用一次fun函数,输出链表尾部节点中的数据,并释放该节点,使链表缩短。 填空:(1) next (2) t->data (3) t 改错:(1) void fun(char *a) (2) print(\编程:int i; char *p=s,*q=t; int n=0,m=0;

while(*p) /*计算串s的长度n,其中p为临时指针*/ { n++; p++; }

while(*q) /*计算串t的长度m,其中q为临

时指针*/ { m++; q++; }

if(n>=m) /*比较m和n的值,设置p指向较大的指针*/ p=s; else p=t; return p;

7、程序填空题

给定程序中建立一个带有头结点的单向链表,链表中的各节点按数据域递增有序链接。函数fun的功能是:删除链表中数据域值相同的节点,使之只保留一个。 填空:(1) q (2) next (3) next 改错:(1) 缺分号 (2) p = i; 编程:*n=0; int i; for(i=1;i<=m;i++) if(i%7==0||i==0) a[*n++]=i;

8、程序填空题 给定的程序中,函数fun的功能是:在带有头结点的单向链表中,

查找数据域中值为ch的结点。找到后通过函数值返回该结点在

链表所处的顺序号;如不存在值为ch的结点,函数返回0值。

填空:(1)0或NULL (2)n (3)head,ch 改错: (1) for(i=0,t=0;p[i];i++) (2) c[t]='\\0'; 编程: int i;

for(i=1;i

If( (ss[i]>='a'&&ss[i]<='z') ss[i]-=32;

9、程序填空题

给定程序中,函数fun的功能是:统计出带有头结点的单向链表中节点的个数,存放在形参n所指的存储单元中。

填空:(1) *n (2) next (3) head 改错:(1) a=NULL; (2) if(*r==*p) 编程: int i,j=0;

for(i=0;i

10、程序填空题

给定程序中,函数fun的功能是:计算出带有头结点的单向链表中各节点数据域中值之和作为函数值返回。

填空:(1) data (2) next (3) head 改错:(1) while(*r) (2) *a=*r;a++;r++; 编程:int i,j=0;

for((i=0;i

11、程序填空题

给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数数值返回 填空:(1)M (2)< (3)k

改错:(1)if(('a'<=tt[i])&&(tt[i]<='z')) (2)tt[i]-=32; 编程:int i,j; int t=0;

for(i=2;i

12、程序填空题

给定程序中,函数fun的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。

填空:(1) j++ (2) s[i]=t1[i] (3) j

改错:(1) for(j = i + 1; j < 6; j++) (2) 字符绕回放到第一个奇数位置,下标为偶数

的字符不动(注:字符串的长度大于等于2) 填空:(1) 1 (2) s[k] (3) c

改错:(1) long s = 0,t = 0; (2) t = t / 10; 编程: char *p=tt; *(pstr + i) =*( pstr + j); 编程: int cnt=0; char *p=ss; while(*p) {if(*p==c) cnt++; p++;} return cnt;

13.程序填空题

给定程序中,函数fun的功能是:在形参s所指字符串中的每个数字字符之后插入一个*号。 填空:(1)&& (2)0 (3)s[j] 改错(1)for(i=2;i<=m;i++) (2)y+=1.0/(i*i);

编程题:int c[3][3]; for(i=0,i<3;i++) for(j=0;j<3;j++) {c[i][j]=a[j][i];

b[i][j]=a[i][j]+c[i][j];} 14、程序填空题 给定的程序中,函数fun的功能是:统计形参s所指字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中 输出 填空:(1)s[i] (2)'9' (3) *t=n; 改错: (1) t=*x;*x=y; (2) return (t); 编程: int i; *n=0;

for(i=7;i<1000;i++)

if (((i%7)==0)||((i)==0)&&((iw)!=0) a[(*n)++]=i; 15、程序填空题

给定的程序中,函数fun的功能是:把形参s所指字符串中下标为奇数的字符右移到下一个奇数的位置,最右边被移出的字符串的

int i;

for(i=0;i<26;i++) pp[i]=0; while(*p)

{if(*p>='a' &&p<='z') pp[*p-'a']+=1; p++; }

16、程序填空题

在给定程序中,函数fun的功能是:对形参s所指字符串下标喂奇数的字符按ASCII码大小递增排序,并将排序后下标为奇数的字符取出,存入形参p所指字符数组中形成一个新串。

填空:(1) t=i (2) i (3) 0

改错:(1) while(fabs(t)>=num) (2) t=s/n; 编程: int p,m=0; for(p=0;p

{b[m]=a[p];m++;} b[m]='\\0';

17、程序填空题

给定程序中,函数fun的功能是:在形参s所指字符串中寻找与参数c相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则函数不做任何处理。 填空:(1) 0或'\\0' (2) 0 (3) c

改错:(1) double sum=0.0; (2) sum/=c; 编程:int k;

float str=1.0,sum=1.0; for(k=2;k<=n;k++) {

sum=sum+k; str=str+1/sum; }

return str;

18、程序填空题

给定程序中,函数fun的功能是:N×N矩阵,根据给定的m(m<=N)值,将每行元素中的值均右移m个位置,左边值为0.例填空:(1) i++ (2) m (3) m

改错:(1) while((high>=2)&&(n<10)) (2) 21、程序填空题

给定程序中,函数fun功能是:找出100至x(x想<999)之间各位上的数字之和为15的所有整数,然后输出;符合条件的整数个数作为函数值返回。

缺分号

编程: float x1=0.0,x0; do {

x0=x1; x1=cos(x0);

}while(fabs(x0-x1)>0.000001); return x1;

19、程序填空题

给定程序中,函数fun的功能是:将N*N矩阵中元素的值按列右移1个位置,右边被移出矩阵的元素绕回左边。 填空:(1)N (2)N-1 (3)0

改错:(1)s=s+(n+1.0)/n; (2)return t; 编程:int f0=0,f1=1,f; do

{f=f0+f1; f0=f1; f1=f;

}while(f

20、 程序填空题

给定程序中,函数fun的功能是:由NxN矩阵,将矩阵的外围元素顺时针旋转。 操作顺序是:首先将第一行元素的值存入临时数组r, 然后使第一列成为第一行, 最后一行成为第一列,最后一列成为最后一行,临时数组中的元素成为最后一列 列。 填空:(1)0 (2)j-- (3)j 改错: (1)double f(double x) (2)缺分号 编程: double s=0.0; int i;

for(i=1;i<=m;i++) s=s+log(1.0*i); s=sqrt(s); return s;

填空:(1) 0 (2) x (3) t++ 改错:(1) int i,s1; (2) t[i]=s[s1-1-i]; 编程: *c=(b/10)*1000+(a/10)*100+(b)*10+a;

22、程序填空题

给定的程序中,函数fun的功能是:找出100~999之间(含有100和999)所有整数各位上的数字之和为x(x为以正整数)的整数,然后输出;符合条件的整数个数作为函数值返回。 填空:(1)999 (2)t/10 (3)x

改错:(1) void fun(long s,long *t) (2)while(s>0)

编程:STREC tmp; int i,j;

for (i=0;i23、程序填空题

给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原位从高位到低位的顺序组成一个新的数,并作为函数值返回。

填空:(1)1 (2)s (3)i*10

改错:(1)int fun(int n,int xx[][M]) (2)printf(\编程:*c=(a/10)*1000+(b)*100+(a)*10+(b/10);

24 程序填空题

给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新的数,并作为函

数返回.

填空: (1) 0 (2) 10*x (3) n/10 改错: (1) *t=0; (2) if (d%2!=0) 编程: char *p=p1; while (*p) p++;

while(*p2) {*p++=*p2++; *p=0; }

25.程序填空(与教材18题对应))

给定的程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除..剩下的数按原来从高位的顺序组成一个新的数,并 通过形参兆时指针n传回所指变量. 填空(1) 10 (2) 0 (3) x 改错(1) if (n = = 0) (2)缺分号

编程: long s=0, t; int i=0,j,n=strlen(p),k,s1; if (p[0]==' -') i++;

for (j=i;j<=n-1;j++) {t=p[j]-'0'; s1=10;

for (k=j;k

if (p[0]=='-') return –s; else return s;

26,程序填空题

给定程序中,函数fun的功能是:计算下式前n项的和作为函数值返回。

S=(1*3)/(2*2)+(3*5)/(4*4)+(5*7)/(6*6)+??+(2n-1)(2n+1)/(2n*2n)填空:(1)0 (2)n (3) (t*t) 改错:(1)for(i=0;str[i];i++) (2) for(i=0; str[i];i++) 编程:double s; float n,t,pi;

t=1;pi=0;n=1.0;s=1.0; while((fabs(s))>=eps)

{pi+=s;

t=n/(2*n+1); s*=t; n++;} pi=pi*2; return pi;

27、程序填空题 (与22题对应)

给定程序中,函数fun的功能是:计算下式前n项的和

S=(1*3)/(2*2)-(3*5)/(4*4)+(5*7)/(6*6)-?

+(-1)^(n-1)*(2n-1)(2n+1)/(2n*2n) 作为函数植返回。 填空:(1)1 (2) 2*i (3) (-1) 改错:(1) 缺分号 (2) if (m= =k) 编程:int i; *max=a[0]; *d=0;

for(i=0;i28、程序填空题

给定程序中,函数fun的功能是计算下式 s=3/(2*2)-5/(4*4)+7/(6*6)-?+(-1) ^ (n-1)(2n+1)/(2n*2n)

直到|(2n+1)/(2n*2n)|<10*e(-3) 并把计算结果作为函数值返回。 填空:(1)3.0 (2)> (3) (2*i+1) 改错:(1)double fun (int n) (2) s=s+(double)a/b; 编程: int i,j,max=a[0][0]; for(i=0;i<2;i++) for (j=0;j29、程序填空题

给定程序中,函数fun的功能是计算下式 s=1/(2*2)+3/(4*4)+5/(6*6)+....(2n-1)/(2n*2n) 直到|(2n-1)/(2n*2n)|<=10e-3,并把计算结果作为函数值返回。 填空:(1)0(2)i++(3)2.0*i 改错:(1)void fun (char *s,char *t)(2)

t[2*d]='\\0';

编程:int i,j=o;

for(i=1;i

if (i%2==0&&s[i]%2)t[j++]=s[i]; t[j]='\\0';

30 程序填空题

给定程序中,函数fun的功能是,将形参s所指字符串的所有字母

字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作 为函数值返回。 填空:(1)s[i] (2)k (3)0 改错:(1)while (*w) (2)if(*r==*p) 编程:int i,j=0;

for(i=1;i

31、程序填空题

给定程序中,函数fun的功能是:将a所指4×3矩阵中第k行的元素与第0行元素交换。

填空:(1) k (2) N (3) a[k][i]

改错:(1) for(i=strlen(t)-1;i;i--) (2) if(t[j]>t[j+1]) 编程:char *p=ss int i=0; while(*p) {

if((i%2)&&(*p>='a'&&*p<='z')) *p-=32; p++; i++; }

32、程序填空题

给定程序中,函数fun的功能是:将a所指3*5矩阵中第k列的元素左移到第0列,第k列以后的每列元素依次左移,原来左边的各列依次绕道右边。 填空:(1)k (2)N-1 (3)temp 改错:(1)void fun(int a[][M],int m)(2)a[j][k]=(k+1)*(j+1); 编程:

*c=(a)*1000+(b)*100+(a/10)*10+b/10;

33、程序填空题

给定程序中,函数fun的功能是:在3*4的矩阵中代出在行上最大、在列上最小的那个元素,若没有符合条件的元素则输出相应信息。

填空:(1)j (2)0 (3)i++

改错:(1)for(i=2;i<=m;i++) (2)y-=1.0/(i*i); 编程:float av=0.0; int i,j=0;

for(i=0;i

for(i=0;i

if(av>score[i])below[j++]=score[i]; return j; 10;

34、程序填空题

给定程序中,函数fun的功能是:把形参s所指字符串中最右边的n个字符复制到形参t所指字符数组中,形成一个新串。若s所指字符串的长度小于n,则将整个字符串复制到形参t所指字符数组中。 填空:(1)t,s(2)s[i](3)0 改错:(1)if (i%k==0)(2)if(k>=i) 编程:int i=0; *n=0;

for (i=1;i<=x;i++) if((x%i==0)&&(i%2)) pp[(*n)++]=i;

35、给定程序中,函数fun的功能是:在形参s所指字符串是否是“回文”(Palindrome),若是,函数返回值为1;不是,函数返回值为0。“回文”是正读和反读都一样的字符串(不区分大小写字母)。 填空:(1)s (2)— (3) return 0 改错:(1)double fun (int n) (2)c=a;a+=b;b=c;

编程: int r=0,temp,p,sign=1;

for(temp=m+1;temp

else {sign=0; break; } }

if(sign= =1&&p>=temp) {if(k>=0)

{xx[r++]=temp; k- -;}

else break; } }

36 程序填空题

给定程序中,函数fun的功能是:计算出形参s所指定字符串中包含的单词个数,作为函数值返回。为便于统计,规定各单词之间用空格隔开。 填空:(1)n++ (2)0 (3)s++ 改错:(1)t+=s[k]; (2)*aver=ave; 编程:int i,pos=0,max=*s; for(i=1;i

*k=pos;

37、程序填空题

给定程序中,函数fun的功能是:将形参s所指字符串中所有的ASCII码值小于97的字符存入形参t所指字符数组中,形成一个新串,并统计出符合条件的字符个数作为函数值返回。

填空:(1) *s (2) s++ (3) n

改错:(1) int j,c=0; double xa=0.0; (2) if(x[j] >= xa)

编程:float result,temp=1.0; int i;

for(i=1; i<=m; i++) temp=temp*i; result=temp;

for(temp=1.0,i=1;i<=n;i++) temp=temp*i; result=result/temp;

for(temp=1.0,i=1;i<=m-n;i++) temp=temp*i; result=result/temp; return result; 38. 程序填空题

给定程序中,函数fun的功能是:将形象s所指字符串中的数字字符转换成对应的数值,计算出这些数值的累加和作为函数值返回。 填空:(1)48 (2)s++ (3)sum 改错:(1)if ((k= =0) || (k= =0)) (2) ] int i;

for(i=21;i<=n;i++)

if((i%3= =0)&&(i%7 = =0)) sum=sum+i; return sprt(sum); 39、程序填空题

给定程序中,函数fun的功能是:找出形参s所指字符串中出现频率最高的字母(不区分大小写),并统计出其出现的次数。 填空:(1) *s (2) 1 (3) k[n]

改错:(1) double fun(int k) (2) return s; 编程:double s=0.0; int i;

for(i=1;i<=n;i++) s=s+1.0/(i*(i+1)); return s;

45、程序填空题

给定程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果,ss所指字符串数组中共有N个字符串,且串长小于M。

填空:(1) i (2) ps[j] (3) tp

改错:(1) double fun(int n) (2) return sum; 编程:int i;

double a=1,b=1,s=1; for(i=1;i<=n;i++) 41、程序填空题

给定程序中,函数fun的功能是用函数指针指向要调用的函数,并进行调用,规定在2处使f指向函数f1,在3处使f指向函数f2。当调用正确时,程序输出:

x1=5.000000,x2=3.000000, x1*x1+x1*x2=40.000000 填空:(1)double (2)f1 (3) f2 改错:(1)p=h->next; (2)p=p->next; 编程:

int i,n=0,fg=1; char *p=str; while(*p) {n++;p++;}

for(i=0;i

42、程序填空题

给定程序中,函数fun的功能是将带头节点的单向链表结点数据域中的数据从小到大排序,即若原链表结点数据从头至尾的数据为:10,4,2,8,6,排序后链表结点数据域从头至尾的数据为:2,4,6,8,10。 填空:(1)h->next (2)p->next (3)>= 改错:(1)p=h->next; (2)p=p->next; 编程:int i,j;

for(i=0;i

43、程序填空题

给定程序中,函数fun的功能是将不带头结点的单向链表逆置,即若链表中从头至尾结点数据域依次为:2,4,6,8,10,逆置后,从头至尾结点数据域依次为:10、8、6、4、2。 填空:(1)NODE *(2)q(3)r

改错:(1)if(i%2 || s[i]%2==0)(2)t[j]=0; 编程: for(j=0;j

给定程序中,函数fun功能是将不带头结点的单向链表逆置,即若原链表从头到尾结点数据域依次为:2 4 6 8 10 逆置后,从头到尾结点数据域依次为:10 8 6 4 2 填空:(1)next (2)0 (3)r

改错:(1)r=t; (2)if(*r= =0)

编程:int i,j,k=0; for(i=0;i

{b[k]=*(*(a+i)+j}; k++;} else break; b[k]=’\\0’;}

45、程序填空题

给定程序中,函数fun的功能是将不带头节点的单向链表结点数据域中的数据从小到大排序,即若原链表结点数据域从头到尾的数据为:10,4,2,8,6,排序后链表结点数据域从头到尾的数据为:2,4,6,8,10。填空:(1)p->next (2)q (3)p->next 改错:(1)'\\0' (2)s++; 编程:int b[N],i,j=0; for(i=p+1;i

for(i=0;i

请在程序的下划线处填上正确的内容并把下划线删除

填空:(1) double (2) f1 (3) f2

改错:(1) char *fun(char *s, char *t) (2) ss++ (3) tt++ 编程: char a[N]; int i;

for(i=0;i

for(;m>=0;m--;i--) w[i]=a[m];

47、 程序填空题

给定的程序中,函数fun的功能是将形参给定的字符串,整数、浮点数写到文本文件中,填空:(1)\ (2)> (3)fwrite 改错:(1)p=s; (2) ; (缺分号) 编程:int i;

for(i=0;j

填空:(1) FILE * (2) fp (3)ch 改错:(1)s[j++]=s[i]; (2) s[j]= '\\0';

编程: for(j=0;j

给定程序中,函数fun的功能是将参数给定的字符串、整数、浮点数写到文本文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数atoi 和atof将字符串转换成相应的整数、浮点数,然后将其显示在屏幕上。

填空; (1)File * (2) fclose(fp) (3) fp 改错; (1)t=(STU*)calloc(sizeof(STU),m); (2) t[k]=b[j];

编程; int i,t,j=0,*p=a; t=p[0];

for(i=0;i<=n;i++) if(t==p[i]); else {a[j]=t; t=p[i]; j++; }

if(i>=n) a[j]=t; return j;

49、程序填空题

程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。

for(i=0;i

if(a[i]>=100)b[10]++; else b[a[i]/10]++; 50、程序填空题

程序通过定义学生结构变量,储存了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参filename所指的文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据,其他学生的数据不变。 填空:(1)filename (2 ) fp (3) fp 改错:(1)p=(NODE*)malloc(sizeof(NODE)); (2)return h;

编程: int i,n=0;

for(i=0;i=’ a’&&s[i]<=’ z’&&s[i+1]=’ ’||s[i+1]==’\\0’) n++;}

本文来源:https://www.bwwdw.com/article/b2kw.html

Top