您好,欢迎来到九壹网。
搜索
您的当前位置:首页C语言期末复习题(填空题)

C语言期末复习题(填空题)

来源:九壹网


1. 在考生目录下,给定程序FILL1.C的功能是:

计算正整数num的各位上的数字之积。

例如,若输入:252,则输出应该是:20。

若输入:202,则输出应该是:0。

程序有两个空(1)、(2)需要补充完整。并将程序调试出

所需的结果。

注意:不要随意改动程序,不得增行或删行,也不得更

改程序的结构!

#include

#include

main( )

{long int num,k;

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

_____(1)_______ k=1;

clrscr() ;

printf(\"\\Please enter a number:\") ;

scanf(\"%ld\

do

{ k*=num%10 ;

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

_____(2)______ num=num/10;

} while(num) ;

printf(\"\\n%ld\\n\

}

2. 在考生目录下,给定程序FILL1.C的功能是:从键盘上

输入一个数字组成的字符串(字符串长度小于8),将该字

符串转换成一个十进制数。

例如:从键盘上输入2345,则程序运行的结果应当为:

n=2345。

程序有两个空(1)、(2)需要补充完整。请将程序调试出

所需的结果。

注意:不要随意改动程序,不得增行或删行,也不得更

改程序的结构!

#include \"stdio.h\"

main()

{ char s[10]; int i;

long int n=0;

clrscr();

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

___(1)___; scan(“%s”,s);

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

for(i=0;___(2)___;i++) in=n*10+s[i]-'0';

printf(\"n=%ld\\n\

}

3. 在考生目录下,给定程序FILL1.C的功能是:输出

Fabonacci数列:1,1,2,3,5,8,……的前20项的

项值,要求每行输出5个数。请填空。

程序有两个空(1)、(2)需要补充完整。请将程序调试出

所需的结果。

注意:不要随意改动程序,不得增行或删行,也不得更

改程序的结构!

#include \"stdio.h\"

main()

{ long int f[20]={1,1};

int i;

clrscr();

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

___(1)___; printf(“%8ld%8ld”,f[0],f[1])

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

{

f[i]=f[i-1]+f[i-2];

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

if(___(2)___) printf(\"\\n\"); i%s==0

printf(\"%8ld\

}

printf(\"\\n\");

}

4. 在考生目录下,给定程序FILL1.C的功能是:实现在N行M列

的二维数组中,找出每一行上的最大值,且原数组值不变。

例如:如果二维数组元素的值为:

1 5 7 4

2 6 4 3

8 2 3 1

时,程序的运行结果应为:

The max value in line 0 is 7

The max value in line 1 is 6

The max value in line 2 is 8

请填空。

程序有两个空(1)、(2)需要补充完整。并将程序调试出

所需的结果。

注意:不要随意改动程序,不得增行或删行,也不得更

改程序的结构!

#define M 4

#define N 3

main()

{ int i,j,p,x[N][M]={1,5,7,4,2,6,4,3,8,2,3,1};

clrscr();

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

for(i=0;___(1)___;i++) i{ p=0;

for(j=0;jif(x[i][p]/************found************/

___(2)___; x[i][p]=x[i][j]

printf(\"The max value in line %d is %d\\n\

}

}

5. 在考生目录下,给定程序FILL1.C的功能是:将无符号

八进制数字构成的字符串转换为十进制整数。

例如,输入的字符串为:556,则输出十进制整数366。

请填空。

程序有两个空(1)、(2)需要补充完整。并将程序调试出

所需的结果。

注意:不要随意改动程序,不得增行或删行,也不得更

改程序的结构!

#include

main()

{ char s[6]; int n=0,j=0;

clrscr();

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

___(1)___; scanf(“%s”,s);

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

while(___(2)____) j{ n=n*8+s[j]-'0';

j++; }

printf(\"%d\\n\

}

6. 在考生目录下,给定程序FILL1.C的功能是:输出

Fabonacci数列:1,1,2,3,5,8,……的前20项的

项值,要求每行输出5个数。请填空。

程序有两个空(1)、(2)需要补充完整。请将程序调试出

所需的结果。

注意:不要随意改动程序,不得增行或删行,也不得更

改程序的结构!

#include \"stdio.h\"

main()

{ long int f[20]={1,1};

int i;

clrscr();

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

___(1)___; printf(“%ld,%ld”,f[0],f[1]);

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

{

f[i]=f[i-1]+f[i-2];

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

if(i%5==0) ___(2)___; printf(“\\n”);

printf(\"%8ld\

}

printf(\"\\n\");

}

7. 在考生目录下,给定程序FILL1.C的功能是:计算1到100

之间的奇数之和及偶数之和。请填空。

程序有两个空(1)、(2)需要补充完整。请将程序调试出

所需的结果。

注意:不要随意改动程序,不得增行或删行,也不得更

改程序的结构!

#include

main()

{ int a,b,c,i;

clrscr();

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

___(1)___; a=c=0;

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

{ a+=i;

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

___(2)___; b=i+1;

c+=b; }

printf(\"sum of evens is %d\\n\

printf(\"sum of odds is %d\\n\

}

8. 在考生目录下,输出一维数组a中的最小值及其下标。请填空。

程序有两个空(1)、(2)需要补充完整。请将程序调试出

所需的结果。

注意:不要随意改动程序,不得增行或删行,也不得更

改程序的结构!

#include

main( )

{ int i,p=0,a[10];

clrscr();

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

for(i=0;___(1)___;i++) i<10

scanf(\"%d\

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

if(a[i]/************found************/

___(2)___; p=i

printf(\"%d,%d\\n\

}

9. 在考生目录下,给定程序FILL1.C的功能是:把数组a

(大小为100)中前n个元素中的最大值放入a的最后

一个元素中,n的值由键盘输入。请填空。

程序有两个空(1)、(2)需要补充完整。并将程序调试出

所需的结果。

注意:不要随意改动程序,不得增行或删行,也不得更

改程序的结构!

#include

main()

{ int a[100],i,n;

clrscr();

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

___(1)___; scanf(“%d”,&n);

for(i=0;iscanf(\"%d\

a[99]=a[0];

for(i=1;iif(a[99]a[99]=a[i];

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

printf(\"Max is %d\\n\ a[99]

}

10. 在考生目录下,给定程序FILL1.C的功能是:从键盘上

输入若干个整数,并将这些整数存放在数组x中,统计

计算出平均成绩,当输入负数时结束。

例如,如果从键盘上输入:1 2 3 4 -8,则程序的输出应为:

Output :

ave=2.50

请填空。

程序有两个空(1)、(2)需要补充完整。并将程序调试出

所需的结果。

注意:不要随意改动程序,不得增行或删行,也不得更

改程序的结构!

#include

main()

{float x[1000],sum=0.0,ave,a;

int n=0,i;

clrscr();

printf(\"Enter mark:\\n\");

scanf(\"%f\

while(a>=0.0 && n<1000)

{

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

sum+=___(1)___; a

x[n]=a;

n++;

scanf(\"%f\

}

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

ave=___(2)___; sum/n

printf(\"Output :\\n\");

printf(\"ave=%.2f\\n\

}

11. 在考生目录下,给定程序FILL1.C的功能是:查找n在

数组a中最后一次出现的位置。

例如:如果a数组中的元素为:1,5,2,5,6,8,7,4,3,0,

当n=5时,程序的输出结果为:5 is No.3 。

当n=10时,程序的输出结果应为:10 not found !。

请填空。

程序有两个空(1)、(2)需要补充完整。请将程序调试出

所需的结果。

注意:不要随意改动程序,不得增行或删行,也不得更

改程序的结构!

#include

main( )

{ int a[10]={1,5,2,5,6,8,7,4,3,0};

int i,k,n,f=0;

clrscr();

scanf(\"%d\

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

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

if(___(1)___) a[i]==n

{ f=1;

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

___(2)___; k=i

}

if(f)

printf(\"%d is No. %d\\n\

else

printf(\" %d not found !\\n\

}

12. 在考生目录下,给定程序FILL1.C的功能是:

从键盘上输入两个正整数x,y,求它们的最大公约数。

例如:如果从键盘上输入24,36,程序的输出应为:max is : 12。

程序有两个空(1)、(2)需要补充完整。请将程序中的

____(1)____和____(2)____删除后,在相应的位置填入正确

答案并调试直到得到正确结果为止。

注意:不要随意改动程序,不得增行或删行,也不得更

改程序的结构!

#include

#include

#include

main()

{ int x,y,t,i;

clrscr();

printf(\"Please enter two numbers:\");

scanf(\"%d,%d\

if(x < y)

{t = x; x = y; y = t;}

t = x % y;

while( t )

{ x = y;

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

____(1)____ ; y=t

t = x % y;

}

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

printf(\"max is : %d\ y

}

13. 在考生目录下,给定程序FILL1.C的功能是:

从键盘上输入一个正整数n,计算并输出n的阶乘。

例如,如果从键盘上输入8,

程序的运行结果应为:The result is: 40320。

程序有两个空(1)、(2)需要补充完整。请将程序中的

____(1)____和____(2)____删除后,在相应的位置填入正确

答案并调试直到得到正确结果为止。

注意:不要随意改动程序,不得增行或删行,也不得更

改程序的结构!

#include

#include

#include

long fac( int n )

{ int i;

long t=1;

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

t = t*i;

return (t);

}

main()

{ int n;

long int s;

clrscr();

printf(\"Enter an integer number:\");

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

____(1)____; scanf(“%d”,&n)

s = fac(n);

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

printf(\"The result is : ____(2)____\\n\ %ld

}

14. 在考生目录下,给定程序FILL1.C的功能是:

统计两个正整数[m,n]之间所有既能被3整除也被7整除的整数的个数。

例如:m=1,n=1000,则程序的输出结果应为:The result is : 47 。

程序有两个空(1)、(2)需要补充完整。请将程序中的

____(1)____和____(2)____删除后,在相应的位置填入正确

答案并调试直到得到正确结果为止。

注意:不要随意改动程序,不得增行或删行,也不得更

改程序的结构!

#include

#include

#include

int fun( m , n )

int m , n;

{int i,t,s=0;

if( m>n )

{ t=m; m=n; n=t;}

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

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

if ( ____(1)____ ) i%3==0 && i%7==0

s++;

return (s);

}

main()

{ int m=1,n=1000;

clrscr();

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

printf(\"The result is : %d\\n\ fun(m,n)

}

15. 在考生目录下,给定程序FILL1.C的功能是:

求一维数组a中既不能被3整除也不能被5整除的元素之和。

例如:如果数组a中的元素如下:1,8,5,10,6,18,7,2,4,12,9,11,

则程序的输出结果应为:The result is : 33。

程序有两个空(1)、(2)需要补充完整。请将程序中的

____(1)____和____(2)____删除后,在相应的位置填入正确

答案并调试直到得到正确结果为止。

注意:不要随意改动程序,不得增行或删行,也不得更

改程序的结构!

#include

#include

#include

long int fun( arr , n )

int arr[12] , n;

{int i;

long int s=0;

for (i=0;iif ( arr[i]%3!=0&&arr[i]%5!=0 )

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

____(1)____; s=s+arr[i]

return (s);

}

main()

{ int a[12]={1,8,5,10,6,18,7,2,4,12,9,11};

clrscr();

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

printf(\"The result is : %ld\\n\}

fun(a,12)

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务