c++程序填空十套

更新时间:2024-01-01 20:27:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第一套

1.完成程序填空,实现求两数最小公倍数 #include main() {

intm,n,i=1;

printf(\

scanf(\do {

/***********SPACE***********/ if(【?】)

/***********SPACE***********/ if(i%n【?】)

/***********SPACE***********/ { printf(\【?】; } i++;

} while(i!=0); }

1) i%m==0 2) ==0 3) break

2.有一个已排好的数组,完成程序填空,实现要求输入一个数后, 按原来排序的规律将它插入到数组中。 #include #define N 10 int main() {

int a[N+1]={-73,-67,-54,0,32,84,86,90,234,312};

intnum,i,left,right,mid,find=0; //find=0,未找到;find=1,找到。 left=0; right=N-1; printf(\scanf(\

/***********SPACE***********/ while( find【?】&& left<=right) { mid=(left+right)/2; if(num>a[mid]) left=mid+1;

else if(num

if(find==1)

{ for(i=N-1;i>=mid;i--)

/***********SPACE***********/ a[i+1]=【?】; a[mid]=num;} else

/***********SPACE***********/ { for(i=N-1;i>=left;【?】) a[i+1]=a[i]; a[left]=num;}

printf(\for(i=0;i

1)==0 2)a[i] 3)i--

3.功能:将字母转换成密码,转换规则是将当前字母变成其后的第 四个字母,但W变成A、X变成B、Y变成C、Z变成D。小写字 母的转换规则同样。 #include main() {

char c;

/***********SPACE***********/ while((c=【?】)!='\\n') {

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

if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))【?】; /***********SPACE***********/ if((c>'Z'【?】c<='Z'+4)||c>'z') c-=26; printf(\ } }

1) getchar()

2) c+=4或c=c+4或c=4+c 3) &&

4.完成程序填空,输出如下数阵: 1

1 2 1 1 2 3 2 1 1 2 3 4 3 2 1

1 2 3 4 5 4 3 2 1 #include

#include int main() {

inti,j,k;

/***********SPACE***********/ for (i=1;【?】;i++) {

/***********SPACE***********/ for(k=1;【?】;k++) printf(\

/***********SPACE***********/ for(j=1;【?】;j++) printf(\printf(\ } return 0; }

1) i<=5或i<6

2) k<=10-i或k<11-i或k<=5-i或k<6-i 3) j<=2*i-1或j<=2*i 第二套

1 .完成程序填空,用do-while结构实现s=1+3+5+……+99 # include int main() {

long sum; inti,item;

/***********SPACE***********/ 【?】 i=1;

item=2*i-1; do {

sum=sum+item; i++;

/***********SPACE***********/ item=【?】

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

}while(【?】); //循环结束后,请考虑item的值是多少? printf(\return 0; }

1)sum=0; 2)2*i-1;

3)item<100

2在字符数组str1[81]和str2[81]中分别存放着2个字符串,

完成程序填空,实现将两个字符串连接起来构成一个新的字符串, 并将新生成的字符串存放在字符数组str1[81]中(要求不用strcat函数)。 #include \int main() {

char str1[81],str2[81]; inti,j;

printf(\/***********SPACE***********/ 【?】(str1);

printf(\gets(str2);

/***********SPACE***********/ for(i=0;str1[i]【?】;i++) ;

/***********SPACE***********/ for(j=0;str2[j]!='\\0';j++,【?】) str1[i]=str2[j]; str1[i]='\\0';

printf(\printf(\return 0; } 1)gets 2)!=? \\0? 3)i++

3完成程序填空,进行两个字符串str1和str2的比较,若str1>str2 , 输出一个正数;若str1=str2,输出0;若str1<str2,输出一个负数, 输出的数是两个字符的Ascii码值的差(要求不用strcmp函数)。 #include \#include \int main() {

char str1[81],str2[81]; inti,x;

printf(\/***********SPACE***********/ 【?】(str1);

printf(\gets(str2);

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

for(i=0;str1[i]【?】&& str1[i]!='\\0';i++) ;

x=str1[i]-str2[i];

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

printf(\【?】); return 0; }

1)gets 2)==str2[i] 3)x

4.完成程序填空,实现求s=1+3+5+……+99 # include int main( ) { inti,s;

/***********SPACE***********/ i【?】 s=1;

/***********SPACE***********/ while(【?】) {

i=i+2;

/***********SPACE***********/ 【?】 }

printf(\\\n\return 0; }

1)sum=0; 2)2*i-1; 3)item<100 第三套

1.完成程序填空,实现以下功能:

一个小球从100米高度自由下落,每次落地后反跳回原来高度的一半,再下落, 求它在第十次下落时,共经过多少米,第十次反弹多高? #include int main() {

float sum=0;

inti=2;

/***********SPACE***********/ float height【?】;

sum=sum+height;

/***********SPACE***********/ while(【?】) {

/***********SPACE***********/ height=【?】; sum+=2*height; i++;

}

printf(\总长度:%f 第10次跳%f米\\n\return 0; }

1)=100 2)i<=100 3)height/2

2.题目:<<<题干内容>>>

完成程序填空,使得程序执行如图所示: #include main() {

inti,a,b; floatx,y,z; i=1;

/***********SPACE***********/ x=【?】i;

/***********SPACE***********/ printf(\【?】i=%d\\n\ y=30.1234567; z=x+y; printf(\printf(\

/***********SPACE***********/ printf(\【?】\\n\printf(\printf(\}

1)++ 2)f\\n 3)6.2f

3.题目:<<<题干内容>>>

完成填空,实现运行程序如图所示。 #include main ( )

{

chara,b,c;

/***********SPACE***********/ 【?】; b='O'; c='Y'; putchar(a);

/***********SPACE***********/ 【?】(b); putchar(c);

/***********SPACE***********/ 【?】 }

1) a=66 2) putchar

3) putchar(? \\n? );

4.完成程序填空,实现输出所有的水仙花数,所谓水仙花数是一个3位数,

其各位数字的立方和等于该数本身。例如153=13+53+33,故153是一个水仙花数。 #include int main() {

inta,b,c,n,i,k=0,m[10]={0};

/***********SPACE***********/ for(n=100;【?】;n++) { a=n/100;

b=n/10-a*10; c=n;

/***********SPACE***********/ if(【?】)

{ m[k]=n;

/***********SPACE***********/ 【?】

} }

printf(\所有的水仙花数为::\\n\ for(i=0;i

1)num<=999或num<1000 2)num/10

3)num==bai*bai*bai+shi*shi*shi+ge*ge*ge

第四套

1完成程序填空,实现输入两个数字,若两数相等,则直接输出两个数字,若不相等,

则这两个数中的较大者等于这个较大者减去较小者,再作比较,若不相等则重复上述操作, 直到两个数字相等为止。输出相等的两个数字。 #include int main() { inta,b;

printf(\

scanf(\

/***********SPACE***********/ while(a 【?】)

/***********SPACE***********/ { if (【?】) a=a-b;

/***********SPACE***********/ if (【?】) b=b-a; }

printf(\return 0; }

1)!=b 2)a>b 3)b>a

2*\百鸡问题\:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。 百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?

完成程序填空,实现求\百鸡问题\公鸡一只5块钱,母鸡一只三块钱,小鸡三只一块钱, 一百块钱买一百只鸡应该怎么买?也就是问一百只鸡中公鸡、母鸡、小鸡各多少? #include int main() {

intx,y,z;

/***********SPACE***********/ for(x=1;x<=20;【?】) {

for(y=1;y<=33;y++) {

/***********SPACE***********/ for(z=3;z<=99;【?】) {

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

if((【?】)&&(x+y+z==100)) printf(\

} } }

return 0; }

1)x++ 2)z+=3

3)5*x+3*y+z/3==100

3/*完成程序填空,实现输出下图 * *** ***** ******* ***** *** * */

#include int main() { inti,j;

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

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

/***********SPACE***********/ 【?】

for(j=1;j<=2*i+1;j++) printf(\

/***********SPACE***********/ 【?】

} for(i=1;i<=3;i++) {

/***********SPACE***********/ for(j=1;【?】;j++) printf(\

for(j=1;j<=7-i*2;j++) printf(\printf(\ } return 0; }

1)printf(““);

2)printf(“ \\n); 3)j<=7+i

4//完成程序填空,将字符数组a的全部字符复制到字符数组b中(要求不用strcpy函数)。 #include \int main() {

char str1[81]=\inti;

/***********SPACE***********/ printf(\【?】\\n\

/***********SPACE***********/ for(i=0;str1[i]【?】;i++)

/***********SPACE***********/ str2[i]=【?】; str2[i]='\\0';

printf(\return 0; } 1)%s 2)!=? \\0? 3) str1[i] 第五套

1.两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。

已抽签决定比赛名单,有人向队员打听比赛的名单。a说他不和x比,c说他不和x、z比, 请完成程序填空,实现找出三队赛手的名单。 #include int main() {

char i,j,k; //i是a的对手,j是b的对手,k是c的对手 for(i='x';i<='z';i++) for(j='x';j<='z';j++)

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

{if (【?】) //a和b不能是同一个对手 /***********SPACE***********/ 【?】(k='x';k<='z';k++)

{ if(i!=k && j!=k) //a、b、c不能是同一个对手 /***********SPACE***********/

{ if(i!='x' && k!='x' &&【?】 ) printf(\ } } } return 0;

}

1)i!=j 2)for 3)k!=? z?

2.功能:输入一个学生的生日(年:y0、月:m0、日:d0),并输 入当前日期(年:y1、月:m1、日:d1)。求出该学生的 年龄(实足年龄)。 #include main()

{int age,y0,y1,m0,m1,d0,d1;

printf(\输入生日日期(年,月,日)\/***********SPACE***********/ 【?】(\printf(\输入当前日期(年,月,日)\scanf(\age=y1-y0;

/***********SPACE***********/ if(m0【?】m1)age--;

/***********SPACE***********/ if((m0【?】m1)&&(d0>d1))age--; printf(\}

1)scanf 2)> 3)==

3.完成程序填空,实现猴子吃桃问题。

猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾又多吃了一个。 第二天早上有将剩下的挑子吃掉一半,又多吃了一个。

后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃是, 只剩下一个挑子了。求第一天共摘了多少桃子。 #include int main()

/***********SPACE***********/ {int day【?】; int m=0; int n=1; while(day>1) {

/***********SPACE***********/ m=【?】;

/***********SPACE***********/ 【?】;

day--; }

printf(\return 0; }

1)=10 2) 2*(n+1) 3) n=m

4.在数组a中,存放着10个整型数据,数据是从下标0开始存放的, 完成程序填空,实现顺序输出下标为奇数的各数组元素的值。 #include int main() {

/***********SPACE***********/ inti, a[10]={0,1,2,3,4,5,6,7,8,9【?】 /***********SPACE***********/ for(i=1;i<=9; 【?】)

/***********SPACE***********/ printf(\【?】); printf(\return 0; } 1) }; 2)i=i+2 3) a[i] 第六套

1/*完成程序填空,实现输出以下图案: * *** *****

******* #include #include int main() { inti,j;

/***********SPACE***********/ for(i=1;【?】;i++) {

for(j=1;j<=10-i;j++) printf(\ for(j=1;j<=2*i-1;j++)

/***********SPACE***********/ printf(【?】);

/***********SPACE***********/ printf(【?】); } return 0; }

1)i<=4或i<5 2)”*” 3)”/n”

2//完成程序填空实现输入三个数,按代数值由大到小输出。 #include int main() {

floata,b,c,t;

scanf(\

/***********SPACE***********/ if(【?】)

{t=a;a=b;b=t;} if(a

/***********SPACE***********/ {t=a;a=c;【?】;} if(b

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

{t=b;【?】;c=t;} printf(\ return 0; }

1) a

3.完成程序填空,实现打印下列的图形 1 2 3 4 5 6 7 8 9 2 3 4 5 6 7 8 9 3 4 5 6 7 8 9

4 5 6 7 8 9 5 6 7 8 9 6 7 8 9 7 8 9 8 9 9

#include int main() {inti,j;

/***********SPACE***********/ for(i=1;【?】;i++)

/***********SPACE***********/ {for(j=i;j<=9;【?】)

/***********SPACE***********/ printf(\【?】 printf(\ }

return 0; }

1) i<=9或i<10 2) j++或j=j+1 3) j);

4*完成程序填空,实现输入两个数字,若两数相等,则直接输出两个数字,若不相等, 则这两个数中的较大者等于这个较大者减去较小者,再作比较,若不相等则重复上述操作, 直到两个数字相等为止。输出相等的两个数字。 #include int main() { inta,b;

printf(\

scanf(\

/***********SPACE***********/ while(a 【?】)

/***********SPACE***********/ { if (【?】) a=a-b;

/***********SPACE***********/ if (【?】) b=b-a; }

printf(\return 0; }

1)!=b 2)a>b 3)b>a 第七套

1.完成程序填空,实现输入一行字符,分别统计出其中的英文字母、空格、数字和 其他字符的数。 #include void main( ) {

char c;

int letters=0,space=0,digit=0,other=0; printf(\请输入一行字符:\

/***********SPACE***********/ while((【?】)!='\\n') {

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

if (c>='a'【?】|| c>='A'&&c<='Z') letters++ ; else if (c==' ') space++; /***********SPACE***********/ else if(【?】) digit++; else other++; }

printf(\}

1)c=getchar() 2)&&c<=?z?

3)c>=?0?&&c<=?9?

2/*完成程序填空,实现找出1000之内的所有完数,并按如图所示格式输出其因子。 一个数如果恰好等于它的公约数之和,这个数就称为\完数\。 例如6=1+2+3。6就是一个完数。 #include int main() {

inta,i,b;

/***********SPACE***********/ for(a=2;a<=【?】;a++) {

b=0; for(i=1;i

/***********SPACE***********/ b=【?】; if(a==b)

{

printf(\ its factors are 1\for(i=2;i

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

if(【?】) printf(\ printf(\ } }

return 0; }

1)1000 2)b+i 3)a%i==0

3/*完成程序填空,实现编程输出以下图案。

***** ***** ***** ***** *****

#include \#include \int main()

{charstr[]=\inti,j;

/***********SPACE***********/ for(i=0;【?】;i++)

/***********SPACE***********/ {for(j=1;j<=【?】;j++) printf(\

/***********SPACE***********/ puts(【?】); } return 0; } 1)i<5 2)i+1 3)str

4/*功能:输出9*9口诀。 main() {

inti,j,result; printf(\

/***********SPACE***********/ for (i=1;【?】;i++) {

/***********SPACE***********/ for(j=1;j<10;【?】) { result=i*j;

/***********SPACE***********/ printf(\【?】); }

printf(\ } }

1) i<10 2) j++ 3) result 第八套

1/*完成程序填空实现输入两个数a、b,判断如果a int main() {

floata,b,t;

scanf(\

/***********SPACE***********/ if(【?】)

/***********SPACE***********/ { t=a;a=b;【?】; }

/***********SPACE***********/ printf(\【?】); return 0; }

1) a

2./完成程序填空,实现用冒泡排序法对从键盘输入的10个整型数据进行由小到大排序。 #include int main() {

inti,j,t,a[10];

printf(\

for (i=0;i<10;i++) /***********SPACE***********/

scanf(\【?】); printf(\

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

for(i=0;i<9-j;i++) if (a[i]>a[i+1]) {t=a[i]; a[i]=a[i+1];

/***********SPACE***********/ 【?】}

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

/***********SPACE***********/ printf(\【?】); printf(\return 0; }

1)&a[i] 2) a[i+1]=t; 3) a[i]

3. /完成程序填空,实现求s=1+3+5+……+99 # include int main( ) { inti,s;

/***********SPACE***********/ i【?】 s=1;

/***********SPACE***********/ while(【?】) {

i=i+2;

/***********SPACE***********/ 【?】 }

printf(\\\n\return 0; }

1)=1; 2)i<99 3)s=s+i;

4. /*完成程序填空,实现求1+ 1/3+ 1/5+ ...之和, 直到某一项的值小于10的-6次方时停止累加。 */

#include int main()

{ long n; float s; s=0;

/***********SPACE***********/ n【?】

/***********SPACE***********/ while(1.0/n【?】) {

s=s+1.0/n;

/***********SPACE***********/ 【?】

}

printf(\printf(\return 0; } 1) =1; 2) >=1e-6 3)n=n+2; 第九套

1./*完成程序填空,实现的功能是输出如下形式的方阵: 13 14 15 16 9 10 11 12 5 6 7 8 1 2 3 4 #include int main() { inti,j,x;

/***********SPACE***********/ for(j=4; 【?】 ; j--) {

for(i=1; i<=4; i++) {

/***********SPACE***********/ x=【?】 ; printf(\ }

/***********SPACE***********/ printf(【?】); }

return 0; }

1)j>=1 2)(j-1)*4+1 3)”\\n”

2./完成程序填空,实现输入4个整数,要求按由小到大的顺序输出。 #include

main()

{intt,a,b,c,d;

printf(\请输入四个数:\

scanf(\printf(\if (a>b)

{ t=a;a=b;b=t;} if (a>c)

/***********SPACE***********/ { t=a;【?】;c=t;} if (a>d)

{ t=a;a=d;d=t;} if (b>c)

/***********SPACE***********/ { t=b;b=c;【?】;} if (b>d)

{ t=b;b=d;d=t;} if (c>d)

/***********SPACE***********/ { 【?】;c=d;d=t;} printf(\排序结果如下: \\n\

printf(\ %d %d %d \\n\ ,a,b,c,d); } 1)a=c 2)c=t 3)t=c

3/*完成程序填空,输出所有的水仙花数。水仙花数是一个三位数, 其个、十、百位数字三次方之和为这个数。例如 371=3*3*3+7*7*7+1*1*1 #include int main( )

{intnum, bai, shi ,ge;

/***********SPACE***********/ for(num=100; 【?】; num++) {bai=num/100;

/***********SPACE***********/ shi=【?】 ge=num;

/***********SPACE***********/ if (【?】) //

printf(\}

return 0;

}

1)num<=999或num<1000 2)num/10

3)num==bai*bai*bai+shi*shi*shi+ge*ge*ge

4、题目:将 a++ 或 ++a 或 a-- 或 --a 填入程序填空中,实现如图所示的输出。(填入其他无效)

#include main() { inti,a; i=1;

a=i++;

/***********SPACE***********/ printf(\【?】,i++); printf(\ printf(\printf(\ /***********SPACE***********/ printf(\【?】,i--); /***********SPACE***********/ printf(\【?】,--i); printf(\}

1) a++ 2) a-- 3) --a 第十套

1.//完成程序填空,实现输入4个整数,要求按由小到大的顺序输出。 #include main()

{intt,a,b,c,d;

printf(\请输入四个数:\

scanf(\printf(\if (a>b)

{ t=a;a=b;b=t;} if (a>c)

/***********SPACE***********/ { t=a;【?】;c=t;} if (a>d)

{ t=a;a=d;d=t;} if (b>c)

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

{ t=b;b=c;【?】;} if (b>d)

{ t=b;b=d;d=t;} if (c>d)

/***********SPACE***********/ { 【?】;c=d;d=t;} printf(\排序结果如下: \\n\

printf(\ %d %d %d \\n\ ,a,b,c,d); } 1)a=c 2)c=t 3)t=c

2.完成程序填空,实现猴子吃桃问题。

猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾又多吃了一个。 第二天早上有将剩下的挑子吃掉一半,又多吃了一个。

后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃是, 只剩下一个挑子了。求第一天共摘了多少桃子。 #include int main()

/***********SPACE***********/ {int day【?】; int m=0; int n=1; while(day>1) {

/***********SPACE***********/ m=【?】;

/***********SPACE***********/ 【?】; day--; }

printf(\return 0; }

1)=10 2) 2*(n+1) 3) n=m

3.题目:<<<题干内容>>>

请在程序中填空,定义无符号短整型变量a,编译执行后输出如图所示结果 --#include

/***********SPACE***********/ 【?】

{

/***********SPACE***********/ 【?】 a;

a=-1;

/***********SPACE***********/ 【?】 return 0; }

1)int main() 2)unsigned short 3) printf(“ %d\\n” ,a);

4//完成程序填空,实现已知三个数a,b,c,找出最大值放于max中。 #include int main() {

inta,b,c,max;

printf(\ scanf(\ /***********SPACE***********/

if(a>=b) 【?】; else max=b; /***********SPACE***********/

if (【?】) max=c; /***********SPACE***********/ printf(\【?】); return 0; }

1)max=a 2)c>max 3) ,max

本文来源:https://www.bwwdw.com/article/wmdx.html

Top