
C语言。编写一个程序,输入一个二进制的字符串(长度不超过32),然后计算出相应的十进制整数,并打印。
编写一个程序,输入一个二进制的字符串(长度不超过32),然后计算出相应的十进制整数,并把它打印出来。输入格式:输入为一个字符串,每个字符都是’0’或’1’,字符串的长度不...
编写一个程序,输入一个二进制的字符串(长度不超过32),然后计算出相应的十进制整数,并把它打印出来。
输入格式:输入为一个字符串,每个字符都是’0’或’1’,字符串的长度不超过32。
输出格式:输出一个整数。
输入输出样例
输入样例:
1101
输出样例:
13
我的程序:
#include <stdio.h>
#include <string.h>
int main()
{
char data[33];
int dota[33];
int i, j, num, len;
gets(data);
len = strlen(data);
for (i = 0; i <= len; i++)
{
if (data[i] == '1')
{
dota[i] = (int)data[i] -48;
}
else if (data[i] == '0')
{
dota[i] = (int)data[i] - 48;
}
}
num = dota[0];
for (j = 1; j <= len; j++)
{
num = num * 2 + (int)dota[j];
}
printf("%d", num);
}
在学数组。请问哪里错了?
有什么简单的方法吗? 展开
输入格式:输入为一个字符串,每个字符都是’0’或’1’,字符串的长度不超过32。
输出格式:输出一个整数。
输入输出样例
输入样例:
1101
输出样例:
13
我的程序:
#include <stdio.h>
#include <string.h>
int main()
{
char data[33];
int dota[33];
int i, j, num, len;
gets(data);
len = strlen(data);
for (i = 0; i <= len; i++)
{
if (data[i] == '1')
{
dota[i] = (int)data[i] -48;
}
else if (data[i] == '0')
{
dota[i] = (int)data[i] - 48;
}
}
num = dota[0];
for (j = 1; j <= len; j++)
{
num = num * 2 + (int)dota[j];
}
printf("%d", num);
}
在学数组。请问哪里错了?
有什么简单的方法吗? 展开
1个回答
展开全部
#include <stdio.h>
#include <string.h>
int main()
{
char data[33];
int dota[33];
int i, j, num, len;
gets(data);
len = strlen(data);
for (i = 0; i <= len; i++)
{
dota[i] = (int)data[i] -'0';
}
num = dota[0];
for (j = 1; j < len; j++)
{
num = num * 2 + (int)dota[j];
}
printf("%d\n", num);
}
//改了一下,自己看吧!不明可以问的!
#include <string.h>
int main()
{
char data[33];
int dota[33];
int i, j, num, len;
gets(data);
len = strlen(data);
for (i = 0; i <= len; i++)
{
dota[i] = (int)data[i] -'0';
}
num = dota[0];
for (j = 1; j < len; j++)
{
num = num * 2 + (int)dota[j];
}
printf("%d\n", num);
}
//改了一下,自己看吧!不明可以问的!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询