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语言_循环

循环for循环1.我国现有x亿人口,按照每年0.1%的增长速度,n年后将有多少人?保留到小数点后四位。

1<=x<=100,1<=n<=100。

2.菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。

给出一个正整数k,要求菲波那契数列中第k个数是多少。

while循环格式1:while(条件表达式)语句1;格式2:while(条件表达式){语句1;语句2;……}说明:在while当中有多条语句时,加上{ }如何理解while循环?口诀:当满足条件实行statement(循环体)。

3.请完成,求两个正整数m、n的最大公约数。

4.求恰好使s=1+1/2+1/3+……1/n大于5时n的值。

分析:"恰好使s的值大于5意思是当表达式s的前n-1项的和小于或等于5,而加上了第n项后s的值大于5。

从数学角度,我们很难计算这个n的值。

故从第一项开始,当s 的值小于或等于5时,就继续将下一项值累加起来。

当s的值超过5时,最后一项的项数即为要求的n。

【思考】①球弹跳高度的计算球从某一高度落下(整数,单位米),每次落地后反跳回原来高度的一半,再落下。

编程计算气球在第10次落地时,共经过多少米? 第10次反弹多高?输出包含两行,第1行:到球第10次落地时,一共经过的米数。

第2行:第10次弹跳的高度。

②角谷猜想所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘3加1,如果是偶数,则除以2,得到的结果再按照上述规则重复处理,最终总能够得到1。

如,假定初始整数为5,计算过程分别为16、8、4、2、1。

程序要求输入一个整数,将经过处理得到1的过程输出来。

do-while循环格式1:do语句1;while(条件表达式);格式2:do{语句1;语句2;……}while(条件表达式);说明:do-while中有多条语句时,加上{ }。

\如何理解do-while循环?对比while循环,do-while先执行一次循环体之后再判断条件,和while一样,当满足条件继续执行。

c语言循环结构上机习题

c语言循环结构上机习题

1、计算n的阶乘(n!),n的取值在1~10之间。

分别使用while、do…while和for 语句实现。

(三个程序)给循环变量赋初值循环条件循环体循环变量的增值2、输入一行字符,分别统计输入了多少个字母、数字、空格和其他字符。

3、假设函数f(x)=3x2+2x+1,试利用for循环语句分别求出1<=x<=9的f(1)~f(9)各函数值。

4、有分数序列2/1,3/2,5/3,8/5,13/8,21/13…求这个数列的前20项和。

(分析提示:每个分子等于前一个数据分子与分母的和,每个分母等于前一个数据的分子)5、输出显示1~100之间可以被n整除的所有整数,运行时n由键盘输入。

要求每一行显示5个数,并且统计一共有多少个整数能被n整除。

6、下面程序的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。

main(){ float x,amax,amin;scanf("%f",&x);amax=x;amin=x;while( ①){ if(x>amax) amax=x;if( ②) amin=x;scanf("%f",&x);}printf("\namax=%f\namin=%f\n",amax,a min);}7、使用循环语句输出以下图形8、有一个数学等式:AB*CD=BA*DC,式中的一个字母代表一位数字,试找出所有符合上述要求的乘积式并打印输出。

8、一百个铜钱买了一百只鸡,其中公鸡一只5钱、母鸡一只3钱,小鸡一钱3只,问一百只鸡中公鸡、母鸡、小鸡各多少)。

分析:这是一个古典数学问题,设一百只鸡中公鸡、母鸡、小鸡分别为x,y,z,问题化为三元一次方程组:100=x*5+y*3+z/3100=x+y+z这里x,y,z为正整数,且z是3的倍数;由于鸡和钱的总数都是100,可以确定x,y,z 的取值范围:1) x的取值范围为1~202) y的取值范围为1~333) z的取值范围为3~99,步长为3对于这个问题我们可以用穷举的方法,遍历x,y,z的所有可能组合,最后得到问题的解。

(完整版)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__。

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语言breakcontinue例题

c语言breakcontinue例题

在C语言中,break 和 continue 是两个控制语句,它们在循环结构(如 for、while、do-while)中起着重要的作用。

1. break 语句:break 语句用于提前结束当前循环。

当程序遇到 break 时,会立即退出当前的循环,并继续执行循环后面的代码。

例题: 找出数组中最大的数并输出。

c复制代码#include<stdio.h>int main() {int arr[] = {5, 2, 9, 1, 5, 6};int n = sizeof(arr) / sizeof(arr[0]);int max = arr[0];for (int i = 1; i < n; i++) {if (arr[i] > max) {max = arr[i];break; // 当找到最大值后,提前结束循环。

}}printf("最大值是:%d\n", max);return0;}2. continue 语句:continue 语句用于跳过当前循环的剩余部分,并开始下一次循环。

当程序遇到 continue 时,会忽略掉本次循环中 continue后面的代码,直接开始下一次循环。

例题: 输出数组中所有的偶数。

c复制代码#include<stdio.h>int main() {int arr[] = {5, 2, 9, 1, 5, 6};int n = sizeof(arr) / sizeof(arr[0]);for (int i = 0; i < n; i++) {if (arr[i] % 2 != 0) { // 如果不是偶数,则跳过本次循环的剩余部分。

continue;}printf("%d ", arr[i]); // 输出偶数。

}printf("\n"); return0;}。

C语言循环嵌套练习题及参考程序

C语言循环嵌套练习题及参考程序

1、使用’*’做一个9行的菱形图案。

输出示例:# include<stdio.h>#include <math.h> //程序中使用了abs()函数#define N (4) //定义符号常量int main( ){int i,j;for(i=-N;i<=N;++i) //控制输出9行{for(j=-N;j<=N;++j) //控制每行输出{if(abs(j)<=N-abs(i)) //abs函数的功能是取绝对值{putchar('*');}else{putchar(' ');}}putchar('\n');}return 0;}2、验证哥德巴赫猜想:任何一个大于等于6的偶数均可表示为两个素数之和。

要求将从键盘输入的一个偶数表示为两个素数之和。

例如:输入:10输出:10=3+7#include<stdio.h>#include<math.h>int main(void){int n,i,j,k,st;printf("输入一个大于等于6的偶数:");scanf("%d",&n);for(i=2;i<=n/2;i++) //从2到n/2逐个判断{st=(int)sqrt(i); //先判断第一个数是否为素数for(j=2;j<=st;j++)if(i%j==0) break;if(j>st) //若第一个数是素数,则判断第二个数是否为素数{k=n-i;st=(int)sqrt(k);for(j=2;j<=st;j++)if(k%j==0) break;if(j>st) //若两个数都为素数,则输出结果printf("%d=%d+%d\n",n,i,k);}}return 0;}3、编程实现百钱买百鸡问题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何?#include<stdio.h>int main(){int x,y,z;for(x=0;x<=20;x++) //鸡翁所有可能取值for(y=0;y<34;y++) //鸡母所有可能取值for(z=0;z<=100;z+=3) //鸡雏所有可能取值if((5*x+3*y+z/3==100)&&(x+y+z==100)){ //如果钱数等于100且鸡数等于100就输出printf("鸡翁:%d\n",x);printf("鸡母:%d\n",y);printf("鸡雏:%d\n",z);}return 0;}4、新建一条铁路线,有15个站,在任何车站都能上下车,编写程序列出所有的车票种类,算出车票种数。

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语言第四份练习题(循环结构)

C语言第四份练习题(循环结构)

一、选择题1. 设有如下程序段,则下面描述正确的是int k=10;while (k=0) k=k-1;A.while循环执行10次B.循环是无限循环C.循环体语句一次也不执行D.循环体语句执行一次2. 下面程序段的运行结果是a=1; b=2; c=2;while(a<b<c) { t=a; a=b; b=t; c--;}pirntf(“%d, %d, %d”,a,b,c);A.1,2,0 B.2,1,0 C.1,2,1 D.2,1,13. 下面程序段的运行结果是。

int n=0;while(n<=2) n++; printf(“%d”,n);A.2 B.3 C.4 D.有语法错误4. 设有如下程序段,则描述正确的是。

t=0;while (printf(“*”)){t++; if(t<3) break;}A.其中循环控制表达式与0等价B.其中循环控制表达式与‘0’等价C.其中循环控制表达式是不合法的D.以上说法都不对5. 下面程序的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对等数时结束循环,请选择填空。

#include<stdio.h>int main(){int a,b,t;scanf("%d%d",&a,&b);while( ){if(a>b) {t=a;a=b;b=t;}printf("%d,%d\n",a,b);scanf("%d%d",&a,&b);}return 0;}A.!a=b B.a!=b C.a==b D.a=b6. 下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n中的较大者,请选择填空。

#include<stdio.h>int main(){int m=0,n=0;char c;while(( )!='\n'){if(c>='a' && c<='z') n++;if(c>='A' && c<='Z') m++;}printf("%d\n",m<n? );return 0;}A.c= =getchar( ) B.getchar( ) C.c=getchar( ) D.scanf(“%c”,c)A.n:m B.m:n C.m:m D.n:n7. 下面程序的功能是将小写字母变成对应大写字母后的第二个字母。

C语言循环设计经典20题

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语言for循环题目经典题

c语言for循环题目经典题

c语言for循环题目经典题下面是搜集的关于C语言for循环的经典例题。

一、求水仙花数问题水仙花数:水仙花数是一个三位数,特点是各个位数的立方和等于该数本身。

//水仙花数是一个三位数,特点是各个位数的立方和等于该数本身。

//例:153=1*1*1+5*5*5+3*3*3#include <stdio.h>int main(){int i,a,b,c;for(i=100;i<=999;i++) //保证范围为三位数{a = i%10; //取变量的个位数b = i/10%10; //取变量的十位数c = i/100; //取变量的百位数if ((a*a*a+b*b*b+c*c*c) == i) printf("%d\n",i);}return 0;}二、求规定范围内的完数问题完数:一个正整数的所有真因子(除了自身以外的约数)的和恰好等于它本身//完数定义:一个正整数的所有真因子(除了自身以外的约数)的和恰好等于它本身//例:6为完数,6的真因子为1,2,3 6=1+2+3#include <stdio.h>int main(){int n,i,j,sum;printf("请输入计算完数终止数:\n");scanf("%d",&n);for (i=1;i<=n;i++){sum=0; //一定要保证每次sum的值都要进行刷新(在循环体内)for (j=1;j<i;j++) //保证小于i,不可等于(完数定义){if (i%j==0) sum+=j;}if (sum==i) printf("%d\n",i);}return 0;}三、求规定范围内质数问题质数:一个大于1的整数只能被1和自己整除//质数:一个大于1的整数只能被1和自己整除#include <stdio.h>int main(){int i,j,k,n;printf("请输入终止范围:");scanf("%d",&n);for (i=2;i<=n;i++){k=1; //借助k的值对是否为质数进行判断,需保证每次k都能刷新for (j=2;j<i;j++) //最小质数是2{if (i%j==0){k=0; //在这期间只要有一个其他数可对该数进行整除,就代表该数不是质数break;}}if (k==1) printf("%d\n",i);}}四、计算阶乘之和正整数的阶乘:是所有小于及等于该数的正整数的积,并且0的阶乘为1。

C语言程序设计(循环)习题与答案

C语言程序设计(循环)习题与答案

一、单选题1、关于下面程序段,正确的是()。

int k=10;while(!k)k--;A.循环体一次也不执行B.死循环C.循环体执行1次D.循环体执行10次正确答案:A2、下面程序的运行结果是( )。

#include <stdio.h>int main( ){int x=3;do{printf("%3d",x-=2);}while(!(--x));return 0;}A.1B.死循环C.1 -2D.10正确答案:C3、已定义int j; 下面程序段的输出结果是()。

for(j=7;j<10;j++)printf("%d",j);A.无结果B.8910C.789D.91011正确答案:C4、下面程序的输出结果是()。

#include <stdio.h>int main( ){int i,j,s=0;for(j=1,i=7;j<=i;j++,i--)s=s+i+j;printf("%d",s);return 0;}A.0B.死循环C.32D.28正确答案:C5、下面程序的输出结果是()。

#include <stdio.h>int main( ){int j,s;for(j=1;j<=7;j++)s=s+j;printf("%d",s);}A.死循环B.0C.不确定D.28正确答案:C6、已定义int j,s; 则下面程序段的输出结果是()。

int j,s;for(j=1,s=0;j<=5;j++)s*=j;printf("%d",s);A.0B.无结果C.120D.死循环正确答案:A7、从循环体内某一层跳出,继续执行循环外的语句是( )。

A.if语句B.break语句C.空语句D.continue语句正确答案:B8、针对for循环语句,for(表达式1;表达式2;表达式3),下列说法正确的是()。

C语言循环结构练习题

C语言循环结构练习题

(1)编写一个程序,求100199********-++-+-Λ之值。

(2)编写一个程序,求s=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的值。

(3)编写一个程序,用户输入一个正整数,把它的各位数字前后颠倒一下,并输出颠倒后的结果。

(4)编写一个程序,求出200到300之间的数,且满足条件:它们三个数字之积为42,三个数字之和为12。

(5)编写一个程序,求出满足下列条件的四位数:该数是个完全平方数,且第一、三位数字之和为10,第二、四位数字之积为12。

(6)编写一个程序,求e 的值。

!1!21!111n e ++++≈Λ (7)编写一个程序,求满足如下条件的最大的n :10003212222≤++++n Λ(8)某人摘下一些桃子,卖掉一半,又吃了一只;第二天卖掉剩下的一半,又吃了一只;第三天、第四天、第五天都如此办理,第六天一看,发现就剩下一只桃子了。

编写一个程序,采用迭代法问某人共摘了多少只桃子。

(9) 输入一批非0数,直到输入0时为止,计算其中奇数的平均值和偶数的乘积。

(东师大,01年)(10)求一组整数中的正数之积与负数之和,直到遇到0时结束。

(东师大,03年)(11)输入一组实数,求前10个正数的平均值。

(东师大,02年)(12)编程求1~200中能被2,3,5除余1的前10个整数。

(东师大,02年)(13)输入100个整数,统计这些数中能被3或5整除数所占的百分比。

(东师大,02年)(14)计算并输出200—600中能被7整除,且至少有一位数字是3的所有数的和。

(东师大,01年)(15)输出1~999中能被5整除,且百位数字是5的所有整数。

(东师大,04年)(16)设N 是一个四位数,它的9倍恰好是其反序数(例如:1234的反序数是4321),求N 值。

(东师大,03年)\(17)有这样一个三位数,该三位数等于其每位数字的阶乘之和,即abc=a !+b !+c !。

(如:145=1!+4!+5!)(东师大,04年)(18)编写程序求出满足下列条件的四位数:该数是个完全平方数;千位、十位数字之和为10,百位、个位数字之积为12。

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;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>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;}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++;}return x;}int main(){printf("\n\n 100以内的勾股数共有:%d个。

循环编程练习(带答案)

循环编程练习(带答案)

循环编程练习1、求100211001+++=∑= n n 的值。

解(while 循环): #include<stdio.h> int main() { int i,s; i=1; s=0;while(i<=100) { s=s+i; i++;}printf("s=%d\n",s);return 0;}另解(do while 循环): #include<stdio.h> int main() { int i,s; i=1; s=0; do {s=s+i;i++;}while(i<=100); printf("s=%d\n",s);return 0;}另解(for 循环): #include<stdio.h> int main() { int i,s; s=0;for(i=0;i<=100;i++){ s=s+i;}printf("s=%d\n",s); return 0;}2、求1021!10⨯⨯⨯= 的值。

解:#include<stdio.h> int main() { int i,s;s=1;for(i=1;i<=10;i++) { s=s*i;}printf("s=%d\n",s); return 0;}3、求∑=101!i i 的值。

解(for 循环): #include<stdio.h> int main() { int i,s,t; s=0; t=1;for(i=1;i<=10;i++) { t=t*i; s=s+t;}printf("s=%d\n",s);return 0;}另解(嵌套for 循环): #include<stdio.h>int main() { int i,j,s,t; s=0;t=1;for(i=1;i<=10;i++) { for(t=1,j=1;j<=i;j++) {t=t*j; }s=s+t;}printf("s=%d\n",s);return 0;}4、求100994321-++-+- 的值。

c语言循环结构上机习题

c语言循环结构上机习题

1、计算n的阶乘(n!),n的取值在1~10之间。

分别使用while、do…while和for语句实现。

(三个程序)给循环变量赋初值循环条件循环体循环变量的增值2、输入一行字符,分别统计输入了多少个字母、数字、空格和其他字符。

3、假设函数f(x)=3x2+2x+1,试利用for循环语句分别求出1<=x<=9的f(1)~f(9)各函数值。

4、有分数序列2/1,3/2,5/3,8/5,13/8,21/13…求这个数列的前20项和。

(分析提示:每个分子等于前一个数据分子与分母的和,每个分母等于前一个数据的分子)5、输出显示1~100之间可以被n整除的所有整数,运行时n由键盘输入。

要求每一行显示5个数,并且统计一共有多少个整数能被n整除。

6、下面程序的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。

main(){ float x,amax,amin;scanf("%f",&x);amax=x;amin=x;while( ①){ if(x>amax) amax=x;if( ②) amin=x;scanf("%f",&x);}printf("\namax=%f\namin=%f\n",amax,amin);}7、使用循环语句输出以下图形8、有一个数学等式:AB*CD=BA*DC,式中的一个字母代表一位数字,试找出所有符合上述要求的乘积式并打印输出。

8、一百个铜钱买了一百只鸡,其中公鸡一只5钱、母鸡一只3钱,小鸡一钱3只,问一百只鸡中公鸡、母鸡、小鸡各多少)。

分析:这是一个古典数学问题,设一百只鸡中公鸡、母鸡、小鸡分别为x,y,z,问题化为三元一次方程组:100=x*5+y*3+z/3100=x+y+z这里x,y,z为正整数,且z是3的倍数;由于鸡和钱的总数都是100,可以确定x,y,z的取值范围:1) x的取值范围为1~202) y的取值范围为1~333) z的取值范围为3~99,步长为3对于这个问题我们可以用穷举的方法,遍历x,y,z 的所有可能组合,最后得到问题的解。

c语言for循环例题

c语言for循环例题

c语言for循环例题C语言for循环例题介绍C语言中的for循环是一种非常常用的循环语句,通过在循环体内重复执行指定次数的操作,可以实现各种功能。

本文将介绍几个常见的C语言for循环例题,帮助读者更好地理解for循环的用法。

例题1:计算1到10的和我们首先看一个简单的例题,要求计算1到10的和。

代码如下:#include <>int main() {int sum = 0;for (int i = 1; i <= 10; i++) {sum += i;}printf("1到10的和为:%d\n", sum);return 0;}运行结果为:1到10的和为:55上述代码中,使用for循环从1到10遍历每个数,并将其累加到变量sum中,最后输出sum的值。

例题2:输出乘法表下面我们来看一个稍微复杂一点的例题,要求输出一个乘法表。

代码如下:#include <>int main() {for (int i = 1; i <= 9; i++) {for (int j = 1; j <= i; j++) {printf("%d * %d = %d\t", j, i, j * i);}printf("\n");}return 0;}运行结果为:1 * 1 = 11 *2 = 2 2 * 2 = 41 * 3 = 32 *3 = 6 3 * 3 = 91 * 4 = 42 * 4 = 83 *4 = 12 4 * 4 = 161 * 5 = 52 * 5 = 103 * 5 = 154 *5 = 20 5 * 5 = 251 * 6 = 62 * 6 = 123 * 6 = 184 * 6 = 245 *6 =30 6 * 6 = 361 * 7 = 72 * 7 = 143 * 7 = 214 * 7 = 285 * 7 = 356 *7 = 42 7 * 7 = 491 * 8 = 82 * 8 = 163 * 8 = 24 4 * 8 = 325 * 8 = 406 * 8 = 487 *8 = 56 8 * 8 = 641 * 9 = 92 * 9 = 183 * 9 = 274 * 9 = 365 * 9 = 456 * 9 = 547 * 9 = 638 *9 = 72 9 * 9 = 81上述代码中,使用嵌套的for循环分别遍历每一行和每一列,计算并输出每个乘法表达式的结果。

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

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个。

\n",gouGuShu());// system("pause");return 0;}4.//有一堆桃子,第一天猴子吃掉桃子的一半又多吃1个,第二天猴子再吃掉桃子的一半又多吃一个//第10天只剩下1个桃子,问最初有多少个桃子#include<stdio.h>#include<stdlib.h>int houZiChiTaoZi(){int day=10,x1,x2=1;while(day>1){x1=(x2+1)*2;x2=x1;day--;}return x1;}int main(){printf("最初桃子有%d个\n",houZiChiTaoZi());//system("pause");return 0;}5.//由用户输入一个年份,再输入该年的元旦是星期几,再输入一个月份,则打印输出该月的日历。

//例如:输入年份是2000年,输入元旦为星期6,输入月份为3,则输出://3月日一二三四五六// 1 2 3 4// 5 6 7 8 9 10 11// 12 13 14 15 16 17 18// 19 20 21 22 23 24 25// 26 27 28 29 30 31#include<stdio.h>int LeepYear(int y)//判断某年是否是闰年{if(y%4==0&&y%100!=0||y%400==0)return 1;elsereturn 0;}int HowManydays(int y,int m)//判断该月有多少天{int thisMonthDays;switch(m){case 1:case 3:case 5:case 7:case 8:case 10:case 12: thisMonthDays=31;break;case 4:case 6:case 9:case 11:thisMonthDays=30;break;case 2: if(LeepYear(y)==1) thisMonthDays=29;else thisMonthDays=28;}return thisMonthDays;}//whichWeek函数判断该月的1号是星期几int whichWeek(int y,int m,int w) //w表示该年的元旦是星期几{int febDay;//存放2月份有多少天int days;//存放该月的1号距离元月1号有多少天int thisWeek;//存放该月的1号是星期几if(LeepYear(y)){ febDay=29;}else{ febDay=28; }switch(m){case 1: days=0;break;case 4: days=2*31+febDay;break;case 5: days=2*31+30+febDay;break;case 6: days=3*31+30+febDay;break;case 7: days=3*31+2*30+febDay;break;case 8: days=4*31+2*30+febDay;break;case 9: days=5*31+2*30+febDay;break;case 10: days=5*31+3*30+febDay;break;case 11:days=6*31+3*30+febDay;break;case 12:days=6*31+4*30+febDay;break;}thisWeek=(days+w)%7;return thisWeek;}//shuChuRiLi函数的功能是输出日历void shuChuRiLi(int year,int month,int week) //week表示该年的元旦是星期几{int ThisMonthDay,ThisWeek,d,i;ThisMonthDay=HowManydays(year,month);//计算这个月有多少天ThisWeek=whichWeek(year,month,week);//计算这个月的1号是星期几printf("\n\n");printf("%4d月日一二三四五六\n",month);printf("%6c",' ');d=1;for(i=0;i<ThisWeek;i++) //输出1号前面的空格printf("%6c",' ');for(i=ThisWeek;i<=6;i++,d++) //输出1号所在的那1行日历printf("%6d",d);while(d<=ThisMonthDay){if(i%7==0){printf("\n");printf("%6c",' ');}printf("%6d",d);d++;i++;}printf("\n\n");}int main(){int year=-20,month=13,week=9;printf("请输入年份:");scanf("%d",&year);}while(month>12||month<1){printf("请输入月份:");scanf("%d",&month);}while(week>7||week<1){printf("该年的元旦是星期几?");scanf("%d",&week);}shuChuRiLi(year,month,week);system("pause");return 0;}6.//输出三种形式的九九乘法口诀表#include<stdio.h>#include<stdlib.h>void chengFaKouJueBiao1(){int i,j;printf(" *|");for(i=1;i<=9;i++)printf("%4d",i);printf("\n");for(i=1;i<=40;i++)printf("-");printf("\n");for(i=1;i<=9;i++){printf("%2d|",i);for(j=1;j<=9;j++){printf("%4d",i*j);}printf("\n");}printf("\n\n");}void chengFaKouJueBiao2(){for(i=1;i<=9;i++)printf("%4d",i);printf("\n");for(i=1;i<=9;i++){printf("%2d",i);for(j=1;j<=i;j++){printf("%4d",i*j);}printf("\n");}printf("\n\n");}void chengFaKouJueBiao3(){int i,j;printf("\n");for(i=1;i<=9;i++){for(j=1;j<=i;j++){printf("%d*%d=%-4d",i,j,i*j);}printf("\n");}printf("\n\n");}int main(){chengFaKouJueBiao1();chengFaKouJueBiao2();chengFaKouJueBiao3();// system("pause");return 0;}7.//用户输入三角形的高度,输出由*构成的三角形。

相关文档
最新文档