例64用 while语句编写例6.2的程序 maino Rint a, b,j, X; a=b=0 八循环变量赋初值* printf(in enter 20 integers: ) while(<20) /条件:j20/ anf%d”,&x);/循环体为复合语句 if(0)a++ else if (x<0)btts /循环变量增值 printf("in positive: %d, negative: %d", a, b);
例6.4用while语句编写例6. 2的程序。 main() {int a,b,j,x; a=b=0; j=0; /*循环变量赋初值*/ printf("\n enter 20 integers:"); while(j<20) /*条件:j<20*/ { scanf(“%d”,&x); /*循环体为复合语句*/ if(x>0) a++; else if (x<0) b++; j++; /*循环变量增值*/ } printf("\n positive: %d, negative: %d", a, b); }
例6.5输入某班一门课的成绩并计算其平均成绩。(人 数不定,当输入成绩为-1时结束)。 分析:本例的特点是“循环次数不确定”,而是已知循 环结束的条件。 循环的组成: 循环体:将有效成绩 score加入部分和sum;输入下一 成绩 score 循环控制条件: score!=-1 循环变量: score 循环变量的改变:用户输入 循环变量的初值:键盘输入
◼ 例6.5 输入某班一门课的成绩并计算其平均成绩。(人 数不定,当输入成绩为-1时结束)。 ◼ 分析:本例的特点是“循环次数不确定”,而是已知循 环结束的条件。 ◼ 循环的组成: 循环体:将有效成绩score 加入部分和sum;输入下一 个成绩score。 循环控制条件:score!=-1 循环变量:score 循环变量的改变:用户输入 循环变量的初值:键盘输入
例65程序 maino i float score, sum=0; int n=0: printf("In enter a score(-l for end) scanf('"%r",& score);循环变量赋初值六 while(scorel=-1) isum+=score; n++ printf(in enter a score(-l for end) scanf(“%r”,& rscore);/改变循环变量的值* printf(nn=%d ,aver=%of, n, sum/n) 特点:当第一次输入-1时,循环体执行次数为0
◼ 例6.5程序: main() { float score,sum=0; int n=0; printf("\n enter a score(-1 for end):"); scanf("%f",&score); /*循环变量赋初值*/ while(score!=-1) {sum+=score; n++; printf("\n enter a score(-1 for end):"); scanf(“%f”,&score); /*改变循环变量的值*/ } printf("\n n=%d,aver=%f",n,sum/n); } 特点:当第一次输入-1时,循环体执行次数为0
Break语句:用于结束循环 mainO/例65可改用以下程序实现* float score, sum=0; int n=0 while(1)/无条件循环:表达式永为“真” & printf(n enter a score(-l for end: ) scanf(%of, &score); if(score=-1) break;/利用 break语句跳出该循环 ese i sum+=score; n+; 1 printf(in n=%d, aver=%f", n, sum/n);
Break语句:用于结束循环 main() /*例6.5可改用以下程序实现*/ { float score,sum=0; int n=0; while(1) /*无条件循环:表达式永为“真”*/ { printf("\n enter a score(-1 for end):"); scanf("%f",&score); if(score== -1) break; /*利用break语句跳出该循环*/ else { sum+=score; n++;} } printf("\n n=%d,aver=%f",n,sum/n); }