循环的应用:求最大公约数
#include<stdio.h>
int main()
{ int a,b;
scanf("%d %d",&a,&b);
int min;
if(a<b)
{ min=a;
}else{min=b;
}
int ret=0;
int i;
for(i=1;i<min;i++)
{ if(a%i==0)
{ if(b%i==0)
{ret=i;
}
}
}
printf("a和b的最大公约数是%d",ret);
return 0;
}
关于跳出循环:
#include<stdio.h>
int main()
{
int one,two,five;
int exit=0;
int x;
scanf("%d",&x);
for(one=1;one<x*10;one++)
{ for(two=1;two<x*10/2;two++)
{ for(five=1;five<x*10/5;five++)
{ if(one+two*2+five*5==x*10)
{ printf("可以用%d个一角加%d个两角加%d个五角凑成%d元",one,two,five,x);
exit=1;
break;
}
}if(exit==1)break;
}if(exit==1)break;
}
return 0;
}
循环的运用:倒数求和
#include<stdio.h>
int main()
{
int n;
int i;
double sum=0.0;
double sign=1.0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{sum +=sign/i;
sign =-sign;
}
printf("f(%d)=%f",n,sum);
return 0;
}
素数的判断:
#include<stdio.h>
int main()
{ int x=2;
int cnt=0;
// for(x=2;cnt<50;x++)
while(cnt<50){
int i;
int isPrime = 1;
for(i=2;i<x;i++){
if(x%i==0){
isPrime = 0;
break;
}
}
if(isPrime==1){
printf("%d ",x);
cnt++;
} x++;
}printf("\n");
return 0;
}