全真c语言程序填空题考试题库_第1页
全真c语言程序填空题考试题库_第2页
全真c语言程序填空题考试题库_第3页
全真c语言程序填空题考试题库_第4页
全真c语言程序填空题考试题库_第5页
免费预览已结束,剩余39页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、c 语言程序填空! ! !这就是考试题库! ! !共计 131 道试题一、程序填空 (共 131 题)Turbo C (共 131 试题)3) /*【程序填空】fun1(s);s=s+f;/*SPACE*/printf("n=%d,s=%ldn",n,s);for(i=0;i<30;i+)答案:【 1 】 s=0if(i%5=0) printf("n");【2】 i+=2 或 i=i+2 或 i+,i+printf("%8.2f",si);【 3】 j<=i 或 i>=j 或 j<i+1 或 i+1>j【

2、4】 f= f * jprintf("n");5) /*功能:已定义一个含有30个元素的数组s,函数 fun1 的功能是按顺序分别赋予各元素从2开始的偶数, 函数fun2 则按顺序每五个元素求一个平均值, 并将该值存放在数组 w 中。for(i=0;i<6;i+)printf("%8.2f",wi); 【程序填空】-*/float s30,w6;fun1(float s) int k,i;答案:【 1 】 si=k 或 si=(i+1)*2【 2 】 if( ( i + 1 )%5 = 0 )或 if( ( i + 1 )/5*5 =i+1)【3】

3、 sum=0 或 sum=0.0【4 】 fun2(s,w)4) /*【程序填空】功能: 将一个字符串中下标为m 的字符开始的全部字符复制成为另一个字符串。-*/#include<stdio.h>void strcopy(char *str1,char *str2,int m) for(k=2,i=0;i<30;i+)char *p1,*p2;/*SPACE*/*SPACE*/k+=2;功能:下面的程序是求1!+3!+5!+ +n!的和。 p2=str2;while(*p1)*/main()/*SPACE*/fun2(float s,float w)float sum=0.0

4、;int k,i;long int f,s;int i,j,n;*SPACE*/*SPACE*/for(k=0,i=0;i<30;i+)sum+=si;*/scanf("%d",&n);main()int i,m;char str180,str280;/*SPACE*/*SPACE*gets(str1);scanf("%d",&m);*/*SPACE*/wk=sum/5;/*SPACE*/k+;main()int i;)f=1;*SPACE*/puts(str1);puts(str2);答案:【 1 】 p1= str1 + mfo

5、r(j=1;j+)*SPACE*/【2】*p2+=*p1+或*(p2+)=*(p1+)或*p2=*p1,p2+,p1+或*p2=*p1+,p2+或 *p2+=*p1,p1+3 】 *p2='0' 或 *p2=0 或 *p2=NULL【 4 】 strcopy(str1,str2,m)6) /*文件 test.txt 中,然后从该文件 读出字符串并显示出来。【程序填空】功能:以下程序是用选择法对10个整数按升序排序。-*/*SPACE*/main()int i,j,k,t,aN;for(i=0;i<=N-1;i+) scanf("%d",&ai)

6、; for(i=0;i<N-1;i+)*/#include<stdio.h>#include<string.h>#include<stdlib.h>main()FILE *fp;char t,str100,str1100; int n,i,j;if(fp=fopen("test.txt","w")=NULL)printf("can't open this file.n");exit(0);for(n=0;strn!=0;n+)【 2】 i<n 或 n>i 或 i<-1

7、+n 或 i<n-1 或n-1>i 或 -1+n>i 或 i<=n-1 或 n-1>=i或 -1+n>=i【 3】 strj>str j + 1 或 str j + 1 <strj或 strj+1<strj 或 strj+1<=strj【 4 】 fputs(str ,fp) 或 fprintf(fp,"%sn",str)或 fprintf(fp,"%s",str)8) /*【程序填空】功能:以每行5个数来输出300 以内能被 7或17 整除的偶数,并求出其和。-*/printf("i

8、nput a string:n"); #include <stdio.h>/*SPACE*/*SPACE*/for(j=i+1;j+)if(aj<ak) k=j;/*SPACE*/gets(str);#include <conio.h>/*SPACE*main()*/int i,n,sum;/*SPACE*sum=0;*/*SPACE*/if()t=ai;ai=ak;ak=t;printf("output the sorted array:n");for(i=0;i<=N-1;i+)printf("%5d",

9、ai);printf("n");答案:【 1 】 #define N 10【 2】 k=i【3】 j<N 或 N>j 或 j<=N-1 或 N-1>=j【4】 k != i7) /*【程序填空】功能:从键盘上输入一个字符串 , 将该字符串升序排列后输出到for(i=0;i+);/*SPACE*/for(j=0;j<n-i-1;j+)for(i=1; ;i+)/*SPACE*/*SPACE*/*/if()if(_)if(i%2=0)t=strj;sum=sum+i;strj=strj+1;n+;strj+1=t;printf("%6d&

10、quot;,i);/*SPACE*/*SPACE*if()*/printf("n");fclose(fp);printf("ntotal=%d",sum);fp=fopen("test.txt","r");fgets(str1,100,fp);答案:printf("%sn",str1);【 1 】 n=0fclose(fp);【 2 】i<=300 或 i<300 或 300>=i 或300>i答案:【 3 】i%7 =0 |i%17 =0【 1 】n=strlen(st

11、r)或或 !(i%7)|!(i%17)或 !(i%17)|!(i%7)for(n=0;strn!='0'n+)或或 !(i%7&&i%17)for(n=0;strn;n+)或【 4 】 n%5 = 0 或 !(n%5) 或 n/5*5=n9) /*int fun(int n)【程序填空】功能:以下程序的功能如 (图1) 。-*/#include <math.h>main()int f;/*SPACE*/float t,pi;t=1;pi=t;f=1;n=1.0;/*SPACE*/while( int i,j,k,m;m=n;/*SPACE*-*/*/

12、main()for(i=1;i<4;i+)int a77;int i,j;/*SPACE*/for (i=0;i<7;i+)for (j=0;j<7;j+)m=(m-j)/10;k=k+j*j*j;if(k=n)/*SPACE*/*SPACE*/if () aij=1;/*SPACE*/else if (i<j&&i+j<6)else if (i>j&&i+j<6) aij=3;/*SPACE*/else if () aij=4;elseelse aij=5;n=n+2;return(0);/*SPACE*/main()

13、for (i=0;i<7;i+)t=f/n;int i;for (j=0;j<7;j+)pi=pi+t;for(i=100;i<1000;i+)printf("%4d",aij);/*SPACE*/*SPACE*/*SPACE*/printf("pi=%10.6fn",pi);答案:1 】 float n 或duoble nfabs(t)>=1e-6if(=1)printf("%d is ok!n" ,i);答案:答案:【1】 i = j | i + j = 6【 1 】 k=0【 2】 aij=2【 2】j=

14、m%10或【 3】 i<j && i + j>6或j=m-m/10*10*/或 j>i && i + j>6 或fabs(t)>=0.000001或 1e-6<=fabs(t)0.000001<=fabs(t)【 3 】 f=-f 或f=-1*f 或 f=f*(-1)j=m-10*(m/10)【 3 】 return(1)i<j && i + 6<j 或 j>i && i + 6<j【 4 】 printf("n")13) /*f=f*-1 或

15、f=(-1)*f【 4】 pi= pi * 4 或 pi*=44 】 fun(i)【程序填空】12) /*11 ) /*【程序填空】功能:产生并输出杨辉三角的前七行。【程序填空】功能: 产生并输出如下形式的方功能:求100 999之间的水仙花数阵。说明:水仙花数是指一个三位数的各位数字的立方和是这个数本身。5 10 10 5 1例如:153 = 1人3 + 5A3 + 3A3 ) o6 15 20 15 6 1-*/-*/main ( ) int a77;int i,j,k;for (i=0;i<7;i+)ai0=1;/*SPACE*/for (i=2;i<7;i+)/*SPACE

16、*/for (j=1;j<j+)/*SPACE*/aij= for (i=0;i<7;i+)/*SPACE*/for (j=0; ;j+)printf("%6d",aij);printf("n");答案:【 1 】 aii=1【2】 i【3】ai-1j+ai-1j-1 或ai-1j-1+ai-1j【 4 】 j<=i 或 i>=j 或 j<i+1 或 i+1>j或 j-1<i 或 i>j-1/*SPACE*/s2=s2+x;k=k+;j+;n=n/10;/*SPACE*/*SPACE*/if(i!=0)if

17、 (k%15=0)av1=s1/i;elseprintf("%5d",m);i+;av1=0;/*SPACE*if(j!=0)*/*SPACE*/if(i%10=0)elseav2=0;printf("oushujunzhi:%7.2f,jishujunzhi:%7.2fn",av1,av2);答案:【 1 】 k=0答案:【2】 n%10 或 n-n/10*10 或【1】 x != 0 或 xn-10*(n/10)【 2 】 else 或 else if(x%2=1) 或 else【 3 】while(n>0)或if(x%2!=0) 或 if(x

18、%2)while(0<n) 或 while(n!=0) 或【 3 】 scanf("%d",&x)while(0!=n)【 4 】 av2=s2/j【 4 】 printf("n")16) /*15) /*【程序填空】【程序填空】14 ) /*【程序填空】功能: 分别求出一批非零整数中的偶数、奇数的平均值,用零作为终止标记。功能: 产生10个30 , 90 区间上的随机整数,然后对其用选择法进行由小到大的排序。功能:输出 100 到 1000 之间的各位数字之和能被 15整除的所有数,输出时每10个一行。-*/-*/main()int m,

19、n,k,i=0;for(m=100;m<=1000;m+)/*SPACE*/n=m;*/main()#include "stdlib.h"main() int x,i=0,j=0;float s1=0,s2=0,av1,av2;/*SPACE*/scanf("%d",&x);/*SPACE*/while()if(x%2=0) s1=s1+x;i+;/*SPACE*int i,j,k;int a10;for(i=0;i<10;i+)ai=random(61)+30;for(i=0;i<9;i+)/*SPACE*/do*/for(j

20、=i+1;j<10;j+)k+;/*SPACE*/if() k=j;/*SPACE*printf("n the changed array:n");if(k!=i)*/for (k=0;k<N;k+)/*SPACE*/t=ak;puts(str);("%4d",ak);ak=ai;ai=t;答案:答案:1 】 str1 】 k+ 或 k= k + 1 或 k+=1 或+kstri!='0'2】 ak=aN-k-1 或 ak=aN-1-k/*SPACE*/stri!=NULL或 stri!=0ak=a6-k 或*(a+k)=*(

21、a+N-k-1)for(*(a+k)=*(a+N-1-k或 ak=a-1-k+N或 ak=a-1+N-k或 ak=a-k-1+Nstri#include "stdio.h"array:n");puts(str1);puts(str2);main()for (k=0;k<N;k+)/*SPACE*/printf("n");答案:【 1 】 int t【 2】 k=i【 3】 ak>aj或【4】i=0;i<10;i+i-n-i-Qi-L-dhB-aj<ak或 i=0;10>i;i+i=0;9>=i;i+ i=0;

22、10>i;i+=1 i=0;9>=i;i+=1i=0;10>i;+i'(i<-Q+i或 或 或 或 或*(str+k)=*(str+i)或strk=*(str+i)或*(str+k)=stri【 4 】strk='0'或*(str+k)='0' 或 strk=NULL或 strk=0 或 *(str+k)=0 或*(str+k)=NULL18) /*ak=a-k+N-1或 *(a+k)=*(a+N-k-1)或 a6-k=s【 3 】aN-k-1=s 或 aN-1-k=sa6-k=s 或 aN -k -1=s 或 *(a +N-1)

23、=s【 4】 printf19) /*i=0;i<10;i+=1i=0;i<=9;i+i=0;i<10;+ii=0;9>=i;+i17 ) /*或或或ntz i-f【程序填空】【程序填空】功能:是将两个字符串连接为一个字符串,不许使用库函数strcat 。功能: 将一个数组中的元素按逆序存放。【程序填空】-*/#include "stdio.h"#include "string.h"main ( )char str180,str240;int i,j,k;*/#define N 7main ()staticintaN=12,9,1

24、6,5,7,2,1,k,s;功能:删除字符串中的指定字符,字符串和 要删除的字符均由键盘输入。或3strk=striprintf("%5d",ai);或-k-*/printf("ntheoriganalgets(str1);gets(str2);printf("%4d",ak);char str80,ch;/*SPACE*puts(str1);int i,k=0;*/*SPACE*/for(k=0;k<N/2;JOIN(s1,s2)gets();char s180,s240;ch=getchar();/*SPACE*/s=ak;int i

25、,j;for(i=0;i+)/*SPACE*/*SPACE*/*/if(stri!=ch)/*SPACE*/*SPACE*/*SPACE*for (i=0;'0'i+)*/s1i+j=s2i;/*SPACE*/功能: 将一个字符串中的前N 个 s1i+j= ;答案:【 1 】 JOIN(str1,str2)【2】j=strlen(s1) 或for(j=0;s1j!='10'j+);或for(j=0;s1j;j+);【 3】 s2i!= 或 *(s2 + i)!=【 4 】'0' 或 NULL 或 020 ) /*字符复制到一个字符数组中去,-*/

26、不许使用 strcpy 函数。main ( )*/char a59=" "main ( )int i,j;for (i=0;i<5;i+)char str180,str280;/*SPACE*/int i,n;for(j=i; ;j+)/*SPACE*aij='*'*/*SPACE*/【程序填空】gets();for(;i<5;i+)scanf("%d",&n);/*SPACE*for(j=0;j<9;j+)*/*SPACE*/功能:求两个非负整数的最大公约数和最小公倍数。-*/main()int m,n,r ,

27、p,gcd,lcm;scanf("%d%d",&m,&n);if(m<n) p=m,m=n;n=p; p=m*n;r=m%n;/*SPACE*/while()/*SPACE*/m=n;n=r; /*SPACE*/gcd=lcm=p/gcd;/*SPACE*/printf("gcd=%d,lcm=%dn",);答案:【 1】 r != 0 或 r【 2 】 r=m%n 或 r=m-m/n*n【3】 n【 4】 gcd,lcm 或 n,lcm21 ) /*【程序填空】;i+)/*SPACE*/*SPACE*/*SPACE*答案:*/【

28、1 】 j< i + 5 或 i + 5 >j 或 j<= i + 4或 i + 4 >jprintf("%sn",str2);【2】 i=0【 3】 aij答案:【 4 】 printf("n")【 1 】 str123 ) /*【 2 】 i<n 或 n>i 或 i<=n-1或 n-1>=i【程序填空】【 3 】str2i=str1i或*(str2+i)=*(str1+i)或*(str2+i)=str1i或功能:求一个二维数组中每行的最大值和每str2i=*(str1+i)行的和。【 4 】str2n=

29、'0'或str2i='0' 或 str2n=0 或-*/str2i=0 或 *(str2+n)='0'#include "stdlib.h"或*(str2+i)='0'或main()*(str+n)=0 或 *(str2+i)=022) /*int a55,b5,c5,i,j,k,s=0;for(i=0;i<5;i+)【程序填空】for(j=0;j<5;j+)aij=random(40)+20;for(i=0;i<5;i+)功能:打印以下图形。*/*SPACE*/*k=ai0; ;*for(j

30、=0;j<5;j+)*/*SPACE*/for(i=0; printf("%c", );if(k<aij)f=2*x+1;s=s+aij;printf("n=-1");elsen=-n;f=sin(x)+5;bi=k;/*SPACE*/printf("x=%f,y=%fn",/*SPACE*/*SPACE*/);for(;i<=n;ifor(i=0;i<5;i+)+)答案:1 】 #include "math.h" 或 #includefor(j=0;j<5;j+)/*SPACE*&l

31、t;math.h>/*SPACE*/*/2 】 f=fabs( x + 1 )printf("%5d",);3 】 x<=55>=x或 x<6 或 6>x 或printf("%5d%5d",bi,ci);while(r=0)x>=0&&x<=50<=x&&x<=5printf("n");x>=0&&5>=x0<=x&&5>=xprintf("*%d",i);或 !(x>

32、5)/*SPACE*4】 x,f答案:【1】s=0【 2 】k=aij【 3 】ci=s【 4】aij24 ) /*/26 ) /*【程序填空】功能:对任一整数 N(N为),它都可以分解成1( 或 -1) 和一些质数( 素数 ) 因子的形式。r=n%i;printf("n");【程序填空】答案:【1】n>0 或 0<n-*/【2】i=2#include "stdio.h"【3】r=n%ivoid delnum(char *s)【4】n=n/i 或 n/=i25)/*int i,j;功能:删除一个字符串中的所有数字字符。/*SPACE*/例如:

33、当N=150时,可分解成1>2>3>5>5;当N=-150时,可分解为-1X2MX5X5。【程序填空】for(i=0,j=0;'0' ;i+)/*SPACE*/下边程序能实现这种分解过程。当 N=150 ,输出以下分解结if(si<'0'si>'9')果: N= 1* 2* 3* 5* 5功能:以下程序的功能如 (图1) 。/*SPACE*/-*/main()*/;/*SPACE*j+;*/int n,i,j,r;sj='0'scanf("%d",&n);main()

34、if (n=0)main ()float x,f;printf ("data error n");scanf("%f",&x);char *item;exit(0);/*SPACE*printf("n input a string:n");*/gets(item);/*SPACE*/if(x<0) ;/*SPACE*else if ()/*SPACE*printf("n=1");*/printf("n%s",item);elseelse if()答案:【 1 】 si!= 或 *(

35、s+i)!=【2】 |【 3 】sj=si 或sj=*(s+i) 或 *(s+j)=si或 *(i+s)!=*(s+j)=*(s+i)或【 3 】'0'<=si或 si>='0'&&'0'<=si&&si>='0'&&48<=si&&&& si<='9'si<='9'或'9'>=si或'9'>=si或si<=57或b=b/16;i

36、+;/*SPACE*/【 4 】 delnum(item)27 ) /*si>=48&& si<=57或48<=si&& 57>=si或si>=48 && 57>=si或 !( x< 48 | x > 57 ) 或 !( x < '0' |V、9' 答案:【 1 】 i=strlen(s)-1 或 i=-1+strlen(s)【 2 】 b>0 或 0<b 或 b!=0 或 0!=bh【程序填空】或功能:统计一个字符串中的字母、数字、空格和其它字符的个数。x

37、【4】 si = ' '28) /*或 si =32【 3】pi=j + '0' 或 pi= j + 48 或*(p+i)= j + '0' 或 *(p+i)= j + 48【 4 】pi='0' 或 pi=0 或 pi=NULL【程序填空】-或*(p+i)='0'或*(p+i)=0*(p+i)=NULL或-*/29 ) /*#include "stdio.h"main ()功能: 将十进制数转换成十六进制数。*/【程序填空】char s180;int a4=0;int k;/*SPACE*/#

38、include "stdio.h"功能:下面函数为二分法查找key 值。数组#include "string.h"中元素已递增排序,gets(s1);main ()若找到 key 则返回对应的下标, 否则返回 -1 。/*SPACE*/-*/int a,i;puts(s1);char s20;fun(int a,int n,int key)for(k=0;k<4;k+)printf("%4d",ak);scanf("%d",&a);int low,high,mid;c10_16(s,a);low=0;

39、void fun(char s,int b)/*SPACE*high=n-1;*/*SPACE*/int i;for(;i>=0;iwhile(for (i=0;si!='0'i+)-)ifprintf("%c",si);mid=(low+high)/2;('a'<=si&&si<='z'|'A'<=si&&si<='Zprintf("n");if(key<amid)')/*SPACE*/b0+;c10_16

40、(char p,int b)/*SPACE*/else if(key>amid)else if (int j,i=0;/*SPACE*/printf("input a integer:n");b1+;/*SPACE*/*SPACE*/*/elseelse if (while (/*SPACE*/b2+;elsej=b%16;b3+;if(j>=0&&j<=9)return -1;答案:main()/*SPACE* */1 】 void fun(char s,int b)2 】 fun(s1,a)else pi=j+55;int a10=1,

41、2,3,4,5,6,7,8,9,10;int b,c;b=4;c=fun(a,10,b);if(c=1)printf("not found");elseprintf("position %dn",c);答案:【 1 】 low<=high 或 high>=low【 2】 high=mid-1【 3 】 low= mid + 1【 4 】 return mid 或 return (mid)30 ) /*【程序填空】【程序填空】【程序填空】功能: 用冒泡法对数组 a 进行由功能:计算并输出 500 以内最大的10个能被小到大的排序。13 或 17

42、 整除的自然数之和。*/-*/void fun(int a,int n)#include <conio.h>#include <stdio.h>int i,j,t;/*SPACE*/*SPACE*int fun()*/for(j=0;int m=0, mc=0, j, n;j+)/*SPACE*/*SPACE*while (k >= 2 && )*功能:输入字符串,再输入一个字符,将字 符串中与输入字符相 同的字符删除。-*/#include "stdio.h"void fun(char a,char c) int i,j;/*

43、SPACE*/for(i=j=0; ;i+)if(ai!=c) aj+=ai;/*SPACE*/main()char a20,cc;gets(a);/*SPACE*/*SPACE*/puts(a);答案:【 1 】 ai != '0' 或 ai 或 ai!=NULL【 2 】 aj='0' 或 aj=NULL 或 aj=0【 3 】 cc=getchar() 或 scanf("%c",&cc)【 4 】 fun(a,cc)31 ) /*for;i+)(i=0;/*SPACE*/ if (k%13 = 0 | )/*SPACE*/m=m+k;if()mc+;t=ai;k-;ai=ai+1;ai+1=t;/*SPACE*/;main()main ( )intclrscr( );i,a10=3,7,5,1,2,8,6,4,10,9;printf("%dn", fun (500);/*SPACE*/答案:;【 1 】 int kfor(i=0;i<10;i+)【2】 mc < 10 或 10 > mc 或 mc <= 9printf("%3d",ai);或 9 >= mc【3】 k%17 =

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论