admin 管理员组

文章数量: 1184232


2024年4月22日发(作者:linux免费的虚拟机)

【考试题目】

程序填空题

请补充main函数,该函数

的功能是:从键盘输入一个字符

串及一个指定字符,然后把这个

符及其后面的所有字符全部删

除。结果仍然保存在原串中。

例如,输入“abcdef”,指定字符

为‘e’,则输出“abcd”。

注意:部分源程序已给出,

并保存在考生文件夹下的

blank1.c 文件中。

请勿改动主函数main和其

他函数中的任何内容,仅在main

函数的横线上填入所编写的若

干表

达式或语句,并将横线去掉,同

时确保答案与前后字符之间至

少保留一个空格。

#include

#define N 80

main()

{

int i=0;

char str[N];

char ch;

printf("n Input a string:n");

gets(str);

printf("n Input a charator;n");

scanf("%c", &ch);

while(str[i]!='0')

{

if(str[i]==ch)

______

______ ;

}

str[i]= ______ ;

printf("n*** display string

***n");

puts(str);

}

程序修改题

已知一个数列从0项开始

的前3项:0,0,1,以后的各

项都是其相邻的前3项之和。下

列给定的

程序中,函数fun()的功能是:计

算并输出该数列前n项的平方根

之和sum。n的值通过形参传入。

例如,当n=10时,程序的输出

结果应为23.197745。

请改正程序中的错误,使它能得

出正确的结果。

注意:源程序保存在考生文

件夹下的 modi1.c 文件中。

不要改动main函数,不得

增行或删行,也不得更改程序的

结构,注释语句(/**found**/)

方的第一条语句有错误。

#include

#include

#include

/**********************found

***********************/

fun(int n)

{double sum, s0, s1, s2, s; int k;

sum=1.0;

if (n<=2) sum=0.0;

s0=0.0; s1=0.0; s2=1.0;

for (k=4;k<=n;k++)

{ s=s0+s1+s2;

sum+=sqrt(s);

s0=s1;s1=s2;s2=s;

}

/**********************found

***********************/

return sum

}

main()

{int n;

printf("Input N=");

scanf("%d",&n);

printf("%fn",fun(n));

}

程序设计题

编写函数fun(),它的功能

是:根据以下公式求p的值,结

果由函数值带回。M与n为两个

正数且

要求m>n。P=m!/(n!(m-n)!),例

如:m=12,n=8时,运行结果为

495.000000。

注意:部分源程序已给出,

并保存在考生文件夹下的

prog1.c 文件中。

请勿改动主函数main和其

他函数中的任何内容,仅在函数

fun的花括号中填入所编写的若

干语

句,并将横线去掉。

#include

#include

float fun (int m, int n)

{

int i;

double p=1.0;

for(i=1;i<=m;i++)

p=p*i;

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

______

______

______

______

}

main ()

{

printf ("p=%fn",fun (12,8) ) ;

}

【参考答案】

程序填空题:第15行 break;

第16行 i++【 ++i i+=1

i=i+1 】 第18行 '0'【 0 】

程序修改题:第5行 double

第16行 sum;

程序设计题:第10行 p=p/i;

【 p/=i; 】 第11行

for(i=1;i<=m-n;i++) 第12行

p=p/i;【 p/=i; 】 第13行

{

strlen++;

i++;

/**********************found

***********************/

return xa;

return 第13行 p;

【考试题目】

程序填空题

请补充函数fun(),该函数的功

能是:把ASCII码为奇数的字符

从字符串str中删除,结果仍然

保存在字符串str中。字符串str

从键盘输入,其长度作为参数传

入函数fun()。

例如,输入“abcdef”,输出“bdf”。

注意:部分源程序已给出,

并保存在考生文件夹下的

blank1.c 文件中。

请勿改动主函数main和其

他函数中的任何内容,仅在函数

fun的横线上填入所编写的若干

表达

式或语句,并将横线去掉,同时

确保答案与前后字符之间至少

保留一个空格。

#include

#define N 80

void fun(char s[],int n)

{

int i, j;

j=0;

for(i=0; ______ ;i++)

{

if( ______ )

s[j++]=s[i];

}

______ ;

}

main()

{

int i=0, strlen=0;

char str[N];

printf("nInput a string:n");

gets(str);

while(str[i]!='0')

}

fun(str, strlen);

printf("n*** display string

***n");

puts(str);

}

程序修改题

下列给定程序中,函数fun()

的功能是:给定n个实数,输出

平均值,并统计平均值以上(含平

均值)的实数个数。例如,n=8时,

输入193.199,195.673,195.757,

196.051,196.092,196.596,

196.579,196.763,所得平均值

为195.838745,在平均值以上的

实数个数应为5。

请改正程序中的错误,使它能得

出正确的结果。

注意:源程序保存在考生文

件夹下的 modi1.c 文件中。

不要改动main函数,不得

增行或删行,也不得更改程序的

结构,注释语句(/**found**/)

方的第一条语句有错误。

#include

#include

int fun(float x[], int n)

/**********************found

***********************/

;

int j, c=0;float xa=0.0;

for (j=0; j

xa+=x[j]/n;

printf("ave=%fn",xa);

for (j=0; j

if(x[j]>=xa)

c++;

}

main()

{float

x[100]={ 193.199,195.673,195.75

7,196.051,196.092,196.596,196.5

79,196.763};

printf("%dn",fun(x,8));

}

程序设计题

m个人的成绩存放在score

数组中,请编写函数fun(),它的

功能是:将低于平均分的人数作

函数值返回,将低于平均分的分

数放在below所指的数组中。

例如,当score数组中的数据为

10,20,30,40,50,60,70,

80,90时,函数返回的人数应该

4,below中的数据应为10,20,

30,40。

注意:部分源程序已给出,

并保存在考生文件夹下的

prog1.c 文件中。

请勿改动主函数main和其

他函数中的任何内容,仅在函数

fun的花括号中填入所编写的若

干语

句,并将横线去掉。

#include

#include

#include

int fun(int score[],int m, int

below[])

{

int i,j=0;

float av=0.0;

for(i=0;i

av=av+score[i]/m;

for(i=0;i

______

______

______

}

main()

{

int i, n, below[9];

int

score[9]={10,20,30,40,50,60,70,8

0,90};

n=fun(score, 9, below);

printf("nBelow the average

score are: ");

for(i=0;i

printf("%d",below[i]);

}

【参考答案】

程序填空题:第7行 ii

s[i] 】 第9行 s[i]%2==0

第12行 s[j]='0'【 s[j]=0 】

程序修改题:第5行 { 第

14行 c;

程序设计题:第11行

if(score[i]score[i]) 】

第12行 below[j++]=score[i];

第13行 return 第13行

j;

【考试题目】

程序填空题

请补充main函数,该函数的

功能是:计算两个自然数n和

m(m<10000)之间所有数的和(n

和m从

键盘输入)。

例如:当n=1,m=100时,

sum=5050;当n=100,m=1000

时,sum=495550。

注意:部分源程序已给出,

并保存在考生文件夹下的

blank1.c 文件中。

请勿改动主函数main和其

他函数中的任何内容,仅在main

函数的横线上填入所编写的若

干表

达式或语句,并将横线去掉,同

时确保答案与前后字符之间至

少保留一个空格。

#include

#include

main()

{

int n,m;

long sum;

______ ;

printf("nInput n,mn");

scanf("%d,%d",&n,&m);

while(n<=m)

{

______ ;

n++;

}

printf("sum= ______

n",sum);

}

程序修改题

下列给定程序中,函数fun()

的功能是:通过某种方式实现两

个变量值的交换,规定不允许增

加语句和表达式。例如变量a中

的值原为8,b中的值原为3,程

序运行后a中的值为3,b中的

值为8。

请改正程序中的错误,使它能得

出正确的结果。

注意:源程序保存在考生文

件夹下的 modi1.c 文件中。

不要改动main函数,不得

增行或删行,也不得更改程序的

结构,注释语句(/**found**/)

方的第一条语句有错误。

#include

#include

int fun(int *x,int y)

{

int t;

/**********************found

***********************/

t=x;x=y;

/**********************found

***********************/

return y;

}

main()

{int a=3,b=8;

printf("%d %dn ",a,b);

b=fun(&a,b);

printf("%d %dn ",a,b);

}

程序设计题

m个人的成绩存放在score

数组中,请编写函数fun(),它的

功能是:将高于平均分的人数作

函数值返回,将高于平均分的分

数放在up所指的数组中。

例如,当score数组中的数据为

24,35,88,76,90,54,59,

66,96时,函数返回的人数应该

是5,up中的数据应为88,76,

90,66,96。

注意:部分源程序已给出,

并保存在考生文件夹下的

prog1.c 文件中。

请勿改动主函数main和其

他函数中的任何内容,仅在函数

fun的花括号中填入所编写的若

干语

句,并将横线去掉。

#include

#include

#include

int fun(int score[],int m, int up[])

{

int i,j=0;

float av=0.0;

for(i=0;i

av=av+score[i]/m;

for(i=0;i

______

______

______

}

main()

{

int i, n, up[9];

int

score[9]={24,35,88,76,90,54,59,6

6,96};

n=fun(score, 9, up);

printf("nup to the average

score are: ");

for(i=0;i

printf("%d ",up[i]);

}

【参考答案】

程序填空题:第7行 sum=0

第12行 sum+=n

【 sum=sum+n 】 第15

行 %ld

程序修改题:第7行

t=*x;*x=y; 第9行 t;

程序设计题:第11行

if(score[i]>av)【 if(av

第12行 up[j++]=score[i];

第13行 return 第13行

j;

【考试题目】

程序填空题

请补充函数fun(),该函数的

功能是:输出一个N×N矩阵,

N由键盘输入,矩阵元素的

值为随机数,并计算出该矩阵四

周边元素的平均值,结果由函数

返回。例如:当N=4时:

平均值为3.917。

注意:部分源程序已给出,

并保存在考生文件夹下的

blank1.c 文件中。

请勿改动主函数main和其他

函数中的任何内容,仅在函数

fun的横线上填入所编写的若干

达式或语句,并将横线去掉,同

时确保答案与前后字符之间至

少保留一个空格。

#include

#include

#include

#define N 20

double fun(int a[][N],int n)

{

int i,j;

int k;

double s=0.0;

double aver=0.0;

printf("***** The array

*****n");

for(i=0;i

{

for(j=0;j

{

a[i][j]=rand()%10;

printf("%4d",a[i][j]);

if( ______ )

s+=a[i][j];

}

printf("n");

}

k= ______ ;

aver= ______ ;

return aver;

}

main()

{

int a[N][N];

int n;

double s;

printf("***** Input the

dimension of array N*****n");

scanf("%d",&n);

s=fun(a,n);

printf("***** THE

RESULT *****n");

printf("The average

is %2.3fn",s);

}

程序修改题

下列给定程序中,函数fun()

的功能是:先从键盘上输入一个

3行3列的矩阵的各个元素的

值,

然后输出主对角线元素之和。

请改正函数fun()中的错误,使它

能得出正确的结果。

注意:源程序保存在考生文

件夹下的 modi1.c 文件中。

不要改动main函数,不得

增行或删行,也不得更改程序的

结构,注释语句(/**found**/)

方的第一条语句有错误。

#include

int fun()

{

int a[3][3],sum;

int i,j;

/**********************found

***********************/

sum=1;

for (i=0;i<3;i++)

{ for (j=0;j<3;j++)

/**********************found

***********************/

scanf("%d",a[i][j]);

}

for(i=0;i<3;i++)

sum=sum+a[i][i];

printf("Sum=%dn",sum);

}

main()

{

fun();

}

程序设计题

i==0||i==n-1||j==0||j==n-1

【 i==0||j==0||i==n-1||j==n-1

22 】 第23行 4*n-4 第

24行 s/k

程序修改题:第7行 sum=0;

程序设计题:第8行

{

______ ;

i++;

}

}

}

main()

第11行 scanf("%d",&a[i][j]); ______ ;

if(maxmax) 】

请编写一个函数fun(),它的

功能是:求出一个2×M整型二

维数组中最大元素的值,并将此

返回调用函数。

注意:部分源程序已给出,

并保存在考生文件夹下的

prog1.c 文件中。

请勿改动主函数main和其

他函数中的任何内容,仅在函数

fun的花括号中填入所编写的若

干语

句,并将横线去掉。

#define M 4

#include

fun (int a[][M])

{

int i,j,max=a[0][0];

for(i=0;i<2;i++)

for(j=0;j

______

______

______

}

main()

{

int

arr[2][M]={5,8,3,45,76,-4,12,82};

printf("max=%dn",fun(arr));

}

【参考答案】

程序填空题:第18行

第9行 max=a[i][j]; 第10

行 return 第10行 max;

【考试题目】

程序填空题

请补充函数fun(),该函数的

功能是:删除字符数组中小于等

于指定字符的字符,指定字符

从键盘输入,结果仍保存在原

数组中。

例如,输入“abcdefghij”,指定

字符为‘d’,则结果输出

“defghij”。

注意:部分源程序已给出,

并保存在考生文件夹下的

blank1.c 文件中。

请勿改动主函数main和其

他函数中的任何内容,仅在fun

函数的横线上填入所编写的若

表达式或语句,并将横线去掉,

同时确保答案与前后字符之间

至少保留一个空格。

#include

#define N 80

void fun (char s[], char ch)

{

int i=0, j=0;

while(s[i])

{

if(s[i]

______ ;

else

{

char str[N],ch;

printf("n Input a string:n");

gets(str);

printf("n*** original

string ***n");

puts(str);

printf("n Input a

character:n");

scanf("%c", &ch);

fun(str, ch);

printf("n*** new string

***n");

puts(str);

}

程序修改题

给定程序中,函数fun()的功

能是:求输入的两个数中较小的

数。

例如:输入5 10,结果为min is

5。

请改正fun()程序中的错误,使它

能得出正确的结果。

注意:源程序保存在考生文

件夹下的 modi1.c 文件中。

不要改动main函数,不得

增行或删行,也不得更改程序的

结构,注释语句(/**found**/)

方的第一条语句有错误。

#include

#include

/**********************found

***********************/

void fun(int x, int y)

{ int z;

z=x

/**********************found

***********************/

return x;

}

main()

{int a,b,c;

scanf("%d,%dn",&a,&b);

c=fun(a,b);

printf("min is %d",c);

}

程序设计题

请编写函数fun(),其功能

是:计算并输出下列多项式值。

S=(1-1/2)+(1/3-1/4)+…+(1/(2n-1)

-1/2n)

例如,若主函数从键盘给n输入

8后,则输出为S=0.662872。

注意:部分源程序已给出,

并保存在考生文件夹下的

prog1.c 文件中。

请勿改动主函数main和其

他函数中的任何内容,仅在函数

fun的花括号中填入所编写的若

干语

句,并将横线去掉。

#include

double fun(int n)

{

int i;

double s=0.0;

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

______

______

}

main()

{

int n;

double s;

printf("nInput n: ");

scanf("%d",&n);

s=fun(n);

printf("ns=%fn ",s);

}

【参考答案】

程序填空题:第9行 i++【 ++i

i+=1 i=i+1 】 第12行

s[j++]=s[i] 第16行 s[j]='0'

【 s[j]=0 】

程序修改题:第4行 int 第

8行 z;

程序设计题:第7行

s=s+(1.0/(2*i-1)-1.0/(2*i));

【 s+=(1.0/(2*i-1)-1.0/(2*i));

s+=1.0/(2*i-1)-1.0/(2*i);

s=s+1.0/(2*i-1)-1.0/(2*i); 】 第

8行 return 第8行 s;

【考试题目】

程序填空题

请补充函数fun(),该函数的

功能是:只保留字符串中的大写

字母,删除其他字符,结果

仍保存在原来的字符串中,由全

局变量m对删除后字符串的长

度进行保存。

注意:部分源程序已给出,

并保存在考生文件夹下的

blank1.c 文件中。

请勿改动主函数main和其他

函数中的任何内容,仅在函数

fun的横线上填入所编写的若干

达式或语句,并将横线去掉,同

时确保答案与前后字符之间至

少保留一个空格。

#include

#include

int m;

void fun(char *s)

{

int i=0,j=0;

char *p=s;

while(*(p+i))

{

if(*(p+i)>='A'&&*(p+i)<='Z')

{

______ ;

}

______ ;

}

s[j]='0';

______ ;

}

main()

{

char str[80];

printf("nEnter a string:");

gets(str);

printf("nnThe string

is:%sn",str);

fun(str);

printf("nnThe string of

changing is:%sn",str);

printf("nnThe length of

changed string is:%dn",m);

}

程序修改题

下列给定程序中函数fun()

的功能是计算1/n!的值。

例如:给n输入5,则输出

0.008333。

请改正程序中的错误,使它能得

到正确结果。

注意:源程序保存在考生文

件夹下的 modi1.c 文件中。

不要改动main函数,不得

增行或删行,也不得更改程序的

结构,注释语句(/**found**/)


本文标签: 函数 字符 程序