C语言程序设计--循环例子

2014年4月11日
C语言程序设计
——基础篇 #include <math.h> #include <stdio.h> int main() { int m, i, k; scanf("%d", &m); k = sqrt(m); for (i=2; i<=k; i++) if (m%i == 0)break; if (i>=k+1) printf("%d is a prime number\n", m); else printf("%d is not a prime number\n", m); return(0); 2014年} 4月11日 C语言程序设计
出错啦!?
请输入成绩:78↙ 成绩78的等级为中等 成绩78的等级为及格 成绩78的等级为不及格
C语言程序设计
——基础篇


在“switch”语句中,“case 常量表达 式”只相当于一个语句标号,表达式的 值和某标号相等则转向该标号执行,但 不能在执行完该标号的语句后自动跳出 整个switch 语句,因此会继续执行所 有后面语句的情况。 为此,C语言提供了一种break语句, 其功能是可以跳出它所在的switch语句。
2014年4月11日
——基础篇
请输入成绩:78↙ 成绩78的等级为中等
C语言程序设计
——基础篇
使用switch语句时还应注意以下几点




switch后面圆括号内表达式的值和case语句中常量表 达式的值,都必须是整型的、枚举型的或字符型的, 不允许是浮点型的。在case后的各常量表达式的值不 能相同。 每个 case 子句既可以是一条语句,也可以是多条语句。 当是多条语句时,不需要用花括号括起来。 各个case子句和default子句的先后顺序可以变动,而 不会影响程序执行结果。 default子句可以省略不用。 多个case 的后面可以共用一组执行语句 。如例 7.1 中 等级为优秀的判断程序可改为:
C
语言程序设计 —基础篇
第 7 章 简单程序设计之二
——基础篇
本章内容提要



多分支选择结构—switch语句 循环嵌套 break语句和continue语句 程序举例
2014年4月11日
C语言程序设计
——基础篇
教学目标
在三种基本结构的基础上,结合本章介绍流 程 控 制 的 其 他 几 个 语 句 : switch 语 句 、 break语句和continue语句及循环的嵌套, 实现复杂的算法,设计出结构清晰、功能强大 的程序,对C语言程序开发设计有比较深刻的 认识。
2014年4月11日
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
C语言程序设计
——基础篇
【例7.3】百鸡问题。
#include"stdio.h" 公鸡4只、母鸡18只、小鸡78只 void main() 公鸡8只、母鸡11只、小鸡81只 { 公鸡12只、母鸡4只、小鸡84只 int x,y,z; for(x=1;x<=20;x++) /*用嵌套的for循环依次设公鸡有1,2,…,20只*/ for(y=1;y<=33;y++) /*设母鸡有1,2,…,33只*/ for (z=3;z<100;z+=3) /*设小鸡有3,6,…,99只*/ if (x*5+y*3+z/3==100 && x+y+z==100) printf(“ 公 鸡 % d 只 、 母 鸡 % d 只 、 小 鸡 % d 只 \n",x,y,z); }
2014年4月11日
程序运行结果如下:
C语言程序设计
——基础篇
7.3 break语句和continue语句 在循环中的应用


break 语句只能用在 switch 语句或循环语句中, 其作用是跳出switch语句或跳出本层循环,转去 执行后面的程序。由于 break 语句的转移方向是 明确的,所以不需要语句标号与之配合。 break 语句的一般形式为 break; 注意:
C语言程序设计
#include <stdio.h>
——基础篇
void main()
{ int i,j; for (i=1;i<=9;i++) {
程序运行情况如下: 1*1=1
for (j=1;j<=i;j++) printf("%d*%d=%-3d",i,j,i*j);
} }
2*1=2 2Байду номын сангаас2=4

case语句出 现的次序并 不影响执行 结果。
C语言程序设计
——基础篇 【例7.1】编写程序,对学生成绩进行等级评定。将成绩分为几个 等级:0~59分为不及格,60~69分为及格,70~79分为中等, 80~89分为良好,90~100分为优秀。要求输入一个成绩,输出其
void main() { 对应的等级。 int n; printf("请输入成绩:"); scanf("%d",&n); switch ((int)(n/10)) { case 10: printf("成绩%d的等级为优秀\n",n); case 9: printf("成绩%d的等级为优秀\n",n); case 8: printf("成绩%d的等级为良好\n",n); case 7: printf("成绩%d的等级为中等\n",n); case 6: printf("成绩%d的等级为及格\n",n); default: printf("成绩%d的等级为不及格\n",n); } 2014年4月11 日 }
C语言程序设计
2014年4月11日
将上面的例7.1修改如下:
void main() { int n; printf("请输入成绩:"); scanf("%d",&n); switch ((int)(n/10)) { case 10: printf("成绩%d的等级为优秀\n",n);break; case 9: printf("成绩%d的等级为优秀\n",n); break; case 8: printf("成绩%d的等级为良好\n",n); break; case 7: printf("成绩%d的等级为中等\n",n); break; case 6: printf("成绩%d的等级为及格\n",n); break; default: printf("成绩%d的等级为不及格\n",n); } }
【例7.5】判断m是否素数
——基础篇
7.4 程序举例
【例7.6】模拟自动饮料机
#include "stdio.h" void main() { int button; printf("=====自动饮料机=====\n"); printf("1.可口可乐\n"); printf("2.雪碧\n"); printf("3.百事可乐\n"); printf("4.芬达\n"); printf("5.非常可乐\n"); printf("请按1~5键选择饮料:\n"); scanf("%d",& button);
2014年4月11日
C语言程序设计
( 1) for() { … while() {…} … }
( 2) do{ … for() {…} … }while();
——基础篇
( 3) while() { … for() {…} … }
( 4) for() { … for() { … } … }
2014年4月11日
printf("\n");
3*1=3 3*2=6 3*3=9 4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64

break语句对if-else的条件语句不起作用。 在多层循环中,一个break语句只向外跳一层。 使用break语句可以使循环语句有多个出口
2014年4月11日
C语言程序设计
——基础篇
continue 语句

continue语句只能用在循环体中,其一般格式是: continue; 其语义是:结束本次循环,即不再执行循环体中 continue 语句之后的语句,转入下一次循环条件的判 断与执行。应注意的是,本语句只结束本层本次的循 环,并不跳出循环。 continue语句只用在for、while、 do-while等循环体中,常与if条件语句一起使用,用 来加速循环。
2014年4月11日
C语言程序设计
——基础篇
switch((int)(n/10)) { case 10: case 9: printf("成绩%d的等级为优秀\n"); break; … }
合集下载

c语言while循环语句例子

c语言while循环语句例子

c语言while循环语句例子以下是 7 条关于 C 语言 while 循环语句的例子:1. 嘿,你知道吗,就像数数一样,while 循环可厉害啦!比如我们可以用它来计算 1 到 10 的累加和呀。

int sum = 0, i = 1; while (i <= 10) {sum += i; i++;} 哇塞,是不是很直观?2. 哎呀呀,当你想一直做一件事直到某个条件不满足时,while 循环就派上用场咯!好比你在不停地吃糖果,直到糖果吃完就停止。

int candies = 10; while (candies > 0) {printf("吃了一颗糖果\n"); candies--;} 瞧见没?3. 你想想看呀,while 循环不就像是一场游戏,只要条件成立就一直玩下去吗?比如说要打印出所有的奇数。

int num = 1; while (num <= 10) {if (num % 2!= 0) printf("%d ", num); num++;} 这多有趣呀!4. 哇哦,如果把程序比作一场冒险,那 while 循环肯定是英勇的战士啦!例如计算有多少个数能被 3 整除。

int count = 0, value = 1; while (value <= 20) {if (value % 3 == 0) count++; value++;} 厉害吧?5. 嘿,你说 while 循环是不是很神奇呀,就像一个不知疲倦的工人在不停工作。

比如从 100 倒着数到 1。

int num2 = 100; while (num2 >= 1) {printf("%d ", num2); num2--;} 多有意思呀!6. 哎呀,while 循环就好像是一个固执的小孩,不达目的不罢休呢!那来用它打印出 5 次”我爱 C 语言“。

int times = 0; while (times < 5) {printf("我爱 C 语言"); times++;} 是不是很带劲?7. 讲真的,while 循环真的是编程里的好帮手呢!就像一个随时准备行动的伙伴。

C语言程序设计第3版何钦铭-颜-晖--循环结构

C语言程序设计第3版何钦铭-颜-晖--循环结构

第4章循环结构【练习 4-1】在例 4-1 程序中,如果对 item 赋初值 0,运行结果是什么?为什么?如果将精度改为 10-3,运行结果有变化吗?为什么?解答:如果对item赋初值0,则程序运行结果是pi=0,因为item为0时不满足while 循环的执行条件,即不执行循环,故 pi 值为 0。

如果将精度改为 10-3,运行结果会有变化,因为精度改变意味着 while 循环的条件改变,精度变大使得while循环次数减少,必然影响到n的值。

【练习 4-2】运行例 4-2程序时,如果将最后一个输入数据改为-2,运行结果有变化吗?如果第一个输入数据是 -1,运行结果是什么?为什么?解答:如果将最后一个输入数据改为-2,运行结果没有变化,因为最后一个负数是一结束标志,不进行统计,故任意一个负数都可以。

如果第一个输入数据是-1,运行结果是:Grade averageis 0,因为第一个输入就是-1,则while循环条件不成立,不执行循环体。

【练习4-3】序列求和(1-1/4+1/7-1/10+1/13-1/16+…):输入一个正实数eps, 计算序列1-1/4+1/7-1/10+1/13-1/16+…的值,精确到最后一项的绝对值小于eps (保留6位小数)。

试编写相应程序。

解答:#include <stdio.h>#include <math.h>int main(void){int denominator, flag;double item, s,eps;printf(“Input eps:”);scanf(“%lf”,&eps);flag = 1;denominator = 1 ;item = 1.0;s = 0;while(fabs (item) >= eps) {item = flag * 1.0 / denominator;s = s + item;flag = -flag;denominator = denominator +3;}printf ( “s = %f\n”, s);return 0;}【练习4-4】如果将例4-3程序中的do-while语句改为下列while语句,会影响程序的功能吗?为什么?再增加一条什么语句,就可以实现同样的功能?while(number != 0){number = number / 10; count ++;}解答:会有影响,因为当输入数据 number 为 0时,上述 while 循环将不执行,count 值仍为 0,故输出为 0,不符合题目要求。

C语言程序设计50例(经典收藏)

C语言程序设计50例(经典收藏)

C语言程序设计50例(经典收藏)各位读友大家好,此文档由网络收集而来,欢迎您下载,谢谢C语言程序设计50例(经典收藏)【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。

组成所有的排列后再去掉不满足条件的排列。

2.程序源代码:复制代码代码如下:#include ““#include ““main(){int i,j,k;printf(“\n”);for(i=1;i2) /*如果是闰年且月份大于2,总天数应该加一天*/sum++;printf(“It is the %dth day.”,sum);getch();}============================== ============================== ==【程序5】题目:输入三个整数x,y,z,请把这三个数由小到大输出。

1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z 则将x与z的值进行交换,这样能使x 最小。

2.程序源代码:复制代码代码如下:#include ““#include ““main(){int x,y,z,t;scanf(“%d%d%d”,&x,&y,&z);if (x>y){t=x;x=y;y=t;} /*交换x,y的值*/if(x>z){t=z;z=x;x=t;} /*交换x,z的值*/if(y>z){t=y;y=z;z=t;} /*交换z,y的值*/printf(“small to big: %d %d %d\n”,x,y,z);getch();}============================================================ ==【程序6】题目:用*号输出字母C的图案。

C语言 第五章-循环结构程序设计

C语言 第五章-循环结构程序设计

执行过程如图所示。其中i为外循环的控制变 量,j为内循环的控制变量。
i =0 当 i <=10
j=0 当 j<=10
printf(“%d ”, i*j ) j++ i++
例4 编程打印“九九乘法表”。
分析:九九乘法表 1×1=1 1×2=2 1×3=3 … 2×1=2 2×2=4 2×3=6 … 3×1=3 3×2=6 3×3=9 … …… 9×1=9 9×2=18 9×3=27 …
i ++ ; } while ( i <= 100 ) ; printf ( " %d " , sum ) ; }
结果相同
同样是下列程序,但如果while后面的表达式结果一开始就是 假时,两种循环结果会不一样。
main ( ) /*程序1*/
{ int i , sum = 0 ; i = 101 ;
所以程序需要设计成二重循环。由于题目只 要求找到一组解,所以在循环过程中只要找到一组 满足条件的x, y, z就可以跳出循环。
跳出循环的方法可以采用break语句,但是, 因为是二重循环,所以要考虑使用break是否方便。
程序 百钱买百鸡问题。 void main ( ) { int x , y , z ;
打印第2行 ( i = 2 ) for (j=1;j<=9;j++) printf(“%5d”,i*j) ; printf ( “ \n ” ) ; /*换行打印*/
…… 打印第9行 ( i = 9 )
for (j=1;j<=9;j++) printf(“%5d”,i*j) ; printf ( “ \n ” ) ; /*换行打印*/

C语言程序设计第五次作业——循环结构(1)

C语言程序设计第五次作业——循环结构(1)

C语⾔程序设计第五次作业——循环结构(1)(⼀)改错题输出华⽒摄⽒温度转换表:输⼊两个整数lower和upper,输出⼀张华⽒摄⽒温度转换表,华⽒温度的取值范围是{lower,upper},每次增加2℉。

计算公式如下:c = 5×(f-32)/9其中,c表⽰摄⽒温度,f表⽰华⽒温度。

输⼊输出样例1: Enter lower:32 Enter upper:35 fahr celsius 32 0.0 34 1.1输⼊输出样例2: Enter lower:40 Enter upper:30 fahr celsius源程序(有错误的程序)#include <stdio.h>int main(void){int fahr , lower, upper; /* fahr表⽰华⽒度 */double celsius; /* celsius表⽰摄⽒度 */printf("Enter lower:");scanf("%d",&lower);printf("Enter upper:");scanf("%d",&upper);printf("fahr celsius\n"); /* 显⽰表头 *//* 温度转换 */for (fahr = lower , fahr <= upper, fahr ++) ;celsius = 5 /9 * (fahr - 32.0);printf("%3.0f %6.1f\n", fahr, celsius);return 0;}对源程序进⾏编译,结果如下:错误信息1:错误原因:for语句后⾯加了分号。

改正⽅法:将分号去掉。

错误信息2:错误原因:for语句下没有加“{}“改正⽅法:在for语句下加上“{}”错误信息3:错误原因:发现for语句内语句⽤逗号隔开了。

C语言程序设计_05循环结构程序设计

C语言程序设计_05循环结构程序设计

5.2 DO…WHILE循环结构 5.2.1 DO…WHILE语句的格式 DO…WHILE语句的一般格式为: DO 语句 WHILE(表达式); DO…WHILE语句中的表达式表示循环的条件,可 以是任何表达式,常用的是关系表达式和逻辑表达 式。表达式必须加圆括号。语句是重复执行的部分, 称作循环体。
由亍循环体在表达式2乊后表达式3乊前执行所以把循环体语句放在表达式3的开头循环体语句不原来的i构成逗号表达式作为循环语句新的表达式3从而也就没有循环体语句了
第5章 循环结构程序设计
5.1 WHILE循环结构 5.2 DO…WHILE循环结构 5.3 FOR循环结构 5.4 与循环有关的控制语句 5.5 3种循环语句的比较 5.6 循环的嵌套 5.7 循环结构程序举例 本章小结
图5-6 FOR语句执行过 程
FOR语句的执行过程如图5-6所示。具体由以下几步 完成: (1)求表达式1。 (2)求表达式2,并判定其值为0或非0。若值为非0, 转步骤(3);否则结束FOR语句。 (3)执行语句,然后求表达式3。 (4)转向步骤(2)。 由FOR语句的执行流程可知,表达式1的作用是为循 环控制的有关变量赋初值,表达式2是循环控制条件, 表达式3用于修正有关变量,语句是重复执行部分。
【例5.7】输入20个数,求出其中的最大值与最小值。
5.3.3 FOR语句的各种变形 1.在FOR语句中省略表达式 FOR语句中的3个表达式可以部分或全部省略,下面 给出语句的4种基本变形。 (1)表达式1移至FOR语句前,但它后面的分号必 须保留。这时FOR语句的形式为: 表达式1; FOR(; 表达式2; 表达式3) 语句
(2)表达式3移至循环体语句之后,但它前面的分 号必须保留。FOR语句的形式为: FOR(表达式1; 表达式2;) { 语句; 表达式3; } 对于求P=5!的程序段,省略表达式3,将其放在循环 体中,则程序段写成:

C语言程序设计:第5章 循环结构

执行过程: 先执行循环体语句,再检查 循环条件表达式的值是否为真, 如果为真则继续执行循环体语句, 否则结束循环。
12
do...while语句(cont...)
课堂练习: 1.输出1---n之间的数,其中n从键盘输入。
int main(void) {
//1.定义变量i和n //2.输入n的值 //3.思考循环的开始条件:i从1开始 //4.思考循环的结束条件:i++,i > n //5.循环的条件:i<=n //6.循环要做的事情:输出i的值 return 0; }
} 相当于 while(1) {
}
26
小结
❖for(i=m;i<n;i++)//循环次数:n-m次 ❖for(i=m;i<=n;i++)//循环次数:n-m+1次
27
循环语句的练习
课堂练习: 1.输出n---1之间的数,其中n>1且n从键盘输入。 2.计算1*2*3*...*n的值(n的阶乘n!), 其中n从键盘输入。 3.计算10- 1/2 - 1/3 -....1/n的值 以上练习分别以while、do...while、for语句实现
int main(void) {
//1.定义变量i,n,sum //2.输入n的值 //3.思考循环的开始条件:i从1开始 //4.思考循环的结束条件:i++,i > n //5.循环的条件:i<=n //6.循环要做的事情:累加i的值 //7.输出计算结果 return 0; }
24
for语句(cont...)
{
sum = sum + i;
if(sum > 100)break;

C语言循环语句PPT课件

i=1; while(i<=100) { sum=sum+i;
i++; } printf("%d",sum); }
循环条件
循环终值 循环体语句
27.12.2020
.
6
例: 显示1~10的平方
#include <stdio.h> main() { int i=1;
while(i<=10) { printf("%d*%d=%d\n",i,i,i*i);
}
while()
{ ……
}
…...
27.12.2020
.
}
14
例: 我国古代数学家张丘建在《算经》中出了一道题“鸡翁一, 值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡, 问鸡翁、鸡母、鸡雏各几何?”
解题思路:
利用以前学过的数学知识列方程。 假设鸡翁数为x,鸡母数为y,鸡雏数为z。列方程为:
x+y+z=100 ……① 5x+3y+z/3=100……②
do
……
continue;
…...
真(非0)
while 表达式
表达式 假(0) 真(非0)
…… continue;
……
表达式3
假(0)
27.12.2020
.
25
例:把100~200之间的不能被3整除的数输出
main()
{
int n;
for(n=100;n<=200;n++)
{if(n%3==0)
continue;
3、 while和do-while循环的循环变量初值应在 while和do-while循环之前完成。

c语言双循环的简单例子

c语言双循环的简单例子从代码所示为常见的for语句双重循环,循环原理如下1,对于给二维数组赋值部分,第一次i=0,判断i<3值为真,然后执行二重循环语句,j=0,判断j<2结果为真,因此执行下面的循环体语句,a[0][0]=0+0=0,j++2,第二次循环依旧是在j循环部分执行,j=1,判断j<2结果为真,因此执行下面的循环体语句,a[0][1]=0+1=1,j++3,第三次循环依旧是在j循环部分执行,j=2,判断j<2结果为假,退出j部分循环,i++4,第四次循环,i=1,判断i<3结果为真,然后执行j部分二重循环语句,j=0;判断j<2结果为真,因此执行下面的循环体语句,a[1][0]=1+0=1,j++5,第五次循环,i=1,判断j<2结果为真,执行循环体语句,a[1][1]=1+1=2,j++本文实例讲述了C++双向循环列表用法。

分享给大家供大家参考。

具体如下:1 2 3 4 5 6 7 8 9 1/*双向循环链表*/#include <iostream> using namespace std;1 1 12 13 14 15 16 17 18 19 2 0 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 3 0 3 1 //结构体构造链表的指针域和数据域struct ChainNode{int data; //节点数据ChainNode *left; //节点的前驱指针ChainNode *right; //节点的后继指针};////////////创建n个双向循环链表并返回链表头指针///////// ChainNode* CreateNode(int n){ChainNode *head = NULL; //链表头节点ChainNode *pCur=NULL,*pNew=NULL; //当前节点,新建节点//初始化头结点的前驱和后继节点都为NULLif(n<1) //没有节点返回头节点{return head;}//创建头节点并将器左右指针指向空head = new ChainNode;head->left = NULL;head->right = NULL;2 3 3 3 4 3 5 3 6 3 7 3 8 3 9 4 0 4 1 4 2 4 3 4 4 4 5 4 6 4 7 4 8 4 9 5 0 5 1 5 2 5head->data = 0;pCur = head;//为防止指针互指带来的混乱,用pCur节点保存了头节点也表示当前指针移动到了头指针//创建n个节点并连接成链表for(int i=0; i<n; i++){pNew = new ChainNode; //创建一个新节点cout<<"请输入数据:";cin>>pNew->data;pCur->right = pNew; //头指针的右指针指向新建节点pNew->left = pCur; //新建节点的左指针执行头节点pNew->right = NULL; //用于最后和头指针进行交换pCur = pNew; //指针往下移动}//最后将头指针的左指针指向最后一个节点,//最后一个节点的有指针指向头指针,构成循环head->left = pCur;pCur->right = head;return head;}5 4 5 5 56 57 58 59 6 0 6 1 6 2 6 3 6 4 6 5 6 6 6 7 6 8 6 9 7 0 7 1 7 2 7 3 7 4 //////////////输出链表头节点///////////////////////void OutList(ChainNode *head) //参数为头指针从头指针开始{cout<<"链表元素输出如下:"<<endl;ChainNode *pCur = head->right;//重第一个节点开始输出//没有指向空节点,则链表没结束输出链表元素while(pCur->right != head){cout<<pCur->data<<" ";pCur = pCur->right;//当前节点指向下一个节点可以遍历链表}cout<<pCur->data<<endl;//输入最后一个元素,它的右指针执行head}///////在双向循环链表后添加n个节点//////ChainNode* AddNode(ChainNode* head, int n){ChainNode *pNew,*pCur;//新添加节点和当前节点5 767 7 78 79 8 0 8 1 8 2 8 3 8 4 8 5 8 6 8 7 8 8 8 9 9 0 9 1 9 2 9 3 9 4 9 5 9pCur = head;//移动到最节点while(pCur->right != head){pCur = pCur->right;//当前节点往下移动一直移到最后一个节点}//新添加n个节点并插入链表for(int i=0; i<n; i++){pNew = new ChainNode;cout<<"输入要添加的节点元素:";cin>>pNew->data;pCur->right = pNew; //头指针的右指针指向新建节点pNew->left = pCur; //新建节点的左指针执行头节点pNew->right = NULL; //用于最后和头指针进行交换pCur = pNew; //指针往下移动}//最后将头指针的左指针指向最后一个节点,//最后一个节点的有指针指向头指针,构成循环head->left = pCur;9 7 9 8 9 9 1 0 0 1 0 1 1 0 2 1 0 3 1 0 4 1 0 5 1 0 6 1 0 7 1 0 8 1 0 9 1 1 0 1 1 1pCur->right = head;return head;}/////在双向循环链表中删除一个节点///////ChainNode* DeleteNode(ChainNode* head, unsigned num) //删除第num个节点{ChainNode *pNew,*pCur,*temp;//新添加节点和当前节点 ,临时交换节点pCur = head;int ncount = 0;//移动到第num-1个节点while(1){ncount++;pCur = pCur->right; //当前节点往下移动if(num == ncount){break; //此时pCur还是指向了第num个节点}}1 2 1 1 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 2 0 1 2 1 1 2 2 1 2 3 1 2 4 1 2 5 1//当前节点的前一个节点的右指针指向当前节点的下一个节点//当前节点的下一个节点的左指针指向当前节点的上一个节点构成连接//最后删除当前节点(pCur->left)->right = pCur->right;(pCur->right)->left = pCur->left;delete pCur;return head;}int main(){int num;//创建num个节点并显示cout<<"输入要创建的链表节点个数:";cin>>num;ChainNode *head = CreateNode(num);OutList(head);//往链表后添加n个节点int addnum;cout<<"输入要添加的节点个数:";cin>>addnum;AddNode(head, addnum);6 1 27 1 28 1 29 1 3 0 1 3 1 1 3 2 1 3 3 1 3 4 1 3 5 1 3 6 1 3 7 1 3 8 1 3 9 1 4OutList(head);//删除链表的第del个元素int del;cout<<"输入要删除的第几个位置的节点:"; cin>>del;DeleteNode (head, del);OutList(head);system("pause");return0;}。

C语言程序设计第5单元


例5.2流程图
N
8
5.1 while语句
程序代码: #include<stdio.h> main() { int i=1,n;
float fac=1; printf("please input an integer>=0:\n"); scanf("%d",&n); if(n==0||n==1)
printf("factorial is 1.\n"); else
int i,sum=0,score; float ave=0; printf("\n计算学生总成绩和平 均成绩\n"); printf("请输入10名学生的成 绩:\n");
for(i=1;i<=10;i++) { scanf("%d",&score); sum=sum+score; } ave=sum/10.0; printf("总成绩为%d 平均成绩为
1. break语句
出现在循环体中的break语句使循环结束。若在多层循环体 中使用break语句,则只结束本层循环。
【例5.11】使用for语句输出50个“*”,使用break控制数量。
#include <stdio.h>
main()
{
int i;
for(i=1;;i++)
{
if(i>50) break;
方法三:
#include "stdio.h"
int main()
{
int i=1;
for(;i<=10;)
{
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档