c语言 第5循环结构(while do-while for)
P112 T5 从键盘输入一个小于1000的正整数,要求输出它的平方根,(若平方根不是整数,则输出其整数部分)要求在输入数据后先对其进行检查是否为小于1000的正整数。若不是,则要求重新输入。 #include #include #define M 1000 int main() { int i,k; printf("请输入一个小于%d的整数i:",M); scanf("%d",&i); if (i>M) {printf("输入的数不符合要求,请重新输入一个小于%d的整数i:",M); scanf("%d",&i); } k=sqrt(i); printf("%d的平方根的整数部分是:%d\n",i,k); return 0; } 思考: 连续两次都输入错误呢? #include #include #define M 1000 int main() { int i,k; printf("请输入一个小于%d的整数i:",M); scanf("%d",&i); while(i>M) {printf("输入的数不符合要求,请重新输入一个小于%d的整数i:",M); scanf("%d",&i); } k=sqrt(i); printf("%d的平方根的整数部分是:%d\n",i,k); return 0; } 5.4 for语句 #include int main() { int i=1,sum=0; while (i<=100) { sum=sum+i; i++; } printf("sum=%d\n",sum); return 0; } #include int main() { int i=1,sum=0; do { sum=sum+i; i++; }while(i<=100); printf("sum=%d\n",sum); return 0; } 下面是几种不同的表示方法: (1)表达式1和表达式3是逗号表达式,如; int sum,i; for(sum=0,i=1;i<=100;i++,i++); sum+=i; 其中sum=0和循环控制变量无关。 (2)省略表达式1和表达式3,如: int sum=0,i=1; for( ; i<=100 ; ) { sum+=i; i+=2; } (3)三个表达式全部省略,如: int sum=0,i=1; for( ; ; ) { sum+=i; i+=2; if(i>100) goto loop ; } loop: (4)省略循环体,把循环体变成空语句,原来的工作放到循环头中完成,如: int i,sum=0; for( i=1 ;i<=100 ;sum+=i ,i+=2); #include main( ) { int a=0,sum=0; printf("Input data:\n"); do { scanf("%d",&a); printf("%4d",a); sum=sum+a; } while ( a!=0 ) ; printf("\nsum=%d\n",sum); } 不要丢 do 关键字 当a为非0时,执行循环体 兆苏卿魔上挪伎孽氧涤蕴籽亿攀炉吨共诽狙添梦锤岛悬痰狡佛咸钱她阀任c语言 第5章循环结构(while do-while for)c语言 第5章循环结构(while do-while for) 第1次运行: Input data: Input data: