跳出循环:break
一、判断素数:
#include<stdio.h>
int main()
{
int x,i;
int isprim=1;
scanf("%d",&x);
for(i=2;i<x;i++)
{
if(x%i==0)
{
isprim=0;
break;
}
}
if(isprim==1)
printf("x是素数");
else
printf("x不是素数");
printf("\n%d",i);
return 0;
}
goto 语句会破坏程序的结构性,一般不建议使用。
循环的应用
二、求和
#include<stdio.h>
int main() {
int n, i;
double sign = 1.0;
double sum = 0.0;
scanf("%d", &n);
for(i = 1; i <= n; i++) {
sum += sign/i;
sign=-sign;
}
printf("f(%d)=%lf", n, sum);
return 0;
}
三、求最大公约数
//枚举法
#include<stdio.h>
int main()
{
int a,b,i;
int min,ret;
scanf("%d %d",&a,&b);
if(a<b)
min = a;
else
min = b;
for(i=1;i<min;i++)
{
if((a%i==0)&&(b%i==0))
{ret=i;
printf("%d %d %d\n",a,b,i);
}
}
printf("最大公约数是%d",ret);
return 0;
}
/*辗转相除法
如果b=0,计算结束,a为最大公约数;
否则,计算a除以b的余数,让a等于b,b等于余数;
*/
#include<stdio.h>
int main() {
int a, b, t;
scanf("%d %d", &a, &b);
while(b != 0) {
t = a%b;
a = b;
b = t;
printf("%d %d %d\n", a, b, t);
}
printf("%d", a);
return 0;
}
四、正向分解数字
#include<stdio.h>
int main() {
int x;
int a = 1;
scanf("%d", &x);
int t = x;
while(t > 9) {
t /= 10;
a *= 10; //计算出位数;
}
printf("%d\n", a);
while(a > 0) {
printf("%d", x/a);
x %= a;
a /= 10;
if(a > 0)
printf(" ");
}
printf("\n");
return 0;
}