文档库 最新最全的文档下载
当前位置:文档库 › 程序填空

程序填空

程序填空
程序填空

〖第1题〗『程序填空』(10分)(题号:445)

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:编程求任意给定的n个数中的奇数的连乘积,偶数的平方和以及0的个数,n通过scanf()函数输入。

-------------------------------------------------------*/

main()

{int r=1,s=0,t=0,n,a,i;

printf("n=");scanf("%d",&n);

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

/***********SPACE***********/

{printf("a=");scanf("%d",【?】);

/***********SPACE***********/

if(【?】!=0)

/***********SPACE***********/

【?】=a;

else

if(a!=0)

/***********SPACE***********/

s+=【?】;

else

t++;

}

printf("r=%d,s=%d,t=%d\n",r,s,t);

}

答案:

1). &a

2). a%2

3). r*

4). a*a

〖第2题〗『程序填空』(10分)(题号:438)

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:求出二维数组中的最大元素值。

-------------------------------------------------------*/

#include "stdio.h"

void main()

{int a[3][4]={{1,3,5,7},{2,4,6,8},{15,17,34,12}};

/***********SPACE***********/

printf("max value is %d\n",【?】);

}

max_value(m,n,array)

/***********SPACE***********/

int m,n,【?】;

{int i,j,max;

max=array[0][0];

for(i=0;i

for(j=0;j

/***********SPACE***********/

if(max

return(max);

}

答案:

1). max_value(3,4,a)

2). array[][4] 或array[3][4]

3). max=array[i][j]

〖第3题〗『程序填空』(10分)(题号:423)

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:考查字符串数组的应用。输出26个英文字母。-------------------------------------------------------*/

#include

void main (void)

{

char string[256];

int i;

/***********SPACE***********/

for (i = 0; i < 26; 【?】)

/***********SPACE***********/

string[i] = 【?】;

/***********SPACE***********/

printf ("the arrary contains %s\n",【?】);

}

答案:

1). i++ 或++i 或i=i+1 或i+=1

2). 'A' + i 或i+'A' 或65 + i 或i+65

3). string

〖第4题〗『程序填空』(10分)(题号:470)

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:从两个数组中分别提取任意元素x[i],y[j],问|x[i]-y[j]| 的最小值是多少?

-------------------------------------------------------*/

#include

/***********SPACE***********/

#define min(x, y) (【?】)

int min_distance(int x[], int y[], int m, int n)

{

int minimum = INT_MAX;

int index_x = 0, index_y = 0;

while (index_x < m && index_y < n)

/***********SPACE***********/

if (【?】) {

minimum = min(minimum, x[index_x]-y[index_y]);

index_y++;

}

else {

minimum = min(minimum, y[index_y]-x[index_x]); /***********SPACE***********/

【?】;

}

return minimum;

}

#include

void main(void)

{

int x[] = { 1, 3, 7, 11, 18};

int m = sizeof(x)/sizeof(int);

int y[] = { 4, 5, 8, 13, 22};

int n = sizeof(y)/sizeof(int);

int i, min_distance(int [], int [], int, int);

printf("\nCompute Minimum Distance Between Two Sorted Arrays");

printf("\n==================================================");

printf("\n\nGiven Array #1 :");

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

printf("%5d", x[i]);

printf("\n\nGiven Array #2 :");

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

printf("%5d", y[i]);

printf("\n\nMinimum Distance = %d", min_distance(x, y, m, n));

}

答案:

1). xx?x:y

2). x[index_x] >= y[index_y] 或y[index_y]<=x[index_x]

3). index_x++ 或index_x=index_x+1 或++index_x

〖第5题〗『程序填空』(10分)(题号:462)

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:请编一个程序,程序的功能是把字符串中所有的字母改写

成该字母的下一个字母,最后一个字母z改写成字母a。大

字母仍为大写字母,小写字母仍为小写字母,其它的字符

不变。

例如:原有的字符串为:Mn.123xyZ

调用该函数后,串中的内容为:No.123yzA。

-------------------------------------------------------*/

#include

#include

#include

#define N 81

main( )

{ char a[N],*s;

printf ( "Enter a string : " );

gets ( a );

printf ( "The original string is : " );

puts( a );

/***********SPACE***********/

【?】;

while(*s)

{ if(*s=='z') *s='a';

else if(*s=='Z') *s='A';

/***********SPACE***********/

else if(isalpha(*s)) 【?】;

/***********SPACE***********/

【?】;

}

printf ( "The string after modified : ");

puts ( a );

}

答案:

1). s=a

2). *s+=1 或*s=*s+1 或(*s)++ 或++(*s)

3). s++ 或s=s+1 或++s 或s=★s★+★1

〖第6题〗『程序填空』(10分)(题号:17)

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:以下程序的功能是将一个数组中的元素按逆序存放。-------------------------------------------------------*/

#define N 7

main ()

{

static int a[N]={12,9,16,5,7,2,1},k,s;

printf("\n the origanal array:\n");

for (k=0;k

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

for (k=0;k

{

s=a[k];

/***********SPACE***********/

【?】;

/***********SPACE***********/

【?】;

}

printf("\n the changed array:\n");

for (k=0;k

/***********SPACE***********/

【?】("%4d",a[k]);

}

答案:

1). k++ 或k=★k★+★1 或k+=1

2). a[k]=a[N-k-1] 或a[k]=a[N-1-k] 或a[k]=a[6-k]

3). a[N-k-1]=s 或a[N-1-k]=s 或a[6-k]=s

4). printf

〖第7题〗『程序填空』(10分)(题号:22)

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:以下程序的功能是求一个二维数组中每行的最大值和每行的和。

-------------------------------------------------------*/

#include "stdlib.h"

main()

{

int a[5][5],b[5],c[5],i,j,k,s=0;

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

for(j=0;j<5;j++)

a[i][j]=random(40)+20;

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

{

k=a[i][0]; 【?】;

for(j=0;j<5;j++)

{

/***********SPACE***********/

if(k

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

}

b[i]=k;

/***********SPACE***********/

【?】;

}

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

{

for(j=0;j<5;j++)

/***********SPACE***********/

printf("%5d", 【?】);

printf("%5d%5d",b[i],c[i]);

printf("\n");

}

}

答案:

1). s=0

2). k=a[i][j]

3). c[i]=s

4). a[i][j]

〖第8题〗『程序填空』(10分)(题号:410)

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数

-------------------------------------------------------*/

main()

{

int number[20],n,m,i;

printf("the total numbers is:");

scanf("%d",&n);

printf("back m:");

scanf("%d",&m);

for(i=0;i

scanf("%d,",&number[i]);

scanf("%d",&number[n-1]);

/***********SPACE***********/

move(【?】);

for(i=0;i

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

printf("%d",number[n-1]);

}

/***********SPACE***********/

move(【?】);

int n,m,array[20];

{

int *p,array_end;

/***********SPACE***********/

array_end=*(【?】);

for(p=array+n-1;p>array;p--)

/***********SPACE***********/

*p=*(【?】);

*array=array_end;

m--;

if(m>0) move(array,n,m);

}

答案:

1). number,n,m

2). array,n,m

3). array+n-1 或array★+★n★-1

4). p-1 或p★-1

〖第9题〗『程序填空』(10分)(题号:20)

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:以下程序的功能是将一个字符串中的前N个字符复制到一个字符数组中去,不许使用strcpy函数。

-------------------------------------------------------*/

main ( )

{

char str1[80],str2[80];

int i,n;

/***********SPACE***********/

gets(【?】);

scanf("%d",&n);

/***********SPACE***********/

for (i=0; 【?】;i++)

/***********SPACE***********/

{ 【?】;}

/***********SPACE***********/

【?】;

printf("%s\n",str2);

}

答案:

1). str1

2). ii 或i<=n-1 或n-1>=i

3). str2[i]=str1[i]

4). str2[n]='\0' 或str2[i]='\0'

〖第10题〗『程序填空』(10分)(题号:25)

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:以下程序的功能是删除一个字符串中的所有数字字符。

-------------------------------------------------------*/

#include "stdio.h"

void delnum(char *s)

{

int i,j;

/***********SPACE***********/

for(i=0,j=0; 【?】'\0' ;i++)

/***********SPACE***********/

if(s[i]<'0'【?】s[i]>'9')

/***********SPACE***********/

{【?】;j++;}

s[j]='\0';

}

main ()

{

char *item;

printf("\n input a string:\n");

gets(item);

/***********SPACE***********/

【?】;

printf("\n%s",item);

}

答案:

1). s[i]!= 或*(s+i)!= 或void count() 或void count(char,int)

2). ||

3). s[j]=s[i]

4). delnum(item)

〖第11题〗『程序填空』(10分)(题号:406)

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。输入的字符串

以!结束。

-------------------------------------------------------*/

#include "stdio.h"

main()

{FILE *fp;

char str[100],filename[10];

int i=0;

/***********SPACE***********/

if((fp=fopen("test",【?】))==NULL)

{ printf("cannot open the file\n");

exit(0);}

printf("please input a string:\n");

/***********SPACE***********/

gets(【?】);

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

/***********SPACE***********/

{ if(str[i]>='a'&&【?】)

str[i]=str[i]-32;

fputc(str[i],fp);

i++;}

/***********SPACE***********/

fclose(【?】);

fp=fopen("test","r");

fgets(str,strlen(str)+1,fp);

printf("%s\n",str);

fclose(fp);

}

答案:

1). "w"

2). str

3). str[i]<='z' 或'z'>=str[i]

4). fp

〖第12题〗『程序填空』(10分)(题号:3)

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:下面的程序是求1!+3!+5!+……+n!的和,程序中有4个空,填空使程序完整。

-------------------------------------------------------*/

main()

{

long int f,s;

int i,j,n;

/***********SPACE***********/

【?】

scanf("%d",&n);

/***********SPACE***********/

for(i=1;i<=n; 【?】)

{

f=1;

/***********SPACE***********/

for(j=1; 【?】;j++)

/***********SPACE***********/

【?】

s=s+f;

}

printf("n=%d,s=%ld\n",n,s);

}

答案:

1). s=0;

2). i+=2 或i=i+2 或i++,i++

3). j<=i 或i>=j

4). f=★f★*★j★;

〖第13题〗『程序填空』(10分)(题号:417)

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:利用全局变量计算长方体的体积及三个面的面积。-------------------------------------------------------*/

int s1,s2,s3;

int vs(int a,int b,int c)

{int v;

/***********SPACE***********/

v=【?】;

s1=a*b;

/***********SPACE***********/

s2=【?】;

s3=a*c;

return v;

}

main()

{int v,l,w,h;

clrscr();

printf("\ninput length,width and height:");

/***********SPACE***********/

scanf("%d%d%d",【?】,&w,&h);

/***********SPACE***********/

v=【?】;

printf("v=%d s1=%d s2=%d s3=%d\n",v,s1,s2,s3);

getch();

}

答案:

1). a*b*c 或a★*★b★*★c

2). b*c 或b★*★c

3). &l

4). vs(l,w,h) 或vs(★l★,★w★,★h★)

〖第14题〗『程序填空』(10分)(题号:403)

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:输出9*9口诀。

-------------------------------------------------------*/

main()

{int i,j,result;

printf("\n");

/***********SPACE***********/

for (i=1;【?】;i++)

/***********SPACE***********/

{ for(j=1;j<10;【?】)

{

result=i*j;

/***********SPACE***********/

printf("%d*%d=%-3d",i,j,【?】);

}

printf("\n");

}

}

答案:

1). i<10 或10>i

2). j++ 或++j 或j=j+1

3). result

〖第15题〗『程序填空』(10分)(题号:16)

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:以下程序的功能是删除字符串中的指定字符,字符串和要删除的字符均由键盘输入。

-------------------------------------------------------*/

#include "stdio.h"

main()

{

char str[80],ch;

int i,k=0;

/***********SPACE***********/

gets(【?】);

ch=getchar();

/***********SPACE***********/

for(i=0;str[i] 【?】;i++)

/***********SPACE***********/

if(str[i]!=ch) {【?】;k++;}

/***********SPACE***********/

【?】;

puts(str);

}

答案:

1). str

2). !='\0' 或!=NULL

3). str[k]=str[i]

4). str[k]='\0'

〖第16题〗『程序填空』(10分)(题号:458)

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:在有序的循环数组中,找到最小元素的位置。

-------------------------------------------------------*/

int cyclic_min(int x[], int n)

{

int left = 0;

int right = n - 1;

int mid;

/***********SPACE***********/

while (【?】) {

mid = (left + right)/2;

if (x[mid] < x[right])

/***********SPACE***********/

【?】;

else

/***********SPACE***********/

【?】;

}

return left;

}

#include

void main(void)

{

int x[] = { 20, 23, 28, 35, 39, 40, 42, 8, 10, 15, 17, 19};

int n = sizeof(x)/sizeof(int);

int loc, i;

printf("\nFind Cyclic Minimum");

printf("\n===================");

printf("\n\nGiven Array Sorted in Cyclic Fashion :\n");

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

printf("%3d", x[i]);

loc = cyclic_min(x, n);

printf("\n\nMinimum is located at x[%d] = %d", loc, x[loc]); }

答案:

1). left < right 或right>left

2). right = mid

3). left = mid + 1 或left = 1+mid

c语言程序填空题1

三、程序填空题 导读:在程斥填空题中,已经给出了程序的主干,读者首先要理解程序的思路, 再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步堂握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上己经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而白己编写程序乂不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 ttinclude main() { int a, b; scanf (”%d%d", &a, &b): printf ("a=%d, b二%d\n", a, b); printf ("a=%d, b=%d\n/F, a, b): } a=b=a=①②③ 【3.2】下面程序的功能是根据近似公式:十/6~ 1/12+1/22+1/32+……+l/n2, 求兀值。廿include〈math? h> double pi(long n) { double s=0. 0; long i; for(i=l; i<=n; i++) s=s+ ①; return (②); } [3.3]下面的程序的功能是求一维数组中的最小元素。 findmin(int *s, int t,int *k) { int p; for(p=0, *k=p: p

for(i=0; i<10; i++) scanf &a[i]); findmin(a, 10, k); printf ("%d, %d\n", *k, a L*kJ); } 【3.4】下面程序的功能是计算1-3+5-7+……-99+101的值。 main() { int i, s=0: for(i=l; i<=101: i+=2) {①; s二s+t: ②; } printf ("%d\n", s); } [3.5]有以下程序段: s=l. 0; for(k=1: k<=n: k++) s=s+l. 0/(k*(k+1)); printf ("%f\n", s); 填空完成下述程斥,使之与上述程序的功能完全相同。 s=0. 0: ①; k=0; do { s二s+d; ②; d=1.0/(k*(k+l)); }while(③); printf ("%f\n", s); [3.6]下而程用的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。 main () ;、float x, amax, amin; scanf &x); amax=x: amin=x;

C语言程序的设计填空题及答案复习用

导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 #include main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ①; b= ②; a= ③; printf("a=%d,b=%d\n",a,b); } 【3.2】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include double pi(long n) { double s=0.0; long i; for(i=1;i<=n;i++) s=s+ ①; return( ② ); } 【3.3】下面的程序的功能是求一维数组中的最小元素。findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;pamax) amax=x; if( ② ) amin=x; scanf("%f",&x); } printf("\namax=%f\namin=%f\n",amax,amin); } 【3.7】下面程序的功能是将形参x的值转换为二进制数, 所得的二进制数放在一个一维数组中返回,二进制数的 最低位放在下标为0的元素中。 fun(int x,int b[]) { int k=0,r; do { r=x% ①; b[k++]=r; x/= ②; }while(x); } 【3.8】下面程序的功能是输出1到100之间每位数的乘 积大于每位数的和的数。例如数字26,数位上数字的乘 积12大于数字之和8。 main() { int n,k=1,s=0,m; for(n=1;n<=100;n++) { k=1; s=0; ①; while( ② ) 页脚

程序阅读及填空(答案)

一.程序阅读题 1.若运行时输入100↙,写出以下程序的运行结果。main ( ) { int a ; scanf(“%d”,&a); printf(“%s”,(a%2!=0)?”No”:”Yes”); } 答案: Yes 2.写出以下程序的运行结果。 main ( ) { int a=2,b=7,c=5; switch (a>0) { case 1: switch (b<0) { case 1: printf(“”); break ; case 2: printf(“!”); break ; } case 0: switch (c==5) { case 1: pritnf(“*”) ; break ; case 2: printf(“#”) ; break ; default : printf(“#”) ; break ; } default : p rintf(“&”); } printf(“\n”); } 答案: *& 3.写出下面程序运行的结果。 main ( ) { int i,b,k=0 ; for (i=1; i<=5 ; i++) { b=i%2; while (b--==0) k++ ; } printf(“%d,%d”,k,b); } 答案:2 0 4.写出下面程序运行的结果。 main ( ) { int k=1,n=263 ; do { k*= n%10 ; n/=10 ; } while (n) ; printf(“%d\n”,k); } 答案:36 5.写出下面程序运行的结果。

{ int a=10,y=0 ; do { a+=2 ; y+=a ; if (y>50) break ; } while (a=14) ; printf(“a=%d y=%d\n”,a,y) ; } 答案:a=16 y=60 数组部分: 1.写出下面程序的运行结果。 main ( ) 答案: { int a[6][6],i,j ; for (i=1; i<6 ; i++) for (j=1 ; j<6 ; j++) a[i][j]=(i/j)*(j/i) ; for (i=1;i<6 ; i++) { for (j=1 ; j<6 ; j++) printf(“%2d”,a[i][j]) ; printf(“\n”); } } 2.写出下面程序的运行结果。 main ( ) { int i=0; char a[ ]=”abm”, b[ ]=”aqid”, c[10]; while (a[i]!=’\0’ && b[i]!=’\0’) { if (a[i]>=b[i]) c[i]=a[i]-32 ; else c[i]=b[i]-32 ; i++; } c[i]=’\0’; puts(c); } 答案:AQM 3.当运行下面程序时,从键盘上输入AabD↙,则写出下面程序的运行结果。 main ( ) { char s[80]; int i=0; gets(s); while (s[i]!=’\0’) { if (s[i]<=’z’ && s[i]>=’a’) s[i]=’z’+’a’-s[i] ; i++;

程序填空题(1)

程序填空题1、 #include int find(char *str) { char *fstr="the"; int i=0,j,n=0; while (str[i]!='\0') { for(______1______) //for(j=0; j<=2; j++) if (str[j+i]!=fstr[j]) break; if (______2______) n++; // j==3 i++; } return n; } void main() { char a[80]; gets(a); printf("%d",find(a)); } 2、 #include void main() { int n,k=0; scanf("%d",&n); while( _____1_____ ) // 1)n 2) n!=0; { k++;

_____2_____; n=n/10 } printf("%d\n",k); } 3、 #include #include #define f(x) x*x-5*x+sin(x) void main() { int x; float max; ______1______ // max=f(1); for(x=2;x<=10;x++) ______2______ // if(f(i)>max) max=f(i); printf("%f\n",max); } 4、 #include void main() { char c; c=getchar(); if(______1______) // c>='a' && c<'v' c=c+5; else if (c>='v' && c<='z') ______2______ //c=c-21; putchar(c); } 5、

C语言程序设计程序填空题库及答案

程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#include <> main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ①; b= ②; a= ③; printf("a=%d,b=%d\n",a,b); }

【】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include <> double pi(long n) { double s=; long i; for(i=1;i<=n;i++) s=s+ ①; return( ②); } 【】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p

程序填空题

1.下列程序由键盘输入一个文件名,然后把从键盘输入的字符依次存放到磁盘文件中,直到输入一个"#"为止。 #include "" main( ) { FILE *fp; char ch,filename[10]; scanf("%s",filename); /*用户输入存在磁盘上的文件名*/ if((fp= ⑦ (filename,"w"))==NULL) { printf("cannot open file\n"); exit(0); } while((ch=getchar())!='#') ⑧ ; fclose(fp); } 2.下列程序的功能是输出一个整数x的绝对值。将程序补充完整,填在空内。 #include <> main() { int x, ① ; scanf("%d",&x); y= ② ; printf("%d\n",y); } 3.下列程序的功能是输出1~100之间能被7整除的所有整数。将程序补充完整,填在空内。 main() { int i;

for(i=1; ③ ;i++) { if(i%7) ④ ; printf("%d ",i); } } 4.以下程序用以删除字符串中所有的空格,请填空。 main() { char s[100]={"Our teacher teach C language!"}; int i,j; for(i=j=0;s[i]!= '\0';i++) if(s[i]!= ' ') { ⑤ ;j++;} s[j]= ⑥ ; printf("%s\n",s); } 5.结构体数组中存有三个人的姓名和年龄,以下函数fun的功能是输出三人中最年长者的姓名和年龄。 struct man { char name[20];int age;}person[]={{"Mary",16},{"Tom",21},{"Jim",18}}; void fun( ⑦ person[ ] ) { int i,old=0; for(i=0;i<2;i ++) if(person[old].age

c语言程序填空题(1)

三、程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 #include main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ① ; b= ② ; a= ③ ; printf("a=%d,b=%d\n",a,b); } 【3.2】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include double pi(long n) { double s=0.0; long i;

for(i=1;i<=n;i++) s=s+ ① ; return( ② ); } 【3.3】下面的程序的功能是求一维数组中的最小元素。findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p

C语言程序填空题及答案

C语言程序填空题及答 案 集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289-

程序填空题 1、 #include void main() { int n,k=0; scanf("%d",&n); while( _____1_____ ) // 1)n 2) n!=0; { k++; _____2_____; n=n/10 } printf("%d\n",k); } 2、 #include #include #define f(x) x*x-5*x+sin(x) void main() { int x; float max; ______1______ // max=f(1); for(x=2;x<=10;x++) ______2______ // if(f(i)>max) max=f(i); printf("%f\n",max);

} 3、 #include void main() { char c; c=getchar(); if(______1______) // c>='a' && c<'v' c=c+5; else if (c>='v' && c<='z') ______2______ //c=c-21; putchar(c); } 4、 #include void Dec2Bin(int m) { int bin[32],j; for(j=0;m!=0;j++) { bin[j]= ______1______; // m%2

vb程序阅读题与填空题

VB程序阅读题与程序填空题综合练习 1、阅读下面程序,当单击窗体之后,窗体上输出的是。 Private Sub Form_Click( ) Dim i As Integer, j As Integer Dim k As Integer k=0 For i = 0 To 10 Step 3 For j = 1 To 10 If j > = 5 Then i = i +4: Exit For j = j + 1 k = k + 1 Next If i > 8 Then Exit For Next Print k End Sub 2、阅读下面的事件过程。单击窗体后,在文本框Text1和Text2中显示的内容分别 是和;若将程序中A语句与B语句的位置互换,再次执行程序,单击窗体后在Text1和Text2中显示的内容分别是和。 Private Sub Form_Click( ) Dim x As Integer, y As Integer x = 1 : y = 0 Do While x < 3 y = y + x 'A语句 x = x + 1 'B语句 Loop Text1.Text = x Text2.Text = y End Sub 3、下面程序段中,k循环共执行次,在窗体上显示的结果是。 Dim b As Integer, k As Integer b = 1 For k =1 To 5 b = b * k If b > = 15 Then Exit For Else

k = k + 1 End If Next k Print k, b 4、以下是按钮cmdl的Click事件过程,求1~100之间的所有质数。质数的个数显示在窗 体上,在划线处填上缺少的内容。 Private Sub cmdl_Click( ) Dim intNum As Integer, int1 As Integer, int2 As Integer intNum = 0 For int1 = For int2 = 2 To int1 \2 If (int1 Mod int2) = 0 Then intNum=1 End If Next If sNum = sNum + 1 End If Next Print End Sub 5、若命令按钮的名称为CmdExit,程序要求单击以上命令按钮时,程序停止运行。请在画线处中填入适当的内容。 Private Sub CmdExit_ ( ) End Sub 6、下面的事件过程判断文本框txt1中输入的数所在区间,并在文本框txt2中输出判断结果。在画线处填入正确的内容。 Private Sub Comandl_Click( ) Dim int1 As Integer int1 =val (txt1.Text) Select Case int1 Case txt2.Text = "值为0" Case txt2.Text = "值在1和10之间(包括1和10)" Case txt2.Text = "值大于10"

C程序填空题练习

程序填空题 1、下列程序的功能是把从键盘上输入的整数取绝对值后输出。 main() { int x; scanf("%d",&x); if(x<0) ; printf("%d\n",x); } 2、输入 20个学生的成绩,输出最低分数。 main() { int i; float x,min=100; for (i=0;i<20;i++) { scanf( “ %f” ,&x); if(x

} printf("A=%d,B=%d,C=%d\n",k1,k2,k3); } 5、下列程序的功能是将一个字符串str 的内容颠倒过来。 #include "string.h" main() { int i,j,k; char str[]="1234567"; for(i=0,j=____________;is[k]) __________; printf("k=%d\n",k); } 9、下列程序的功能是把输入的十进制长整型数以十六进制数的形式输出。 main() { char b[]="0123456789ABCDEF"; int c[64],d,i=0,base=16; long n; scanf("%ld",&n);

模块化程序设计练习题及答案

第四章模块化程序设计练习题及参考答案 一、填空题 1、以下程序的运行结果是(111),把x定义为静态变量运行结果是(123)。void increment(void) { int x=0; x+=1; printf("%d",x);} main() { increment(); increment(); increment(); } 2、若输入的值是-125,以下程序的运行结果是(-125=-5*5*5) #include "" main() { int n; void f(int n); scanf("%d",&n); printf("%d=",n); if(n<0) printf("-"); n=fabs(n); fun(n); } void fun(int n) { int k,r; for(k=2;k<=sqrt(n);k++) { r=n%k; while(r==0) { printf("%d",k); n=n/k; if(n>1)printf("*"); r=n%k; } } if(n!=1) printf("%d\n",n); } 3、设有以下宏定义: #define WIDTH 80 #define LENGTH WIDTH+40 则执行赋值语句:v=LENGTH*20;(v为int型)后,v的值是(880) 4、设有以下宏定义: #define WIDTH 80 #define LENGTH (WIDTH+40)

则执行赋值语句:k=LENGTH*20;(k为int型变量)后,k的值是(2400) 5、下面程序的运行结果是(5) #define DOUBLE(r) r*r main() { int x=1,y=2,t; t=DOUBLE(x+y); printf("%d\n",t);} 6、下面程序的运行结果是(36) #define MUL(z) (z)*(z) main() { printf("%d\n",MUL(1+2)+3); } 7、下面程序的运行结果是(212) #define POWER(x) ((x)*(x)) main() { int i=1; while(i<=4) printf("%d,",POWER(i++)); } 8、下面程序的运行结果是(9) #define MAX(a,b) (a>ba:b)+1 main() { int i=6,j=8,k; printf("%d\n",MAX(i,j)); } 二、选择题 1、以下正确的说法是(D)建立自定义函数的目的之一是: A)提高程序的执行效率 B)提高程序的可读性 C)减少程序的篇幅 D)减少程序文件所占内存 2、以下正确的说法是(B) A)用户若需调用标准库函数,调用前必须重新定义 B)用户可以重新定义标准库函数,若如此,该函数将失原有含义。 C)系统根本不允许用户重新定义标准库函数。 D)用户若需调用标准函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调用。 3、以下正确的函数定义形式是(C) A)double fun(int x,int y) B)double fun(int x;int y) C)double fun(int x,int y); D)double fun(int x,y) 4、以下正确的说法是(D)。在C语言中: A)实参与其对应的形参各占用独立的存储单元。 B)实参和与其对应的形参共占用一个存储单元。 C)只用当实参和与其对应的形参同名时才共占用存储单元。

-程序填空部分试题及答案

第1.题*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:下面的程序是求1!+3!+5!+……+n!的和。 -------------------------------------------------------*/ #include main() { long int f,s; int i,j,n; /***********SPACE***********/ 【?】; scanf("%d",&n); /***********SPACE***********/ for(i=1;i<=n; 【?】) { f=1; /***********SPACE***********/ for(j=1; 【?】;j++) /***********SPACE***********/ 【?】; s=s+f; } printf("n=%d,s=%ld\n",n,s); } 第2题./*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:以下程序是用选择法对10个整数按升序排序。 -------------------------------------------------------*/ #include /***********SPACE***********/ 【?】 main()

循环程序设计习题及答案

模块三循环程序设计习题及答案 一、填空题 1、当在数据处理中要重复执行相同的操作时,宜采用程序结构来实现。 2、循环的3要素是、、。 3、在循环语句体中包含另一个循环语句的用法称为。 4、执行循环语句体中的break语句后将使用包含它的循环语句。 5、要结束当前正在执行循环体语句而直接进入下一循环周期,需要执行语句。 6、在for语句中表达式允许省略,但不能少,语句for( ; ;) ;构成的是循环。 7、在for语句中,省略表达式2时,则循环为循环。 8、执行语句for(i=1;i++<4; );后变量i的值是。 9、要使用循环程序提前结束本次循环周期并开始下一个循环周期,应在循环体内有条件使用语句。 10、在每次循环周期均要执行一次的语句,称为。 11、for语句括号内的3个表达式的作用分别是、和循环控制变量的更新。 二、选择题 1、若k为整形变量,则while循环共循环()。 k=5; while(k>=0) k-1; A、无限循环 B、6次 C、5次 D、4次 2、与while( ! n) ; 中表达式!dn等价的是()。 A、dn>=0 B 、dn!=0 C、dn == 0 D、dn != 1 3、以下程序段,while循环执行的次数是() int k=0;

while( k == 1) k++; A、无限次 B、有语法错,不能执行 C、一次也不执行 D、执行1次 4、在C语言中,当do while语句中的条件为()时,结束该循环。 A、0 B、1 C、TRUE D、非0 5、下面程序段的输出结果是() do { b-=a; a++; }while(b--<0); A、10,-1 B、2,8 C、9,0 D、4,-3 6、以下描述正确的是() A、由于do while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。 B、do while循环由do开始,用while结束,在while(表达式)后面不能写分号 C、在do while循环体中,一定要有能使while后面匠值变为零的操作 D、do while循环中,根据情况可以省略while 7、若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)。 s=c; for(b=1;b<=c;b++) s=s+1; 则与上述程序段功能等价的赋值语句是() A、s=a+b; B、s=a+c; C、s=s+c; D、s=b+c; 8、假定a,b,c,d均已定义为整型变量,且a、c均已赋值,a大于0,c大于0,则与程序段for(d=a,b=1;b<=c;b++) d--;功能等价的语句是() A、d=a+b; B、d=a+c; C、d=a-b; D、d=a-c 9、下列关于for循环的说法正确的是() A、for循环只能用于循环次数已经确定的情况

程序填空

#include #include /***********SPACE***********/ double f(【?】) { /***********SPACE*********** 答案: =======(答案1)======= float x =======(答案2)======= double y =======(答案3)======= x<=2 =======(答案4)======= return y 题目:已定义一个含有30个元素的数组s,函数fun1的功能是按顺序分别赋予各元素从2开始的偶数,函数fun2则按顺序 每五个元素求一个平均值, 并将该值存放在数组w中。 程序中有4个空,填空使程序完整。 答案: =======(答案1)======= s[i]=k; =======(答案2)======= if( ( i + 1 )%5 == 0 ) =======(答案3)======= sum=0; =======(答案4)======= fun2(s,w); 五、程序改错共1题(共计6分) 第1题(6.0分) /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 题目:函数fun的功能是:输出Fabonacci数列的前20项,要求变量类型定义成浮点型,输出时只输出整数部分,输出项

数不得多于或少于20。 请改正程序中的4个错误,使它能得出正确的结果。 -------------------------------------------------------- 答案: =======(答案1)======= printf("%8.0f",f1); =======(答案2)======= for(i=1;i<20;i++) =======(答案3)======= f1=f2; =======(答案4)======= f2=f3; 题目:要求输出结果为: A,B 65,66 答案: =======(答案1)======= b; =======(答案2)======= 'a' =========或========= 97 =======(答案3)======= 32 题目:以下程序的功能是对任一整数N(N≠0),它都可以分解成1 (或-1)和一些质数(素数)因子的形式。如N=150时,可分解成1×2×3×5×5;N=-150时,可分解为-1×2×3×5×5。 下边程序能实现这种分解过程。当N=150,输出以下分解结 果:N= 1* 2* 3* 5* 5 答案 n>0 i=2 r=n%i n=n/i 题目:输入一个学生的生日(年:y0、月:m0、日:d0),并输入当前日期(年:y1、月:m1、日:d1)。求出该学生的 年龄(实足年龄) 答案: =======(答案1)=======

C语言-程序填空练习题

程序填空:阅读程序。在划线处填写适当的表达式或语句,使程序完整并符合题目要求 1.输入一个字符,判断该字符是数字、字母、空格还是其他字符。 main( ) { char ch; ch=getchar(); if( ch>=?a?&&ch<=?z?|| ch>=?A?&&ch<=?Z?) printf("It is an English character\n"); else if( ch>=?0?&&ch<=?9?) printf("It is a digit character\n"); else if( ch== …?) printf("It is a space character\n"); else printf("It is other character\n"); } 2.下列程序的功能是从输入的整数中,统计大于零的整数个数和小于零的整数个数。用输入0来结束输入,用i,j来放统计数,请填空完成程序。 void main() { int n,i=0,j=0; printf(“input a integer,0 for end\n”); scanf(“%d”,&n); while (n或n!=0 ) { if(n>0) i=i+1 ; else j=j+1; } printf(“i=%4d,j=%4d\n”,i,j); } 3.编程计算1+3+5+……+101的值 #include void main() { int i, sum = 0; for (i = 1;i<=101 ; i++ ) sum = sum + i; printf("sum=%d\n", sum);

c语言程序填空题及答案

c语言程序填空题及答案 程序填空题 1、 #include void main() { int n,k=0; scanf("%d",&n); while( _____1_____ ) // 1)n 2) n!=0; { k++; _____2_____; n=n/10 }

printf("%d\n",k); } 2、 #include #include #define f(x) x*x-5*x+sin(x) void main() { int x; float max; ______1______ // max=f(1); for(x=2;x<=10;x++) ______2______ // if(f(i)>max) max=f(i); printf("%f\n",max); } 3、 #include

void main() { char c; c=getchar(); if(______1______) // c>='a' && c<'v' c=c+5; else if (c>='v' && c<='z') ______2______ //c=c-21; putchar(c); } 4、

#include void Dec2Bin(int m) { int bin[32],j; for(j=0;m!=0;j++) { bin[j]= ______1______; // m%2 m=m/2; } for(;j!=0;j--) printf("%d", ______2______ ); // bin[j-1] } void main() { int n; scanf("%d",&n); Dec2Bin(n); } 5、

程序填空

'【程序填空】 '------------------------------------------------------- '功能:下面的程序段用于实现以下功能:利用冒泡法将一组整数' 从小到大排序。 '------------------------------------------------------- Private Sub Form_Click() Const n = 15 Dim a(1 To n) As Integer, work As Boolean Dim i As Integer, j As Integer, x As Integer Randomize For i = 1 To n a(i) = Int((90 * Rnd) + 10) Next i For i = 1 To n Print a(i); Next i Print '**********SPACE********** For i = n To 2 【?】step-1 work = True For j = 1 To i - 1 If a(j) > a(j + 1) Then x = a(j): a(j) = a(j + 1): a(j + 1) = x '**********SPACE********** 【?】work=False End If Next j '**********SPACE********** If work Then 【?】Exit For Next i For i = 1 To n Print a(i); Next i End Sub 答案 1). Step -1 2). work = False 或work=0 或not work = true 3). Exit For '功能:以下程序用于判断一个正整数(≥3)是否为素数。 '-------------------------------------------------------

相关文档