试卷详情
-
二级C语言笔试操作题-7
-
[填空题]下列给定程序中函数fun的功能是:从整数10~55,查找能被3整除且有一位上的数值是5的数,把这些数放在b所指的数组中,这些数的个数作为函数值返回。规定函数中a1放个位数,a2放十位数。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
intfun(int*b)
int k,a1,a2,i=0;
for(k=10;k<=55;k++)
/**************found*************/
a2=k/10;
a1=k-a2*10;
if((k%3==0&&a2==5)||(k%3==0&&a1==5))
b[i]=k;i++;
/********found***********/
return k;
main( )
int a[100],k,m;
m=fun(a);
printf("The result is:/n");
for(k=0;k<m;k++)
printf("%4d",a[k]);
printf("/n");
-
[简答题]规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:将字符串尾部的*号全部删除,前面和中间的*号不动。
例如,字符串中的内容为“****A*BC*DEF*G*******”,删除后,字符串中的内容应当是“****A*BC*DEF*G”。在编写函数时,不得使用C语言提供的字符串函数。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
#include<conio.h>
voidfun(char*a)
void main( )
char s[81];
printf("Enter a string:/n");
gets(s);
fun(s);
printf("The string after deleted:/n");
puts(s);
-
[填空题]下列给定程序中,函数fun的功能是:在形参ss所指字符串数组中查找与形参t所指字符串相同的串,找到后返回该串在字符串数组中的位置(即下标值),若未找到则返回-1。ss所指字符串数组中共有N个内容不同的字符串,且串长小于M。
请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#include<string.h>
#defineN 5
#defineM 8
int fun(char(*ss)[M],char*t)
int i;
/***************found**************/
for(i=0;i______;i++)
/***********found****************/
if(strcmp(ss[i],t)==0)
return ______;
return(-1);
main( )
char ch[N][M]="if","while","switch","int","for",t[M];
int n,i;
pfintf("/nThe original string/n/n");
for(i=0;i<N;i++)puts(ch[i]);
printf("/n");
wintf("/nEnter a string for search:");
gets(t);
n=fun(ch,t);
/***********found*****************/
if(n==______)
printf("/nDon’t found!/n");
else
printf("/nThe position is%d./n",n);