循环
一 while循环
1 求log2 of x
#include<stdio.h>
int main()
{
int x;
int ret=1;
scanf("%d",&x);
int t=x;
while(x>2)
{
x/=2;
ret++;
}
printf("log2 of %d is %d",t,ret);
return 0;
}
2 逆序2.0
#include<stdio.h>
int main()
{
int x;
int digit=0;
int ret=0;
printf("请输入一个想要进行逆序的正整数:");
scanf("%d",&x);
while(x>0){
digit=x%10;
x/=10;
ret=ret*10+digit;
printf("x=%d digit=%d ret=%d\n",x,digit,ret);
}
printf("你输入的数逆序后是%d.\n",ret);
return 0;
}
二 do while循环
#include<stdio.h>
int main()
{
int x;
int n=0;
scanf("%d",&x);
do{
n++;
x/=10;
}while(x>0);
printf("%d\n",n);
return 0;
}
三 for循环
1 解释
2 阶乘
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
int fact=1;
int i=1;
for(i=1;i<=n;i++){
fact*=i;
}
printf("%d!=%d\n",n,fact);
return 0;
}
** 求和时,记录结果的变量初始化为0;求积时,记录结果的变量初始化为1.
3 判断素数
#include<stdio.h>
int main()
{
int x;
scanf("%d",&x);
int i;
int isPrime =1;
for(i=2;i<x;i++){
if(x%i==0){
isPrime =0;
break;
}
}
if(isPrime == 1){
printf("%d是素数\n",x);
}else{
printf("%d不是素数\n",x);
}
return 0;
}
四 区别及补充
1 区别
2 补充
**break只能对它在的那层循环做