实验3

Part 1验证性内容
#include <stdio.h> int main() { int i; // 在循环语句中使用continue for(i=1; i<=5; i++) { if (i%3 == 0) // 如果i是3的倍数,则结束本次循环,开始下一次循环 continue; printf("i=%d\n",i); } return 0; }

#include <stdio.h>
int main() 
{
    int i;
    for(i=1; i<=5; i++) {
    if (i%3 == 0) 
    break;
    printf("i=%d\n",i);
}
    return 0;
}

思考:在循环中使用控制语句continue和break,其功能区别:

continue:在循环结构中如果遇到continue,则会提前结束本次循环,然后进行下一轮循环。

break:在循环结构中遇到break,则会结束本层循环,终止循环,不会进入下一轮循环。

#include <stdio.h>
    const int LINE=3; // 定义符号常量LINE
    const int COLUME=5; // 定义符号常量COLUME
int main() 
{
    int line; // 定义变量line, 用来控制行数
    int col; // 定义变量col, 用来控制列数
// 输出LINE行信息
    for(line=1; line<=LINE; line++) {
// 每一行中,利用循环,输出各列信息
    for(col=1; col<=COLUME; col++) {
    if(col%3 == 0) // 如果col是3的倍数,则结束本次循环,开始下一次循环
    continue;
    printf("%5d", col);
}
    printf("\n"); // 每输出完一行,换行
}
    return 0;
}

 

#include <stdio.h>
const int LINE=3; // 定义符号常量LINE
const int COLUME=5; // 定义符号常量COLUME
int main() {
int line; // 定义变量line, 用来控制行数
int col; // 定义变量col, 用来控制列数
// 输出LINE行信息
for(line=1; line<=LINE; line++) {
// 每一行中,利用循环,输出各列信息
for(col=1; col<=COLUME; col++) {
if(col%3 == 0) // 如果col是3的倍数,则结束内层循环体
break;
printf("%5d", col);
}
printf("\n"); // 每输出完一行,换行
}
return 0;
}

思考:结合程序demo6_1.cpp和demo6_2.cpp运行结果对比,回答以下两个问题:
在两层嵌套循环中,内层循环中如果出现continue,是否影响外层循环?

在两层嵌套循环中,内层循环中如果出现break,是否影响外层循环?

continue和break若出现在内层循环,都不会影响外层循环,只会影响其所在的循环层。

Part2: 补足程序

 

#include <stdio.h>
int main() 
{
int number, max, min, n;
n=1;
printf("输入第%d个数: ", n);
scanf("%d", &number);
max = number;
min = number;
while(n<5) {
n++;
printf("输入第%d个数: ", n);
scanf("%d", &number);
if(number>max)
max = number;
else if(number<min)
min = number;
}
printf("最大数为: %d\n", max);
printf("最小数为: %d\n", min);
return 0;
}

拓展思考:
对比《C语言程序设计教程学习指导》p124代码,体会和理解合理运用循环的优点:

减少了程序的语句,编程的目的更加直接明了

使用for语句来实现这道编程

#include <stdio.h>
int main() 
{
int number, max, min, n;
n=1;
printf("输入第%d个数: ", n);
scanf("%d", &number);
max = number;
min = number;
for(n=1;n<5;n++) {

printf("输入第%d个数: ", n);
scanf("%d", &number);
if(number>max)
max = number;
else if(number<min)
min = number;
}
printf("最大数为: %d\n", max);
printf("最小数为: %d\n", min);
return 0;
}

Part3:编程练习

#include <stdio.h>
#include<math.h>
int main()
{
    int n;
    int i;
    int j=0;
    for(n=101;n<=200;n++){
        int isPrime=1;
        for(i=2;i<=sqrt(n);i++){
            if (n%i==0){    
            isPrime=0;
            break;        }
                                           }
        if(isPrime){
        
            printf("%d\n",n);
            j++;
                        }    
                                          }
    printf("101~200之间共有%d\n个素数",j);
    return 0;
 } 

 

#include<stdio.h>
int main()
{
    int line,col;
    for(line=1;line<=5;line++)
  {
    for(col=5-line;col>=1;col--){
    printf(" ");
  }
  for(col=1;col<=2*line-1;col++)
  {
    printf("*");
  }
    printf("\n");
  }
    return 0;
}

 互评地址:

https://www.cnblogs.com/mgl1999/p/10713091.html

https://www.cnblogs.com/celan/p/10703675.html

posted @ 2019-04-15 16:55  lstx  阅读(163)  评论(2)    收藏  举报