编写程序:从键盘输入一个二进制正整数,输入对应的十进制
来源:百度知道 编辑:UC知道 时间:2024/06/26 04:47:55
C程序设计 :printf("\n请输入一个二进制: \n");
fflush(stdin);
scanf("%ld",&binary);
do{
digit=binary%10;
decimal=decimal+digit*power;
power*=2;
binary=binary/10;
} while(binary!=0);
if(binary==0) break;
这是部分答案,若照此设计,怎么补充?
fflush(stdin);
scanf("%ld",&binary);
do{
digit=binary%10;
decimal=decimal+digit*power;
power*=2;
binary=binary/10;
} while(binary!=0);
if(binary==0) break;
这是部分答案,若照此设计,怎么补充?
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
char s[20];
int i,j,k=0;
cout<<"请输入一个二进制数:"<<endl;
cin>>s;
for(i=strlen(s)-1,j=0;i>=0;i--)
{
k+=(s[i]-'0')*(pow(2.0,(double)j));
j++;
}
cout<<"十进制数为:"<<k<<endl;
return 0;
}
改为C语言如下:
#include<stdio.h>
#include<math.h>
#include<string.h>
void main()
{
char s[20];
int i,j,k=0;
printf("请输入一个二进制数:\n");
gets(s);
for(i=strlen(s)-1,j=0;i>=0;i--)
{
k+=(s[i]-'0')*(pow(2.0,(double)j));
j++;
}
printf("十进制数为:\n");
printf("%d\n",k);
}
行了三,两个问题都一起给你解决啦