c++很着急!!!!

来源:百度知道 编辑:UC知道 时间:2024/06/24 11:49:04
int num,p[100],i;
printf("请输入一个十进制的数:");
scanf("%d",&num);
for(i=0;i<100;i++)
{
p[i]=num%2;
num=num/2;}
printf("转换为二进制的数为:");
for(i=99;i>=0;i--)
printf("%d",p[i]);
printf("\n");
}
谁弄帮我去掉前面的0啊?急!
能不能用一个num<0的方法啊?
让它跳出循环

#include<stdio.h>

void main()
{
int num,p[100],i;
printf("请输入一个十进制的数:");
scanf("%d",&num);
for(i=0;i<100;i++)
{
p[i]=num%2;
num=num/2;
}
printf("转换为二进制的数为:");
bool control = false;
for(i=99;i>=0;i--)
{
if(p[i]!=0)
{
control = true;
}
if(control)
{
printf("%d",p[i]);
}
}
printf("\n");
}
看到LS真的好高兴,我是起来看球的,顺便到知道逛逛,,呵呵。

- -!
这个程序的目的是把一个十进制数字转换为2近制吧
不妨在循环里加一个控制条件:
if (p[i]=1) a=1
然后 if a=1执行你下面的输出语句
然后第1个1前面的0都去掉了

为什么不用C++语言啊?