循环语句习题选

合集下载

C语言循环习题

C语言循环习题

循环习题集锦一.选择题1.for(i=0;i<10;i++);结束后,i的值是;A 9B 10C 11D 122.下面程序的循环次数是:#include<>void main(){int k=0;while(k<10){if(k<1) continue;if(k==5) break;k++;}printf(“k=%d\n”,k);}A. 5 B 6 C 4 D 死循环,不能确定循环次数3.下面程序的输出结果是()#include<>void main(){int s,k;for(s=1,k=2;k<5;k++)s=s+k;printf(“%d\n”,s);}A 1B 9C 10D 154.要使下面程序输出10个整数,则在下画线处填入正确的数是:#include<>void main(){int i;for(i=0;i<= ;)printf(“i=%d\n”,i=i+2);} (显示的是:2,4,6,8,10,12, (20)A 9B 10C 18D 205.运行下面程序:#include<>void main(){int i=10,j=0;do{j=j+i; /*第一:10,第二:19第三:27第四:34第五:40*/i--;}while(i>5);printf(“%d\n”,j);}输出结果是:A 45B 40C 34D 556.运行下面程序#include <>main(){int k=0,a=1;while(k<10){for( ; ;){ if((k%10)==0)/*当循环开始的时候时,k=0,此时和10取3余的结果就等于0,就跳出了for循环开始下面的循环*/ break;elsek--;}k=k+11;a=a+k;printf(“k=%d \n a=%d\n”,k,a);}则输出的结果是()A 21 32B 21 33C 11 12D 10 117.以下叙述正确的是:A. do---while语句构成的循环不能用其他语句构成的循环来代替。

C语言习题 循环1

C语言习题 循环1

循环1一、单项选择题1、以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是__A____。

A. if((a>b)&&(b>c)) k=1;B. if((a>b)||(b>c)) k=1else k=0; else k=0;C. if(a<=b) k=0;D. if(a>b) k=1;else if(b<=c) k=1; else if(b>c) k=1;else k=0;2、C语言的do_while循环中,循环由do开始,用while结束;而且在while表达式后面的___B___不能丢,它表示do_while循环的结束。

A. \nB. “;”C. “%”D. “,”3、执行程序段:x=-1; do { x=x*x;} while(!x); 的结果是__C____。

A. 死循环B. 循环执行2次C. 循环执行一次D. 有语法错误4、下面程序段的输出结果是__D____。

int i,sum;for(i=1;i<=10;i++)sum+=sum;printf("%d\n",i);A. 10B. 9C. 15D.不确定5、以下叙述正确的是___C___。

A. for循环中设置for(条件)break,当条件成立时中止程序执行。

B. for循环中设置for(条件)continue,当条件成立时中止本层循环。

C. for循环中设置for(条件)break,当条件成立时中止本层循环。

D. for循环中设置for(条件)break,当条件成立时暂停本次循环。

6、下面有关for循环的正确描述是__D____。

A. for循环只能用于循环次数已经确定的情况。

B. for循环是先执行循环体语句,后判断表达式。

C. 在for循环中,不能用break语句跳出循环体。

D. for循环的循环体语句中,可以包含多条语句。

c语言循环章节练习题(部分答案)

c语言循环章节练习题(部分答案)

循环章节练习题一、选择题1.设有程序段int k=10;while (k=0) k=k-1;则下面描述中正确的是_______.A. while循环执行10次。

B.循环是无限循环。

C.循环体语句一次也不执行。

D.循环体语句执行一次。

2.设有以下程序段:int x=0,s=0;while(!x!=0) s+=++x;printf(“%d”,s);则________。

A. 运行程序段后输出0。

B. 运行程序段后输出1。

C.程序段中的控制表达式是非法的。

D.程序段执行无限次。

3.下面程序段的运行结果是________。

x=y=0;while(x<15) {y++;x+=++y;}printf(“%d,%d”,y,x);A.20,7 B. 6,12C. 20,8D. 8,203.下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n 中的较大者,请选择填空。

#incldue <stdio.h>main(){ int m=0,n=0;char c;while( (___1____)!=’\n’){ if(c>=’A’&&’Z’) m++;if(c>=’a’&&’z’) n++;}printf(“%d\n”,m<n?___2____);}1)A.c=getchar() B.getchar()C.c=getcharD.scanf(“%c”,c);2)A. n:m B. m:n C. m:m D. n:n4.下面程序的功能是在输入的一批正整数中求出最大者,输入0结束循环,请选择填空。

#include <stdio.h> main(){ int a,max=0;scanf(“%d”,&a);while(_______){ if(max<a) max=a;scanf(“%d”,&a);}printf(“%d”,max); }A.a==0B.aC.!a=1D. !a5.下面程序的运行结果是______。

C语言循环习题答案

C语言循环习题答案

循环习题集锦一.选择题1.for(i=0;i<10;i++);结束后,i的值是;(10)A 9B 10C 11D 122.下面程序的循环次数是:(D)int k=0;while(k<10){if(k<1) continue;if(k==5) break;k++;}A. 5 B 6 C 4 D 死循环,不能确定循环次数3.下面程序的输出结果是(10)main(){int s,k;for(s=1,k=2;k<5;k++)s+=k;printf(“%d\n”,s);}A 1B 9C 10D 154.要使下面程序输出10个整数,则在下画线处填入正确的数是:(c)for(i=0;i<= ;)printf(“%d\n”,i+=2);A 9B 10C 18D 205.运行下面程序:(B)main(){ int i=10,j=0;do{ j=j+i;i--;}while(i>5);printf(“%d\n”,j);}输出结果是:A 45B 40C 34D 55 6.运行下面程序#include “stdio.h”main(){ int k=0,a=1;while(k<10){for( ; ;){ if((k%10)==0)break;elsek--;}k+=11;a+=k;}printf(“%d %d\n”,k,a);}则输出的结果是(C)A 21 32B 21 33C 11 12D 10 117.以下叙述正确的是:(D)A.do---while语句构成的循环不能用其他语句构成的循环来代替。

B.do---while语句构成的循环只能用break语句退出。

C.用do---while语句构成的循环,在while 后的表达式为非零时结束循环。

D.用do---while语句构成的循环,在while后的表达式为零时结束循环。

8.有如下程序:main(){ int x=3;do{printf(“%d”,x--);}while(!x);}该程序的执行结果是:(C)A 3 2 1B 2 1 0C 3D 29.若k为整型变量,则下面while循环执行的次数为:(A)k=10;while(k==0) k=k-1;A 0B 1C 10 D无限次10.下面有关for循环的正确描述是(D)A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体。

C语言单元复习题 第06部份 循环

C语言单元复习题  第06部份 循环
B.只有do...while语句构成的循环能用break语句退出
C.用do...while语句构成循环时,在while后的表达式为零时不一定结束循环
D.用do...while语句构成循环时,在while后的表达式为零时结束循环
(知识点:do...while语句; 难度系数:1; 答案:D )
10.以下关于do...while语句的叙述中,正确的是:( )。
(知识点:循环的基本概念; 难度系数:1; 答案:D )
2.以下关于循环的描述中,错误的是:( )。
A.while、do...while和for语句的循环体都可以是空语句
B.for和do...while语句都是先执行循环体,后进行循环条件判断
C.while语句是先进行循环条件判断,后执行循环体的
D.使用while和do...while语句时,循环变量初始化的操作应在循环语句之前完成
A.break语句和continue语句都只能用于循环结构
B.break语句和continue语句都只能用于switch结构
C.break语句用于跳出循环体,continue语句用于跳出当次循环
D.continue语句用于跳出循环体,break语句用于跳出当次循环
(知识点:continue语句; 难度系数:1; 答案:C )
A.x==0B.x==1C.x!=lD.x!=0
(知识点:while语句; 难度系数:1; 答案:D )
5.在C语言中,当while语句构成的循环中的条件为( )时,结束循环。
A.0B.1C.真D.非0
(知识点:while语句; 难度系数:1; 答案:A )
6.有以下程序段:
int k=0;
while(k=1) k++;

第6章 循环结构练习题

第6章 循环结构练习题

循环结构练习题一、选择题。

2、对于DO UNTIL ……LOOP循环,正确的是()。

A 如果循环条上为常数0,则一次循环也不执行B 如果循环条件为常数0,则至少执行一次循环C 如果循环条件是不为0的常数,则至少执行一次循环D 无论循环条件是否为TRUE,都至少执行一次循环3、要在DO ……LOOP循环中退出循环,应使用()语句。

A EXITB EXIT DOC CONTINUED STOP LOOP4、以下循环结构中,VB不支持的是()。

A FOR……NEXTB FOR EACH……NEXTC DO…..LOOPD DO……ENDDO5、要在FOR……NEXT循环中退出循环,应使用()语句。

A EXITB EXIT FORC CONTINUED STOP LOOP6、下列关于FOR循环的说法中,正确的是()。

A 循环变量、初值、终值和步长都必须是数值型B STEP后面的值必须为正数C 初值必须小于终值D 初值必须大于终值7、下列关于DO……LOOP语句的叙述中,不正确的是()。

A DO……LOOP语句采用逻辑表达式来控制循环体执行的次数。

B DO WHILE……LOOP语句与DO UNTIL……LOOP语句中WHILE与UNTIL后面的表达式值为TRUE或非0时,循环继续。

C DO……LOOP WHILE与DO……LOOP UNTIL 语句都至少执行一次循环D DO WHILE…..LOOOP语句与DO UNTIL……LOOP语句可能不执行循环8、下面的循环程序在执行时将()。

FOR I=1 TO 10 STEP 0K=K+2NEXT IA 形成无限循环B 仅循环一次C 语法错误D 一次也不循环9、对于EXIT FOR,叙述正确的是()。

A EXIT FOR语句可以退出任何类型的循环B 一个循环只能有一条EXIT FOR语句C EXIT FOR表示返回到FOR语句执行D 一个FOR循环可以有多条EXIT FOR语句10、对于FOR循环中的初值、终值、步长,下列说法中,正确的是()。

循环结构习题

循环结构习题

循环结构习题循环结构一.选择题1.下面程序段int k=2;while (k=0) {printf(“%d”,k);k--;}则下面描述中正确的是。

A)while循环执行10次B)循环是无限循环C)循环题语句一次也不执行D)循环体语句执行一次2.以下程序段的循环次数是。

for (i=2; i==0; ) printf(“%d” , i--) ;A)无限次B)0次C)1次D)2次4.下面程序的输出结果是。

main ( ){ char c=’A’;int k=0;do {switch (c++) {case ‘A’ : k++ ; break ;case ‘B’ : k-- ;case ‘C’ : k+=2 ; break ;case ‘D’ : k%=2 ; continue ;case ‘E’ : k*=10 ; break ;default : k/=3 ;}k++;} while (c<’G’) ;printf (“k=%d”,k) ;}A)k=3 B)k=4 C)k=2 D)k=05.下面程序的输出结果是。

main ( ){ int x=9;for (; x>0; x--) {if (x%3==0) {prin tf(“%d”,--x);continue ;}}}A)741 B)852 C)963 D)8754216.以下不是死循环的程序段是。

A)int i=100; B)for ( ; ; ) ;while (1) {i=i%100+1 ;if (i>100) break ;}C)int k=0; D)int s=36;do { ++k; } while (k>=0); while (s) ; --s ;7.下述程序段的运行结果是。

int a=1,b=2, c=3, t;while (a<b<="" p="" {t="a;">printf(“%d,%d,%d”,a,b,c);A)1,2,0 B)2,1,0 C)1,2,1 D)2,1,18.下面程序的功能是从键盘输入一组字符,从中统计大写字母和小写字母的个数,选择填空。

C语言习题 循环2

C语言习题 循环2

循环2一、单项选择题1. 以下程序的输出结果是______。

#include<stdio.h>void main(){ int num=0; while(num<=2) { num++; printf("%d",num); } }A. 2B. 1C. 123D. 12参考标准答案:C2. 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是______。

#include <stdio.h>void main(){ int x; scanf("%d",&x);if(x>5)printf("%d",x);else printf("%d\n",x--);}A. 7和5B. 6和3C. 7和4D. 6和4参考标准答案: D3. 以下描述中正确的是______。

A. 由于do-while循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。

B. do-while循环由do开始,用while结束,因此在while(表达式)后无需加分号。

C. 在do-while循环体中,一定要有能使while后面表达式的值变为“假”的操作。

D. do-while循环中,根据情况可以省略while。

参考标准答案: C4. 下面程序段的输出结果是______。

int i=10;while(i>7) { i--; printf(" %d",i); }A. 10 9 8B. 9 8 7C. 10 9 8 7D. 8 9 10参考标准答案:B5. 若i为整型变量,则以下循环执行的次数是______。

for(i=2;i==0;) printf("%d",i--);A. 无限次B. 0次C. 1次D. 2次参考标准答案:B6. 执行下面程序段后,i值是______。

循环结构练习题

循环结构练习题

第4章循环结构(一)、是非题1. C语言中,do-while语句构成的循环只能用break语句退出。

A.对B.错2.在循环外的语句不受循环的控制,在循环内的语句也不受循环的控制。

A.对B.错3.从语法角度看,for(表达式1;表达式2;表达式3)语句中的3个表达式均可省略。

A.对B.错4.for、while和do while循环结构的循环体均为紧接其后的第一个语句(含复合语句)。

A.对B.错5.由i=-1;while(i<10) i+=2;i++;可知,此while循环的循环体执行次数为6次。

A.对B.错6.循环for( ; ; )的循环条件始终为真。

A.对B.错7.do…while语句的循环体至少执行1次,while和for循环的循环体可能一次也不执行。

A.对B.错8.break;语句执行时退出本层循环,continue;语句结束本次循环。

A.对B.错9.for循环、while循环和do while循环结构之间可以相互转化。

A.对B.错10.break;语句执行时退出到包含该break;语句的所有循环外。

A.对B.错11.二重循环for(i=0;i<5;i+=2) for(j=0;j<5;j++)的循环体的执行次数为15。

A.对B.错12.执行i=-1; while(i<10) i+=2;i++; 后,i的值为11。

A.对B.错13.int i=1;while(1) i++; 则在任何条件下,该循环语句都会执行无穷多次A.对B.错14.while和do…while的功能完全相同。

A.对B.错15.while后的表达式只能是逻辑或关系表达式。

A.对B.错16.语句while(E);中的表达式E等价于E!=0。

A.对B.错17.只能在循环体内和switch语句体内使用break语句。

A.对B.错18.程序段 int k=10; while(k=0)k=k-1; 中,while循环执行10次。

c语言循环语句训练题

c语言循环语句训练题

练习题:1. 找出1~n之间的守形数:从个位数看起;n的所有位与nn的对应位完全相同.2. 任给两个整数; 判断一个是否包含在另一个中.例如:567在12567中; 567在1256789中;但567不在125687中.3. 找出1~n之间的能被3整除且含有数字5的整数.4. 找出1~n之间的能被3整除且只含一个5的整数.5. 编程求:6. 输入r进制数字串;将其转换为十进制数输出..7. 输入r进制小数字串;将其转换为十进制小数输出8. 打印下边两个图形9.判断n末尾零的个数..10. 编程将文件中的C程序的注释部分去掉后写入到另一个文件中注释以\ \标志..11.任意读入一批数据;求其最大、最小值、平均值;并统计其中低于均值和高于均值的数的个数..1.守形数include<stdio.h>include<math.h>int main{int i;j;num;x;num1;ii;jj;scanf"%d";&x;ifx==1 printf"1";else{fori=2;i<=x;++i{ii=i;num=1;num1=0; jj=ii-i; //printf"%d";ii;whileii/10{num++;ii/=10;//printf"%d";ii;//getchar;}whilejj%10{num1++;jj/=10;}// getchar;ifnum1>=num printf"%d\n";i;}}}2.两数包含关系include<stdio.h>include<math.h>int main{int x;y;i;num1;num2;xx;yy;tt;num3;scanf"%d%d";&x;&y;xx=x;yy=y;num1=0;num2=0;num3=1;whileyy/10{num3++;yy/=10;}whilexx/10{ifxx%10 num1++;xx/=10;}i=0;whilett=x-yintpow10;i>=0{whilett/10{iftt%10 num2++;tt/=10;}i++;}ifnum2-num1>=num3 printf"包含";else printf"不包含";4. 找出1至n所有能被3整除且仅含有一个5的整数修改 include<stdio.h>int main{int i;ii;x;flag;scanf"%d";&x;fori=1;i<=x;++i{ flag=-1;ii=i;whileii{ifii%10==5 flag++;ii/=10;}//getchar;//printf"%d";flag;ifflag&&i%3==0 printf"%d\n";i;}}6.输入r进制数字串;并转化为十进制数输出..8.打印图形1 include<stdio.h>int main{int i;j;k;y;d=14;char c='Z';fori=1;i<=26;++i//printf the i line { ifi==26 break;forj=1;j<=d;j++printf" ";fork=0;k<=26-i;++kprintf"%c ";c-k;printf"\n";d+=1;c-=1;}d=39;c='A';fori=1;i<=26;++i//printf the i line {forj=1;j<=d;j++printf" ";fork=0;k<i;++kprintf"%c ";c+k;printf"\n";d-=1;}}2 include<stdio.h>int main{int i;j;k;l;d;char c;c1;d=25;c='A';c1='Z';fori=1;i<=26;++i//printf the i line {forj=1;j<=d;j++printf" ";fork=0;k<i;++kprintf"%c ";c+k; forl=0;l<=26-i;++l printf"%c ";c1-l; c1-=1;printf"\n";d-=1;}}9.判断n末尾零的个数;include<stdio.h>int main{ int n;x;num;i;scanf"%d";&n;x=1;num=0;//getchar;fori=1;i<=n;++ix=i;whilex%10{num++;x/=10;}printf"the number of background zero is %d";num;}10.11.此处文件的作用在未学习数组时顶替其作用 include<stdio.h> int main{ FILE fp;fp=fopen"C:\\Users\\ccy\\Desktop\\abc.txt";"w+";float min;max;x;s=0;y;int n=0;i;num1;num2;scanf"%f";&min;fprintffp;"%f ";min;max=min;n++;s+=x;whilefeofstdin{scanf"%f";&x;fprintffp;"%f ";x;n++;s+=x;ifmax<x max=x;else ifmin>xmin=x;}rewindfp;fori=1;i<=n;++i{fscanffp;sizeoffloat;&y; ify>s/n num1++;ify<s/n num2++;}printf"%f%f";min;max;printf"%f";s/n;printf"%d%d";num1;num2;}。

练习题--循环(答案)

练习题--循环(答案)
(C) n/10
(D) n%10
20、下面程序是从键盘输入学号,然后输出学号中百位数字是3的学号,输入0时结束循环。请选择填空。①( B )②( C )
#include&lt;stdio.h&gt;
void main()
{
long int num;
scanf(&quot;%ld&quot;,&amp;num);
(D) do-while的循环体不能是复合语句
15、以下能正确计算1×2×3×...×10的程序段是( C )
(A) do{i=1; s=1;
s=s*i;
i++;
}while(i&lt;=10);
(B) do{i=1;s=0;
s=s*i;
i++;
}while(i&lt;=10);
a);
while( ① )
{
if(max&lt;a) max=a;
scanf(&quot;%d&quot;,&amp;a);
}
printf(&quot;%d&quot;,max);
}
#include&lt;stdio.h&gt;
void main()
{
int a,q,n,sum;
a=1; q=2; n=sum=0;
do{ ① ;
++n; a*=q;
}while(sum&lt;100);
② ;
printf(&quot;%d\n&quot;,n);

循环练习题(二)及答案

循环练习题(二)及答案

一、选择题1、以下程序段的输出结果是( D )int k, j, s=0;for(k=2;k<6;k++,k++){s = 1;for(j=k;j<6;j++)s+=j;}System.out.print(s);A)9 B)1 C)11 D)102、以下程序段的输出是( C )int i, j, m=0;for(i=1;i<=15;i+=4){for(j=3;j<=19;j+=4)m++;}System.out.print(m);A)12 B)15 C)20 D)253、以下程序段的输出是( A )int i,sum=0;for(i=1;i<6;i++)sum+=i;System.out.print(sum);A)15 B)14 C)不确定D)04、以下程序段的输出是( D )int x=3,y=6,a=0;while(x++!=(y-=1)){a+=1;if(y<x)break;}System.out.print(“x=”+x+”,y=”+y+”,a=”+a);A)x=4,y=4,a=1 B)x=5,y=5,a=1 C)x=5,y=1,a=3 D)x=5,y=4,a=15、定义如下变量:int n = 10 ;则下列循环的输出结果是( B )while(n>7){n-- ;System.out.println(n) ;}A)10 B)9 C)10 D)99 8 9 88 7 8 77 66、以下程序段的输出是( C )int x=3;do{System.out.print(x-=2);}while(--x==0)A)1 B)3 0 C)1 -2 D)死循环7、以下程序段的输出是( B )int a,b;for(a=1,b=1;a<100;a++){if(b>=20) break;if(b%3==1){b+=3;continue;}b-=5;}System.out.print(a);A)7 B)8 C)9 D)108、以下程序段的输出是( C )int num=0;while(num<=2){num++;System.out.print(num);}A)1 B)2 2 C)1 2 3 D)1 2 3 49、以下循环体的执行次数是( C )int i,j ;for(i=0,j=1 ;i<=j+1 ;i+=2,j--)System.out.print(i) ;A)3 B)2 C)1 D)010、设j为int型变量,则下面for循环语句的执行结果是( B )for(j=10 ;j>3 ;j--){if(j%3 !=0)j-- ;--j ;--j ;System.out.print(j) ;}A)6 3 B)7 4 C)6 2 D)7 311、在循环for,while,do-while语句中,用于直接中断内层循环的语句是( C )A)switch B)continue C)break D)if二、填空题1、以下程序段的输出结果是_1024___int k, n, m;n = 10;m = 1;k = 1;while(k<=n){m = m*2;k++;}System.out.print(m);2、以下程序段的输出结果是_10___int x=2;while(x--!=0){System.out.print(x);}3、在循环中,continue语句与break语句的区别是:_continue语句是跳出本次循环,进入下一次循环;break语句是终止某个循环,程序跳转到循环块外的下一条语句。

(完整版)C语言循环习题答案

(完整版)C语言循环习题答案

循环习题集锦一.选择题1.for(i=0;i<10;i++);结束后,i 的值是;(10)A 9B 10C 11D 122.下面程序的循环次数是:(D)int k=0;while(k<10){if(k<1) continue;if(k==5) break;k++;}A. 5 B 6 C 4 D 死循环,不能确定循环次数3.下面程序的输出结果是(10)main(){int s,k;for(s=1,k=2;k<5;k++)s+=k;printf(“%d\n”,s);}A 1B 9C 10D 154.要使下面程序输出10 个整数,则在下画线处填入正确的数是:(c)for(i=0;i<= ;)printf(“%d\n”,i+=2);A 9B 10C 18D 205.运行下面程序:(B)main(){ int i=10,j=0;do{ j=j+i;i--;}while(i>5);printf(“%d\n”,j);}输出结果是:A 45B 40C 34D 556.运行下面程序#include “stdio.h”main(){ int k=0,a=1;while(k<10){for( ; ;){ if((k%10)==0)break;elsek--;}k+=11;a+=k;}printf(“%d %d\n”,k,a);}则输出的结果是(C)A 21 32B 21 33C 11 12D 10 117.以下叙述正确的是:(D)A.do---while 语句构成的循环不能用其他语句构成的循环来代替。

B.do---while 语句构成的循环只能用break 语句退出。

C.用do---while 语句构成的循环,在while 后的表达式为非零时结束循环。

D.用do---while 语句构成的循环,在while 后的表达式为零时结束循环。

8.有如下程序:main(){ int x=3;do{printf(“%d”,x--);}while(!x);}该程序的执行结果是:(C)A 3 2 1B 2 1 0C 3D 29.若k 为整型变量,则下面while 循环执行的次数为:(A)k=10;while(k==0) k=k-1;A 0B 1C 10D 无限次10.下面有关for 循环的正确描述是(D)A.for 循环只能用于循环次数已经确定的情况B.for 循环是先执行循环体语句,后判断表达式C.在for 循环中,不能用break 语句跳出循环体。

(完整版)C语言循环结构练习题集带答案解析

(完整版)C语言循环结构练习题集带答案解析

第5章循环结构程序设计5.1 基本知识点while语句的使用格式和注意事项do-while语句的使用格式和注意事项for语句的使用格式和注意事项break和continue语句在循环语句中的应用循环结构的嵌套使用goto语句实现循环结构穷举法程序设计方法迭代程序设计方法5.2 练习题51. 单项选择题(1)语句while (!e);中的条件!e等价于 A 。

A. e==0B. e!=1C. e!=0D. ~e(2)下面有关for循环的正确描述是 D 。

A. for循环只能用于循环次数已经确定的情况B. for循环是先执行循环体语句,后判定表达式C. 在for循环中,不能用break语句跳出循环体D. for循环体语句中,可以包含多条语句,但要用花括号括起来(3)C语言中 D 。

A. 不能使用do-while语句构成的循环B. do-while语句构成的循环必须用break语句才能退出C. do-while语句构成的循环,当while语句中的表达式值为非零时结束循环D. do-while语句构成的循环,当while语句中的表达式值为零时结束循环(4)C语言中while和do-while循环的主要区别是 A 。

A. do-while的循环体至少无条件执行一次B. while的循环控制条件比do-while的循环控制条件严格C. do-while允许从外部转到循环体内D. do-while的循环体不能是复合语句(5)以下程序段 C 。

int x=-1;do{x=x*x;}while (!x);A. 是死循环B. 循环执行二次C. 循环执行一次D. 有语法错误(6)下列语句段中不是死循环的是__C__。

A. i=100;while (1){i=i%100+1;if (i==20) break;}B. for (i=1;;i++)sum=sum+1;C. k=0;do{++k;} while (k<=0);D. s=3379;while (s++%2+3%2)s++;(7)与以下程序段等价的是__A__。

循环语句习题选

循环语句习题选

循环语句习题选循环语句习题选1. 一个自然数与3的和是5的倍数,与3的差是6的倍数,这个自然数最小是几?[ 27 ]2. 在400--500之间求一个数,它被2除余1,被5除余3,被9除余1,这个数是多少? [ 433 ]3. 一些四位数,百位数字都是3,十位数字都是6,并且它们既能被2整除,又能被3整除,求这样的四位数中最大的和最小的两数各是几? [ 9366, 1362 ]4. 编程求一个四位自然数ABCD,它乘以A后变成DCBA. [ 共10个]5. 编程求出满足以下条件的三位数:它除以11所得的商等于它各位数字之和.[ 198 ]6. 由计算机产生五个互不相同的19到87之间的随机整数(包括19,不包括87),从中找出所有的三个数之和能被3整除的数组,并按如下格式打印出来.例如: 42 24 34 51 5242 + 24 + 51 = 117 = 3 * 39 [ 87年北京市小学组初赛] 7. 某数被80除所得的商,不但是7的倍数,而且用2,3,4,5,6去除余数都是1,求这个自然数. [ 24080 ] 8. 有一种最简真分数,它们的分子与分母的乘积都是140,把所有这样的真分数从小到大打印出来. [ 1/140 ; 4/35 ; 5/28 ; 7/20 ]9. 求把2/7化为小数后,小数点后面1001位数字总和是多少? [ 4505 ]10. 一个五位数,若在它的后面写上一个7,得到一个六位数A,若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此五位数. [ 14285 ] 11. 有一个六位数,其个位数字是7,现将个位数字移到首位,而其余各位数字不变,均后退一位,得到一个新的六位数,如果新的六位数是原六位数的四倍,求原来的六位数. [179487 ]12.一个自然数的个位数字是6,如果把这个位数字移到首位,所得到的数是原数的4倍,求这个自然数. [ 153846 ]13. 某数的末位数字是2,将2移到首位,所得到的新数正好是原数的2倍,求满足条件的最小数. [ 105263157894736842 ] 14. 有一个六位数,第一位是1,如果把它移到个位,新的六位数正好是原数的三倍,求原来的六位数. [ 142857 ]15. 已知一个正整数的个位数字是7,将7移到该数字的首位,其他数字顺序不变, 则所得到的新数恰好是原数的7倍,编程找出满足上述要求的最小的自然数. [ 1014492753623188405797 ]16. 一辆以固定速度行驶得汽车,司机从里程表上看到的数字是一个回文数95859,七小时后,里程表上又出现了一个新的回文数,问此车的时速是多少(整数)?这个新的回文数是什么?(设里程表是一个五位数) [ 30,96069 ; 130,96769 ] 17. 把123456789这个数乘以一个什么数,能使它的结果不但不含零,而且仍然是由1,2,3,4,5,6,7,8,9这九个数字组成的,只是顺序不同而已.[123456789*2=246913578 ;123456789*4=493827156 ;123456789*5=617283945123456789*7=864197532 ;123456789*8=987654312 ]18. 验证:任意一个大于9的整数减去它的各位数字之和所得的差,一定能被9整除.19. 数字台阶:在第一级台阶随意填写一个四位数,按照图例的要求填写数字,上到第11级台阶.要求(1)每一级台阶数字的后三位为上一级台阶数字的前三位;(2)每一级台阶的数字都要求是四位数;(3)每一级台阶数字的个位数字为新填的;(4)每一级台阶数字都能被台阶数整除;(5)最后按从上至下为第11级至第1级的顺序打印,并且相同的数字上下对齐;举例如下:当第一级填写1234后,按下面的格式打印(括号内的说明不打印): NO:11- 2706 (能被11整除)NO:10- 7270 (能被10整除)NO:9- 2727 (能被9整除)NO:8- 5272 (能被8整除)NO:7- 2527 (能被7整除)NO:6- 3252 (能被6整除)NO:5- 2325 (能被5整除)NO:4- 4232 (能被4整除)NO:3- 3423 (能被3整除)NO:2- 2342 (能被2整除)NO:1- 1234 (随意填写)20. 司机小王在汽车行驶的某一时刻,看到了里程表上看到的数字是一个对称数26962,两小数后,里程表上又出现了一个新的对称数,求这辆汽车的行驶速度及新的对称数. [ 55, 27072 ]21. 一个自然数是它各位数字之和的17倍,求这个自然数. [ 153 ]22. 一个两位数,各位数字之和的5倍比原数大10,求这个两位数. [ 25 ]23. 如果一个自然数的数字之积加上这些数字之和,正好等于这个自然数,我们称这样的自然数为"巧数",求100以内的所有巧数.[ 19, 29, 39, 49, 59, 69, 79, 89, 99 ]24. 有一个五位数是一个四位数的2倍,而且它们的九个数字是由1--9这九个互不相同的数字组成,求这样的数都有哪些?25. 用1--9这九个数字不许重复拼凑成五个自然数,使第二个是第一个的2倍,第三个是第一个的3倍,第四个是第一个的4倍,使第五个是第一个的5倍.[ 9, 18, 27, 36, 45 ]26. 一个两位素数是P,若P+6,P+10仍都是两位素数,问P的值最大是几? [ 73 ]27. 如果一个回文数可以分解为一个二位回文素数和一个三位回文素数的乘积, 则称这个数为奇异回文数,求出所有的四位奇异回文数.[ 11*101=1111, 11*131=1441, 11*151=1661, 11*181=1991, 11*313=3443, 11*353=3883, 11*727=7997 ]28. 有四个三位素数,它们都是由相同的数字组成的,求出所有这样的三位素数.[ 149 419 491 941, 179 197 719 971, 379 397 739 937 ] 29. 如果两个素数之差为2,这样的两个素数就叫作"孪生数",找出100以内的所有"孪生数". [ 3 5, 5 7, 11 13, 17 19, 29 31, 41 43, 59 61, 71 73 ]30. 用筛选法制造一个200以内的素数表的方法如下:保留最小素数2,然后把200以内2的倍数全部筛去;再保留素数3,然后把200以内3的倍数全部筛去;以此类推,求出200以内的素数来. [ 共46 个]31. 四个连续奇数的最小公倍数是6435,求这四个数. [ 9,11,13,15 ]32. 键盘输入X,输出所有符合1/X=1/A+1/B的埃及分数式.33. 键盘输入两个数,编程用辗转相除法求出它们的最大公约数. [辗转相除法的原理:两个数相除,把它们的余数作为下一步的除数,把它们的除数作为下一步的被除数,直到余数为零时,最后一步的除数就是他们的最大公约数.]34.找出三个三位的平方数数中,由相同数字组成的四个素数都有哪些组?[ 149,419,491,941; 179,197,719,971; 379,397,739,937 ]35. 键盘输入自然数N,输出N个(或N个以上)最小连续的合数.36. 两个两位素数之和是66,求出所有这样的两个两位素数.[ 13,53 ; 19,47 ; 23,43 ; 29,37 ] 37. 下面算式的O中的每一个数字都是素数,把这个算式按竖式的格式打印出来.OOO 例如: 775* OO * 33_________ _________OOOO 2325OOOO 2325_________ _________OOOOO 2557538. 四个连续奇数的最小公倍数是6435,求这四个数. [ 9,11,13,15 ]39. 一个四位完全平方数,它减去一个每位数字都相同的四位数(如:1111)后,仍是一个四位完全平方数,请编程打印出所有这样的四位数.[ 3136(56^2)-1111=2025(45^2) ; 4489(67^2)-3333=1156(56^2) ]40. 找出1--100之间的全部同构数,所谓同构数是指这样一个数,它出现在它的平方数的右端,例如5的平方数是25,5是25中右端的数,5就是同构数.[ 1,1 ; 5,25 ; 6,36 ; 25,625 ; 76,5776 ]41. 将1--9这九个数字组成三个三位平方数.[ 361(19^2) ; 529(23^2) ; 784(28^2) ] 42. 从键盘输入一个三位自然数,其各位数字的立方和仍为一个自然数,然后再对新数求各位数字的立方和,如此一直继续下去,判断最后能否得到一个固定值?如能得到一个固定值,则打印出上述运算过程;如超过1000次还没有得到固定值,则打印"NOT!"43. 把任意一个正整数分解成至多四个正整数的平方和.44. 编程找出所有不含数字零的六位平方数,且平方数中至少有三个同样的数字例如: 972^2=944784 [ 共76个] 45. 今有四个人,他们得年龄各不相同,他们年龄总和是129,而其中有三个人的年龄是平方数,若倒退15年,这四人中仍有三个人的年龄是平方数,求他们各自的年龄[ 16, 24, 25, 64 ]46. 一个四位数,它等于它的四个数字之和的四次方,求这个四位数.[ 2401 ]47. 编程找出六位平方数,而且它的前三位数与后三位数都是平方数.[ 144400 ; 225625 ; 324900 ]48. 左右对称的数叫做回文数,编程找出3--6位的平方回文数.[ 121,484,676,10201,12321,14641,40804,44944,69696,94249 ,698896 ] 49. 有一个四位平方数,前两位数字相等,后两位数字相等,求此数. [ 7744 ]50. 有一个四位平方数,它的千位数字与十位数字之和等于百位数字与个位数字之积,求出所有满足上述条件的四位平方数.[ 34^2=1156, 56^2=3136, 89^2=7921 ]51. 编程找出所有各数字重新排列成连续自然数的三位与四位平方数.[ 18^2=324, 24^2=576, 66^2=4356, 74^2=5476 ]52. 四个连续的自然数之积为3024,求这四个自然数. [ 6,7,8,9 ]53. 一个五位数,若在它的后面写上一个7,得到一个六位数A,若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此五位数. [ 14285 ] 54. 有一个六位数,其个位数字是7,现将个位数字移到首位,而其余各位数字不变,均后退一位,得到一个新的六位数,如果新的六位数是原六位数的四倍,求原来的六位数. [ 179487 ]55.一个自然数的个位数字是6,如果把这个位数字移到首位,所得到的数是原数的4倍,求这个自然数. [ 153846 ]56. 某数的末位数字是2,将2移到首位,所得到的新数正好是原数的2倍,求满足条件的最小数. [ 105263157894736842 ] 57. 有一个六位数,第一位是1,如果把它移到个位,新的六位数正好是原数的三倍,求原来的六位数. [ 142857 ] 58. 一自然数如6,它所有的约数的倒数之和等于2,即6的约数1,2,3,6其倒数和1/1+1/2+1/3+1/6=2,这个数就叫做"完全数",完全数的另一个性质是除它自身外的所有约数之和与这个数完全相等,即1+2+3=6,求1000以内的完全数.[ 6, 28, 496 ] 59. 如果甲数的全部真因数之和等于乙数,而乙数的全部真因数之和又等于甲数,则甲数和乙数,是一对"友好数"(48,75与75,48算一对"友好数"),编程打印五对"友好数"来. [ 48,75 ; 140,195 ; 1050,1925 ; 1575,1648 ; 2024,2295 ]60. 自然数11431是M至N各连续自然数连加的和,求: (1) M为最小的M与N 的值; (2)M与N之差最小的M与N的值. [ 10,151 ; 5715,5716 ]61.找出160以内6个成等差数列的素数. [ 7,37,67,97,127,157 ]62. 找出首尾相同的四位数,从中间分开,左边两数码组成一个完全平方数,四个数码之和又是一个完全平方数,编程求出这样的四位数.[ 1611, 1681, 2502, 2572, 3643, 4984, 6406, 6496, 8188 ] 63. 一个合数,去掉它的首位数字或末位数字,剩下的数仍是合数;再连续的去掉首位数字或末位数字最后留下来的数仍是合数,我们把这样的数叫做"绝对合数", 例如:446,(46,44,4,6)就是"绝对合数", 求出所有三位的"绝对合数" [ 共56个] 64. 用3,4,5,6,7,8这六个数字分别构成两个三位数,使它们的乘积最大.[ 853*764=651692 ] 65. 用1--9这九个数字组成三个三位数,每个数字只用一次,使这三个三位数相乘的乘积最大. [ 941, 852, 763 ] 66. 把33,51,65,77,85,91六个数分为两组,每组三个数,使两组的乘积相等.[ 33*85*91=77*51*65 ] 67. 有一个数字各不相同的三位数,如果将次三个数字重新排列,必可得到一个最大数和一个最小数,若此两数之差正好就是原来的三位数,求这个三位数. [ 495 ] 68. 从0--9999的整数中,各数字码各出现了多少次?[ 0:2890 , 1--9:4000 ]。

循环练习题

循环练习题

第三部分循环结构一、基础题【1】有以下程序段:int k,j,s;for ( k=2; k<6; k++,k++){ s =1;for (j=k;j<6;j++)s +=j;}printf(“%d \n”,s);程序段的输出结果是(A)9 (B)1 (C)11 (D)10 【2】有以下程序段:int i,j,m;for( i=1;i<=15;i+=4)for(j=3;j<=19;j+=4) m++;printf(“%d \n”,m);程序段的输出结果是(A)12 (B)15 (C)20 (D)25 【3】有以下程序段:int n =10;while (n>7){ n--;printf(“%d \n”,n);}程序段的输出结果是(A)10 (B)9 (C)10 (D)99 8 9 88 7 8 77 6【4】有以下程序段:int x=3;do{printf(“%3d”, x-=2);}while(! (--x));程序段的输出结果是(A)1 (B)30 (C)1 -2 (D)死循环【5】有以下程序段:#include <stdio.h>min(){int i,sum;for( i =1;i<6;i++) sum +=sum;printf(“%d\n”,sum);} 程序段的输出结果是(A)15 (B)14 (C)不确定(D)0【6】有以下程序段:#include <stdio.h>min(){int y=10;for ( ; y>0; y--)if( y%3= = 0){printf(“%d”,--y); continue;}程序段的输出结果是(A)741 (B)852 (C)963 (D)875421 【7】有以下程序段:int x;for (x =3; x<6 ; x++)printf((x%2)?(“**%d”):(“##%d \n”) , x );程序段的输出结果是(A)**3 (B)##3 (C)##3 (D)**3##4##4 **4 **4##5 **5**5 ##5【8】有以下程序段:#include<stdio.h>Main(){ int i;For( i=1;i<=5;i++){ if(i%2) printf(“*”);Else continue;Printf(“#”);}Printf(“$\n”);}程序段的输出结果是(A)*#*#*#$ (B)#*#*#*$(C)*#*#$ (D)#*#*$【9】以下叙述中正确的是()(A)do-while语句构成的循环不能用其他语句构成的循环来代替 (B) do-while 语句构成的循环只能用break 语句退出 (C) 用do-while 语句构成循环时,只有在while 后的表达式为非零时结束循环(D) 用do-while 语句构成循环时,只有在while 后的表达式为零时结束循环 【10】以下程序的输出结果是#include<stdio.h> main() { int x=2; while(x--); printf(“%d \n”,x); } 【11】以下程序的输出结果是 int i = 0, sum =i ; do {sum+=i++;}while (i<5); printf(“%d \n”,sum); 答案:1.D; 2.C; 3.D; 4.C; 5.C; 6.B; 7.D 8.A; 9.B 10.-1 11.10. 二、提高题 【1】设x 和y 均为int 型变量则执行下面的循环后,y 的值为 。

C语言循环习题1

C语言循环习题1

循环习题集锦一.选择题1.for(i=0;i<10;i++);结束后,i的值是;A 9B 10C 11D 122.下面程序的循环次数是:#include<stdio。

h>void main(){int k=0;while(k〈10){if(k<1) continue;if(k==5)break;k++;}printf(“k=%d\n”,k);}A. 5 B 6 C 4 D 死循环,不能确定循环次数3.下面程序的输出结果是()#include<stdio.h〉void main(){int s,k;for(s=1,k=2;k<5;k++)s=s+k;printf(“%d\n”,s);}A 1B 9C 10D 154.要使下面程序输出10个整数,则在下画线处填入正确的数是:#include〈stdio.h〉void main(){int i;for(i=0;i<= ;)printf(“i=%d\n”,i=i+2);}(显示的是:2,4,6,8,10,12, (20)A 9B 10C 18D 205。

运行下面程序:#include<stdio.h〉void main(){int i=10,j=0;do{j=j+i;/*第一:10,第二:19第三:27第四:34第五:40*/i-—;}while(i>5);printf(“%d\n”,j);}输出结果是:A 45B 40C 34D 556.运行下面程序#include 〈stdio.h〉main(){int k=0,a=1;while(k<10){for(;;){ if((k%10)==0)/*当循环开始的时候时,k=0,此时和10取3余的结果就等于0,就跳出了for循环开始下面的循环*/break;elsek-—;}k=k+11;a=a+k;}printf(“k=%d \n a=%d\n”,k,a);}则输出的结果是()A 21 32B 21 33C 11 12D 10 117.以下叙述正确的是:A.do-—-while语句构成的循环不能用其他语句构成的循环来代替。

C语言循环习题集答案解析

C语言循环习题集答案解析

循环习题集锦一.选择题1.for(i=0;i<10;i++);结束后,i的值是;(10)A 9B 10C 11D 122.下面程序的循环次数是:(D)int k=0;while(k<10){if(k<1) continue;if(k==5) break;k++;}A. 5 B 6 C 4 D 死循环,不能确定循环次数3.下面程序的输出结果是(10)main(){int s,k;for(s=1,k=2;k<5;k++)s+=k;printf(“%d\n”,s);}A 1B 9C 10D 154.要使下面程序输出10个整数,则在下画线处填入正确的数是:(c)for(i=0;i<= ;)printf(“%d\n”,i+=2);A 9B 10C 18D 205.运行下面程序:(B)main(){ int i=10,j=0;do{ j=j+i;i--;}while(i>5);printf(“%d\n”,j);}输出结果是:A 45B 40C 34D 55 6.运行下面程序#include “stdio.h”main(){ int k=0,a=1;while(k<10){for( ; ;){ if((k%10)==0)break;elsek--;}k+=11;a+=k;}printf(“%d %d\n”,k,a);}则输出的结果是(C)A 21 32B 21 33C 11 12D 10 117.以下叙述正确的是:(D)A.do---while语句构成的循环不能用其他语句构成的循环来代替。

B.do---while语句构成的循环只能用break语句退出。

C.用do---while语句构成的循环,在while 后的表达式为非零时结束循环。

D.用do---while语句构成的循环,在while后的表达式为零时结束循环。

8.有如下程序:main(){ int x=3;do{printf(“%d”,x--);}while(!x);}该程序的执行结果是:(C)A 3 2 1B 2 1 0C 3D 29.若k为整型变量,则下面while循环执行的次数为:(A)k=10;while(k==0) k=k-1;A 0B 1C 10 D无限次10.下面有关for循环的正确描述是(D)A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体。

第五章循环练习题2012

第五章循环练习题2012

循环练习题一.选择题1.C语言中while和do-while循环的主要区别是()。

A.do-while的循环体至少无条件执行一次B.while的循环控制条件比do–while的循环控制条件严格C.do-while允许从外部转到循环体内D.do-while的循环体不能是复合语句2.以下描述中正确的是()。

A.由于do -while循环中循环语句中只能是一条可执行语句,所以循环体内不能使用复合语句。

B.do-while循环由do开始,且while结束,在while(表达式)后面不能写分号。

C.在do-while循环体中,一定要有能使while后面表达式的值变为零(“假”)的操作。

D.do-while循环中,根据情况可以省略while3.下面有关for循环的正确描述是()。

A.for循环只能用于循环次数已经确定的情况B.for 循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体D.for循环的循环体语句中,可以包含多条语句,但必须花括号括起来4.对for(表达式1; ; 表达式3)可理解为()。

A.for(表达式1;0;表达式3)B.for(表达式1;1;表达式3)C.for(表达式1;表达式1;表达式3)D.for(表达式1;表达式3;表达式3)5.以下叙述正确的是:()。

A.do---while语句构成的循环不能用其他语句构成的循环来代替。

B.do---while语句构成的循环只能用break语句退出。

C.用do---while语句构成的循环,在while 后的表达式为非零时结束循环。

D.用do---while语句构成的循环,在while后的表达式为零时结束循环。

6.for(i=0;i<10;i++);结束后,i的值是()。

A. 9B. 10C. 11D. 127.下面程序的循环次数是()。

int k=0;while(k<10){if(k<1) continue;if(k==5) break;k++;}A. 5B. 6C. 4D. 死循环,不能确定循环次数8.以下for循环的次数是()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

循环语句习题选1. 一个自然数与3的和是5的倍数,与3的差是6的倍数,这个自然数最小是几?[ 27 ]2. 在400--500之间求一个数,它被2除余1,被5除余3,被9除余1,这个数是多少? [ 433 ]3. 一些四位数,百位数字都是3,十位数字都是6,并且它们既能被2整除,又能被3整除,求这样的四位数中最大的和最小的两数各是几? [ 9366, 1362 ]4. 编程求一个四位自然数ABCD,它乘以A后变成DCBA. [ 共10个]5. 编程求出满足以下条件的三位数:它除以11所得的商等于它各位数字之和.[ 198 ]6. 由计算机产生五个互不相同的19到87之间的随机整数(包括19,不包括87),从中找出所有的三个数之和能被3整除的数组,并按如下格式打印出来.例如: 42 24 34 51 5242 + 24 + 51 = 117 = 3 * 39 [ 87年北京市小学组初赛] 7. 某数被80除所得的商,不但是7的倍数,而且用2,3,4,5,6去除余数都是1,求这个自然数. [ 24080 ] 8. 有一种最简真分数,它们的分子与分母的乘积都是140,把所有这样的真分数从小到大打印出来. [ 1/140 ; 4/35 ; 5/28 ; 7/20 ]9. 求把2/7化为小数后,小数点后面1001位数字总和是多少? [ 4505 ]10. 一个五位数,若在它的后面写上一个7,得到一个六位数A,若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此五位数. [ 14285 ] 11. 有一个六位数,其个位数字是7,现将个位数字移到首位,而其余各位数字不变,均后退一位,得到一个新的六位数,如果新的六位数是原六位数的四倍,求原来的六位数. [179487 ]12.一个自然数的个位数字是6,如果把这个位数字移到首位,所得到的数是原数的4倍,求这个自然数. [ 153846 ]13. 某数的末位数字是2,将2移到首位,所得到的新数正好是原数的2倍,求满足条件的最小数. [ 105263157894736842 ] 14. 有一个六位数,第一位是1,如果把它移到个位,新的六位数正好是原数的三倍,求原来的六位数. [ 142857 ]15. 已知一个正整数的个位数字是7,将7移到该数字的首位,其他数字顺序不变, 则所得到的新数恰好是原数的7倍,编程找出满足上述要求的最小的自然数. [ 1014492753623188405797 ]16. 一辆以固定速度行驶得汽车,司机从里程表上看到的数字是一个回文数95859,七小时后,里程表上又出现了一个新的回文数,问此车的时速是多少(整数)?这个新的回文数是什么?(设里程表是一个五位数) [ 30,96069 ; 130,96769 ] 17. 把123456789这个数乘以一个什么数,能使它的结果不但不含零,而且仍然是由1,2,3,4,5,6,7,8,9这九个数字组成的,只是顺序不同而已.[123456789*2=246913578 ;123456789*4=493827156 ;123456789*5=617283945123456789*7=864197532 ;123456789*8=987654312 ]18. 验证:任意一个大于9的整数减去它的各位数字之和所得的差,一定能被9整除.19. 数字台阶:在第一级台阶随意填写一个四位数,按照图例的要求填写数字,上到第11级台阶.要求(1)每一级台阶数字的后三位为上一级台阶数字的前三位;(2)每一级台阶的数字都要求是四位数;(3)每一级台阶数字的个位数字为新填的;(4)每一级台阶数字都能被台阶数整除;(5)最后按从上至下为第11级至第1级的顺序打印,并且相同的数字上下对齐;举例如下:当第一级填写1234后,按下面的格式打印(括号内的说明不打印): NO:11- 2706 (能被11整除)NO:10- 7270 (能被10整除)NO:9- 2727 (能被9整除)NO:8- 5272 (能被8整除)NO:7- 2527 (能被7整除)NO:6- 3252 (能被6整除)NO:5- 2325 (能被5整除)NO:4- 4232 (能被4整除)NO:3- 3423 (能被3整除)NO:2- 2342 (能被2整除)NO:1- 1234 (随意填写)20. 司机小王在汽车行驶的某一时刻,看到了里程表上看到的数字是一个对称数26962,两小数后,里程表上又出现了一个新的对称数,求这辆汽车的行驶速度及新的对称数. [ 55, 27072 ]21. 一个自然数是它各位数字之和的17倍,求这个自然数. [ 153 ]22. 一个两位数,各位数字之和的5倍比原数大10,求这个两位数. [ 25 ]23. 如果一个自然数的数字之积加上这些数字之和,正好等于这个自然数,我们称这样的自然数为"巧数",求100以内的所有巧数.[ 19, 29, 39, 49, 59, 69, 79, 89, 99 ]24. 有一个五位数是一个四位数的2倍,而且它们的九个数字是由1--9这九个互不相同的数字组成,求这样的数都有哪些?25. 用1--9这九个数字不许重复拼凑成五个自然数,使第二个是第一个的2倍,第三个是第一个的3倍,第四个是第一个的4倍,使第五个是第一个的5倍.[ 9, 18, 27, 36, 45 ]26. 一个两位素数是P,若P+6,P+10仍都是两位素数,问P的值最大是几? [ 73 ]27. 如果一个回文数可以分解为一个二位回文素数和一个三位回文素数的乘积, 则称这个数为奇异回文数,求出所有的四位奇异回文数.[ 11*101=1111, 11*131=1441, 11*151=1661, 11*181=1991, 11*313=3443, 11*353=3883, 11*727=7997 ]28. 有四个三位素数,它们都是由相同的数字组成的,求出所有这样的三位素数.[ 149 419 491 941, 179 197 719 971, 379 397 739 937 ] 29. 如果两个素数之差为2,这样的两个素数就叫作"孪生数",找出100以内的所有"孪生数". [ 3 5, 5 7, 11 13, 17 19, 29 31, 41 43, 59 61, 71 73 ]30. 用筛选法制造一个200以内的素数表的方法如下:保留最小素数2,然后把200以内2的倍数全部筛去;再保留素数3,然后把200以内3的倍数全部筛去;以此类推,求出200以内的素数来. [ 共46 个]31. 四个连续奇数的最小公倍数是6435,求这四个数. [ 9,11,13,15 ]32. 键盘输入X,输出所有符合1/X=1/A+1/B的埃及分数式.33. 键盘输入两个数,编程用辗转相除法求出它们的最大公约数. [辗转相除法的原理:两个数相除,把它们的余数作为下一步的除数,把它们的除数作为下一步的被除数,直到余数为零时,最后一步的除数就是他们的最大公约数.]34.找出三个三位的平方数数中,由相同数字组成的四个素数都有哪些组?[ 149,419,491,941; 179,197,719,971; 379,397,739,937 ]35. 键盘输入自然数N,输出N个(或N个以上)最小连续的合数.36. 两个两位素数之和是66,求出所有这样的两个两位素数.[ 13,53 ; 19,47 ; 23,43 ; 29,37 ] 37. 下面算式的O中的每一个数字都是素数,把这个算式按竖式的格式打印出来.OOO 例如: 775* OO * 33_________ _________OOOO 2325OOOO 2325_________ _________OOOOO 2557538. 四个连续奇数的最小公倍数是6435,求这四个数. [ 9,11,13,15 ]39. 一个四位完全平方数,它减去一个每位数字都相同的四位数(如:1111)后,仍是一个四位完全平方数,请编程打印出所有这样的四位数.[ 3136(56^2)-1111=2025(45^2) ; 4489(67^2)-3333=1156(56^2) ]40. 找出1--100之间的全部同构数,所谓同构数是指这样一个数,它出现在它的平方数的右端,例如5的平方数是25,5是25中右端的数,5就是同构数.[ 1,1 ; 5,25 ; 6,36 ; 25,625 ; 76,5776 ]41. 将1--9这九个数字组成三个三位平方数.[ 361(19^2) ; 529(23^2) ; 784(28^2) ] 42. 从键盘输入一个三位自然数,其各位数字的立方和仍为一个自然数,然后再对新数求各位数字的立方和,如此一直继续下去,判断最后能否得到一个固定值?如能得到一个固定值,则打印出上述运算过程;如超过1000次还没有得到固定值,则打印"NOT!"43. 把任意一个正整数分解成至多四个正整数的平方和.44. 编程找出所有不含数字零的六位平方数,且平方数中至少有三个同样的数字例如: 972^2=944784 [ 共76个] 45. 今有四个人,他们得年龄各不相同,他们年龄总和是129,而其中有三个人的年龄是平方数,若倒退15年,这四人中仍有三个人的年龄是平方数,求他们各自的年龄[ 16, 24, 25, 64 ]46. 一个四位数,它等于它的四个数字之和的四次方,求这个四位数. [ 2401 ]47. 编程找出六位平方数,而且它的前三位数与后三位数都是平方数.[ 144400 ; 225625 ; 324900 ]48. 左右对称的数叫做回文数,编程找出3--6位的平方回文数.[ 121,484,676,10201,12321,14641,40804,44944,69696,94249,698896 ] 49. 有一个四位平方数,前两位数字相等,后两位数字相等,求此数. [ 7744 ]50. 有一个四位平方数,它的千位数字与十位数字之和等于百位数字与个位数字之积,求出所有满足上述条件的四位平方数.[ 34^2=1156, 56^2=3136, 89^2=7921 ]51. 编程找出所有各数字重新排列成连续自然数的三位与四位平方数.[ 18^2=324, 24^2=576, 66^2=4356, 74^2=5476 ]52. 四个连续的自然数之积为3024,求这四个自然数. [ 6,7,8,9 ]53. 一个五位数,若在它的后面写上一个7,得到一个六位数A,若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此五位数. [ 14285 ] 54. 有一个六位数,其个位数字是7,现将个位数字移到首位,而其余各位数字不变,均后退一位,得到一个新的六位数,如果新的六位数是原六位数的四倍,求原来的六位数. [ 179487 ]55.一个自然数的个位数字是6,如果把这个位数字移到首位,所得到的数是原数的4倍,求这个自然数. [ 153846 ]56. 某数的末位数字是2,将2移到首位,所得到的新数正好是原数的2倍,求满足条件的最小数. [ 105263157894736842 ] 57. 有一个六位数,第一位是1,如果把它移到个位,新的六位数正好是原数的三倍,求原来的六位数. [ 142857 ] 58. 一自然数如6,它所有的约数的倒数之和等于2,即6的约数1,2,3,6其倒数和1/1+1/2+1/3+1/6=2,这个数就叫做"完全数",完全数的另一个性质是除它自身外的所有约数之和与这个数完全相等,即1+2+3=6,求1000以内的完全数.[ 6, 28, 496 ] 59. 如果甲数的全部真因数之和等于乙数,而乙数的全部真因数之和又等于甲数,则甲数和乙数,是一对"友好数"(48,75与75,48算一对"友好数"),编程打印五对"友好数"来. [ 48,75 ; 140,195 ; 1050,1925 ; 1575,1648 ; 2024,2295 ]60. 自然数11431是M至N各连续自然数连加的和,求: (1) M为最小的M与N 的值; (2)M与N之差最小的M与N的值. [ 10,151 ; 5715,5716 ]61.找出160以内6个成等差数列的素数. [ 7,37,67,97,127,157 ]62. 找出首尾相同的四位数,从中间分开,左边两数码组成一个完全平方数,四个数码之和又是一个完全平方数,编程求出这样的四位数.[ 1611, 1681, 2502, 2572, 3643, 4984, 6406, 6496, 8188 ] 63. 一个合数,去掉它的首位数字或末位数字,剩下的数仍是合数;再连续的去掉首位数字或末位数字最后留下来的数仍是合数,我们把这样的数叫做"绝对合数", 例如:446,(46,44,4,6)就是"绝对合数", 求出所有三位的"绝对合数" [ 共56个] 64. 用3,4,5,6,7,8这六个数字分别构成两个三位数,使它们的乘积最大.[ 853*764=651692 ] 65. 用1--9这九个数字组成三个三位数,每个数字只用一次,使这三个三位数相乘的乘积最大. [ 941, 852, 763 ] 66. 把33,51,65,77,85,91六个数分为两组,每组三个数,使两组的乘积相等.[ 33*85*91=77*51*65 ] 67. 有一个数字各不相同的三位数,如果将次三个数字重新排列,必可得到一个最大数和一个最小数,若此两数之差正好就是原来的三位数,求这个三位数. [ 495 ] 68. 从0--9999的整数中,各数字码各出现了多少次?[ 0:2890 , 1--9:4000 ]。

相关文档
最新文档