实验三

Part1

demo1.

代换代码可行

运行结果如下

实验三

放入while循环中

demo2.

代码和运行截图如下

实验三

通过while循环,可以输入多次数据进行判断,十分方便。

demo5-1&5-2

continue和break

运行结果对比如下

实验三

实验三

break功能是跳出此层循环,进行下一层的循环,在此程序中即当为3的倍数时跳出,到换行的操作,所以每层只出现1,2。

continue功能是结束本次循环,重新开始新一轮循环。即当为3的倍数时重新开始继续输入各列信息,因此有数字4,5出现。

demo6-1&demo6-2

实验三

实验三

break影响该外层循环,打断了3以后的循环。

continue不影响外层循环。

Part2

补全

#include<stdio.h>
int main(){
int max,min,number,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",min);
    printf("最大值为%d\n",max);
    return 0;
}

运行截图

实验三

用for来实现

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

max=number;
min=number;
for(n=2;n<=5;n++){

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

Part3

判断素数

#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main(){
    int i,m,n,k=0,number=0;
    for(n=101;n<=200;n++)
    {for(i=2;i<n;i++)
      if(n%i==0)break;
      m=sqrt(n);
      if(i>m)
      {printf("%6d",n);
        k++;
        number++;
        if(number%5==0)
        printf("\n");
      }
        
    } printf("101~200之间素数有:%d\n",k);
      return 0;
}

实验三

编程打印

#include<stdio.h>
int main(){
    int i,j,k,n;
    scanf("%d",&n);
    
    for(i=0;i<n;i++)
    { for(j=0;j<n-i-1;j++)
      
        printf(" ");
      
       
       for(k=0;k<2*i-1;k++)
      
       printf("*");
      
      printf("\n");
    }
    return 0;
}

实验三

总结

这次编程练习中

一开始写判断素数的时候,最后输出结果和老师给出截图并不相同,仔细想想应该是对每行的输入个数有要求,所以引进了一个计算每行的数字的变量number,截图中每行为5个,所以当number为5的倍数,即对5取余为0换行即可得截图中格式。

对于第二道题,我一开始把for中的条件和判断搞混了,就造成无限循环*。对于这道题,主要还是要找出关于行,星号,空格的关系。