C语言循环例题

合集下载

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语言循环章节练习题(部分答案)

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.//输出a和b之间的所有素数, 10个素数为一行输出#include<stdio.h>#include<stdlib.h>#include<math.h>int panDuanSuShu(int x) //判断x是否是素数{int i,m,flag; //flag为1表示是素数,flag为0表示不是素数 m=(int)sqrt(x);if(x==2){ flag=1;}else{for(i=2;i<=m;i++){if(x%i==0){flag=0;break;}}if(i>m){ flag=1; }}return flag;}int shuChuSuShu(int a,int b){int i,k=0;//i是循环变量,k表示已经输出了k个素数for(i=a;i<=b;i++){if(panDuanSuShu(i)==1){printf("%6d",i);k++;if(k%10==0){ printf("\n");}}}printf("\n");return k;}int main(){int a,b,t;while(a<2||b<2){printf("重新输入n和m:");scanf("%d%d",&a,&b);}if(a>b){ t=a;a=b;b=t; }printf("%d和%d之间共有%d个素数",a,b,shuChuSuShu(a,b));printf("\n\n");return 0;}2.//用户输入2个数,输出这2个数之间所有的超素数//超素数(质数)的概念:7193是素数,719是素数,71是素数,7是素数,则7193是素数#include<stdio.h>#include<stdlib.h>#include<math.h>int isPrime(int n)//判断某数是否是素数{int i,f,m=(int)sqrt(n);if(n==1) f=0;else{for(i=2;i<=m;i++){if(n%i==0)break;}if(i>m) f=1;else f=0;}return f;}int supperPrime(int n)//判断某数是否是超素数{int t=n;while(t>0){if(isPrime(t)==1)t=t/10;elsebreak;}}void printSupperPrime(int a,int b)//输出a到b之间所有的超素数{int i,m=0;for(i=a;i<=b;i++){if(supperPrime(i)){ printf("%8d",i);m++;if(m%5==0)printf("\n");}}printf("\n");}int main(){int a,b,t;printf("input a,b:");scanf("%d%d",&a,&b);while(a<2 || b<2){printf("input a,b:");scanf("%d%d",&a,&b);}if(a>b) {t=a;a=b;b=t;}printSupperPrime(a,b);printf("\n");//system("pause");return 0;}3.//满足a*a+b*b==c*c的a,b,c三个数,称为勾股数//编程输出100以内的所有勾股数#include<stdio.h>#include<stdlib.h>int gouGuShu(){int x=0;for(int a=1;a<=100;a++)for(int b=a;b<=100;b++)for(int c=b;c<=100;c++)if(x%4==0)printf("\n");printf("%4d%4d%4d ",a,b,c);x++;}return x;}int main(){printf("\n\n 100以内的勾股数共有:%d个。

c语言循环语句例题

c语言循环语句例题

c语言循环语句例题以下是一些关于C语言循环语句的例题:1. 请编写一个程序,利用for循环计算1到10的累加和。

```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 10; i++) {sum += i;}printf("1到10的累加和为:%d\n", sum);return 0;}```2. 请编写一个程序,利用while循环求出用户输入的正整数的阶乘。

```c#include <stdio.h>int main() {int n, fact = 1;printf("请输入一个正整数:");scanf("%d", &n);int i = 1;while (i <= n) {fact *= i;i++;}printf("%d的阶乘为:%d\n", n, fact);return 0;}```3. 请编写一个程序,利用do-while循环输出1到10之间的所有偶数。

```c#include <stdio.h>int main() {int i = 1;do {if (i % 2 == 0) {printf("%d ", i);}i++;} while (i <= 10);printf("\n");return 0;}```4. 请编写一个程序,利用嵌套循环输出如下图案:```***************``````c#include <stdio.h>int main() {int rows = 5;for (int i = 1; i <= rows; i++) {for (int j = 1; j <= i; j++) {printf("*");}printf("\n");}return 0;}```这些例题涵盖了for、while、do-while等不同类型的循环语句,希望能对您的学习有所帮助!。

C 循环结构23道题[含答案解析]

C  循环结构23道题[含答案解析]

题目、描述、输入、输出、输入样例、输出样例、测试输入、测试输出循环01:最大数写一个程序,可以输入一批正数,输入0时结束循环,并且输出最大的正数。

输入39 28 5 63 18 27 0输出63测试:输入153 26 963 28 75 90 156 0输出963#include<iostream>using namespace std;int main(){int i,max=0;cin>>i;while(i!=0){if(i>max)max=i;cin>>i;}cout<<max<<endl;return 0;}循环02:素数输入正数n,判断n是否为素数。

若为素数则输出1,否则输出0。

(提示:素数是指只可以被1和其本身整除的正数(1除外))输入10输出0输入7输出1测试:输入9输出0#include<iostream>using namespace std;int main(){int n,i,d;cin>>n;for(i=2;i<n;i++){d=n%i;if(n%i==0)break;}if(n==i)cout<<"1"<<endl;elsecout<<"0"<<endl;return 0;}循环03:数列求和输入一个正整数n,计算前n项之和:1+1/4+1/7+1/10..+1/(3*n-2)。

输入5输出1.56978输入4输出1.49286#include<iostream>using namespace std;int main(){int i,n;double s=0;cin>>n;for(i=1;i<=n;i++)s+=1.0/(3*i-2);cout<<s<<endl;return 0;}循环04:西瓜卖几天n个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?说明:当西瓜个数为奇数时,卖一半为一半的整数,如当西瓜个数为5时,卖一半为卖2个。

C语言循环结构练习题带答案.doc

C语言循环结构练习题带答案.doc

第 5 章循环结构程序设计练习题1.单项选择题( 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__。

while (a){if (b) continue;c;}A.while (a)B.while (c){ if (!b) c; }{ if (!b) break; c; }C. while (c)D. while (a){ if (b) c; }{ if (b) break; c; }( 8)以下程序的输出结果是_B___。

C语言循环例题

1、// 输出 a 与 b 之间的所有素数, 10 个素数为一行输出#include<stdio 、h>#include<stdlib 、h>#include<math 、h>int panDuanSuShu(int x) // 判断x 就是否就是素数{int i,m,flag; //flag 为 1 表示就是素数,flag 为0 表示不就是素数m=(int)sqrt(x);if(x==2){ flag=1;}else{for(i=2;i<=m;i++){if(x%i==0){flag=0; break;}}if(i>m){ flag=1; }}return flag;}int shuChuSuShu(int a,int b){int i,k=0;//i 就是循环变量,k 表示已经输出了k 个素数for(i=a;i<=b;i++){if(panDuanSuShu(i)==1){ printf("%6d",i); k++; if(k%10==0) { printf("\n");}}}printf("\n");return k;}int main(){int a,b,t;printf(" 输入 a 与b, 以便求 a 与 b 之间的所有素数\n"); scanf("%d%d",&a,&b);while(a<2||b<2){printf(" 重新输入n 与m:"); scanf("%d%d",&a,&b);}if(a>b){ t=a;a=b;b=t; }printf("%d 与%d之间共有%d个素数",a,b,shuChuSuShu(a,b));printf("\n\n");return 0;}2、// 用户输入2个数, 输出这2个数之间所有的超素数// 超素数(质数)的概念:7193 就是素数,719就是素数,71 就是素数,7 就是素数,则7193就是素数#include<stdio 、h>#include<stdlib 、h>#include<math 、h>int isPrime(int n)// 判断某数就是否就是素数{int i,f,m=(int)sqrt(n);if(n==1) f=0;else{ for(i=2;i<=m;i++) {if(n%i==0)break;}if(i>mf=1;else f=0;}return f;}int supperPrime(int n)// 判断某数就是否就是超素数{int t=n;while(t>0){if(isPrime(t)==1) t=t/10;else break;}if(t==0) return 1;else return 0;}void printSupperPrime(int a,int b)//输出a到b之间所有的超素数{int i,m=0; for(i=a;i<=b;i++){ if(supperPrime(i)) { printf("%8d",i);m++; if(m%5==0) printf("\n");}} printf("\n");}int main(){int a,b,t; printf("input a,b:"); scanf("%d%d",&a,&b);while(a<2 || b<2){ printf("input a,b:"); scanf("%d%d",&a,&b);}if(a>b) {t=a;a=b;b=t;} printSupperPrime(a,b);printf("\n");//system("pause");return 0;}3、// 满足a*a+b*b==c*c 的a,b,c 三个数, 称为勾股数// 编程输出100 以内的所有勾股数#include<stdio 、h> #include<stdlib 、h> int gouGuShu(){int x=0;for(int a=1;a<=100;a++) for(int b=a;b<=100;b++)for(int c=b;c<=100;c++) if(a*a+b*b==c*c) {if(x%4==0) printf("\n");printf("%4d%4d%4d ",a,b,c); x++;}int main(){printf("\n\n 100 以内的勾股数共有 :%d 个。

C语言循环结构练习题带答案

第5章循环结构程序设计练习题1. 单项选择题(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__。

while (a){if (b) continue;c;}A. while (a)B. while (c){ if (!b) c; } { if (!b) break; c; }C. while (c)D. while (a){ if (b) c; } { if (b) break; c; }(8)以下程序的输出结果是_B___。

C语言循环设计经典20题

一、求100至200间的全部素数。

二、人口增长预测。

据2005年末统计,我国人口为130756万人,如果人口的年增长率为1%,请计算到哪一年中国总人口超过15亿。

三、输入两个正整数a和b,求其最大公约数和最小公倍数。

四、鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?五、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。

六、求Sn=a+aa+aaa+…+aa…aaa(有n个a)之值,其中a是一个数字。

例如:2+22+222+2222+22222(n=5),n由键盘输入。

七、求1!+2!+3!+4!+5!+ (20)八、打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身。

十、猴子吃桃问题。

猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。

第二天早上又将剩下的桃子吃掉一半,又多吃一个。

以后每天早上都吃了前一天剩下的一半零一个。

到第10天早上想再吃时,见只剩下一个桃子了。

求第一天共摘多少桃子。

十一、打印以下图案** * ** * * * ** * * * * * ** * * * ** * **十二、输入一个班全体学生的成绩,把不及格的学生成绩输出,并求及格学生的平均成绩。

十三、译密码。

为使电文保密,往往按一定规律将其转换成密码,收报人再按约定的规律将其译回原文。

编程将输入的字母变成其后的第4个字母。

十四、用公式计算л的近似值,直到最后一项的绝对值小于1E-6为止。

十五、三对情侣参加婚礼,三个新郞为A、B、C,三个新娘为X、Y、Z。

有人不知道谁和谁结婚,于是询问了六位新人中的三位,但听到的回答是这样的:A说他将和X结婚;X说她的未婚夫是C;C说他将和Z 结婚。

这人听后知道他们在开玩笑,全是假话。

请编程找出谁将和谁结婚。

十六、九九乘法表的设计制作。

十七、有一对兔子,出生后第3个月起每个月都生一对兔子。

C语言循环练习

C语⾔循环练习C语⾔循环语句练习⼀、选择题1、C语⾔中不包含以下哪种循环( ad )。

A. do..while..loopB. do..whileC. forD. do..repeat..until2、以下说法错误的是( cd )。

A. do..while循环可以使⽤while循环替代B. while循环可以使⽤for循环替代C. do..while循环不可以使⽤while循环替代D. for循环不可以使⽤while循环替代3、给定如下代码:j=10;for(i=0,++j;iA.10 B.12C.死循环 D.114、给定如下代码:i=0,j=10;while(iA.10 B.12C.死循环 D.115、关于break和continue说法正确的是:( b )A. break和continue只能⽤于循环中。

B.break和continue可以使⽤在循环以及switch..case中C.break和continue可以使⽤在循环嵌套时,continue总可以跳出整个嵌套循环。

D.break和continue在嵌套循环中只能结束或跳出⾃⼰所在层次的循环。

6、关于for(初始化语句;条件表达式;改变语句)中各个语句说法错误的是( d )A. 初始化语句可以省略B.条件表达式可以省略C.改变语句可以省略D.任意⼀个都不能省略⼆、编程题1、编写⼀个C程序,打印以下图形。

***************int line;for (line = 5; line > 0; line--) {for (int i = 1; i <= line; i++) {printf("* ");}printf("\n");}2、编写⼀个C程序,打印以下图形。

*************************{ for (int i =4;i>=0;i--){for(int j=5;j>i;j--){printf(" ");}for (int m=0;m<2*i+1;m++){printf("*");}printf("\n");}return 0 ;3、编写⼀个C程序,任意输⼊10个数字,使⽤循环进⾏输⼊,最后输出正数之和以及负数之和。

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