while语句的使用
1.语法
相对for语句来说比较简单。
while()
{
...;}
()里面的内容为循环条件,只要为“true”循环就将进行
2.例:用while语句实现进制的转换。(以二进制为例)
基本思路为除“进制”取余法。用此方法容易得到十进制的二进制数,但是得到的数为逆序数,则本方法难点在于取逆序数。
#include<stdio.h>
int main()
{
int i,m,j,n=1,k=0;
/*定义了5个变量,i为需要转为二进制数的十进制数,m为余数,j为最终得到的二进制数,n为位数,k转化过程中的二进制数*/
printf("请输入数字:");
scanf("%d",&i);
while(i/2!=0){//while语句语法,只要i/2不为0,就将循环
m=i%2;
i=i/2;
if(m!=0){//这里需要注意将余数为0单独讨论,因为0乘任何数都得0,如果出现多个余数都为0的情况,这些数相加就得0了,就会出现少位
k=m*n+k;
}
n=n*10;//每循环1次,位数多1位,故n*10
printf("%d",m);
if(i<2){//当i<2时,上述循环会终止,但最终剩下的数不能不管,所以需要单独讨论
printf("%d",i);//此时的i即为最后剩下的数
break;
}
}
j=k+i*n;
printf("\n");
printf("j=%d",j);
return 0;
}
效果图
![](https://img.haomeiwen.com/i20123047/d1af6e48936d5b2a.gif)
网友评论