1 、实训名称
实训5:循环结构I
2 、实训目的及要求
1 、熟练掌握while、do-while和for语句实现循环的方法。
2 、掌握循环程序设计中一些常用算法(如穷举、迭代、递推等)。
3 、掌握常用的无条件控制语句在循环中的控制作用。
4 、理解循环嵌套及嵌套的执行过程。
3 、源代码及运行截图
【5-22】
(1)
#include<stdio.h>
int main() {
int i,n,a=0;
printf("请输入n:");
scanf("%d",&n);
for(i=2;i<n;i++)
{
if(n%i==0) {a++;}//素数个数加一;
}
if(a==0)
printf("%d是素数\n",n);
else
printf("%d不是素数\n",n);
return 0;
}
(2)
#include<stdio.h>
int main() {
int n=100;
int sum,a;
for(int i=3;i<n;i++)//外层循环进行数值增加
{
for(a=2;a<i;a++)//内层循环进行素数判断
if(i%a==0)break;
if(a==i) sum+=i;
}
printf("s=%d\n",sum);
return 0;
}
【5-23】
(1)
#include<stdio.h>
int main(){
int n,k,x,s=0;
printf("请输入n:\n");
scanf("%d",&n);
x=n;
while(x){
k=x%10;
s=s*10+k;
x=x/10;
}
if(s==n)
printf("%d是回文数\n",n);
else
printf("%d是不是回文数\n",n);
return 0;
}
(2)
#include<stdio.h>
#include<stdlib.h>
int main(){
int n,k,x,s=0,sum;
for(n=200;n<=3000;n++){
x=n;
while(x>0){
k=x%10;
s=s*10+k;
x=x/10;
}
if(s==n)
{
sum+=n;
}
s=0;
}
printf("%d\n",sum);
return 0;
}
【5-24】
(1)
#include<stdio.h>
int main(){
int a,count=0;
for(int i=1;i<1000;i++){
if(a++%8==1){
count++;
}
}
printf("%d\n",count);
return 0;
}
(2)
#include<stdio.h>
#include<math.h>
int main(){
int i=0;
int a,b,c;
for(i=100;i<=999;i++){
a=i%10;
b=(i/10)%10;
c=i/100;
if(i==pow(a,3)+pow(b,3)+pow(c,3)){
printf("%d\n",i);
}
}
return 0;
}
【5-25】
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int n,i,s=0;//n为余数,i为商,s为和
int k;
for(k=100;k<=999;k++){
i=k;
while(i>0){
n=i%10;
i=i/10;
s=s+(n*n*n);}
if(s==k){
printf("%d\t",k);
}
s=0;
}
system("PAUSE");
return 0;
}
(2)
#include<stdio.h>
#include<math.h>
int main(){
int sum1=0,sum2=0,sum3=0;
for(int k=1;k<=100;k++){
sum1+=k;
} printf("sum1=%d\n",sum1);
for(int i=1;i<=50;i++){
sum2+=pow(i,2) ;
} printf("sum2=%d\n",sum2);
sum3=sum1+sum2;
printf("sum3=%d\n",sum3);
return 0;
}
(3)
#include<stdio.h>
#include<math.h>
int main(){
int a=1,b=1;
double sum=0;
for(int i=1;i<=40;i++){
sum+=a/b;
a*=i;
b*=(2*i+1);
}
printf("%.3f\n",sum);
return 0;
}
4 、小结
通过循环嵌套可以实现数目较大的重复运算,在一些数学问题上例如求通项公式的和需要运用到循环嵌套,一方面实现新增的新数。另一方面通过累加器不断增加。循环和循环嵌套的使用能够方便解决一些问题。一般要画出循环嵌套的示意图,在进行代码的编写。否则,容易搞混嵌套的使用。