标题:求教二进制转十进制
取消只看楼主
lxldcr
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2019-6-17
结帖率:50%
已结贴  问题点数:20 回复次数:2 
求教二进制转十进制
题目很简单,就是把一个二进制数转换为十进制数,然后输出。
Input Description
多组测试数据,第一行一个正整数 n (n<=1000),表示后面有 n 组测试数据,每组一行。
接下来有 n 行,每行为一个不超过32位的二进制数。
Output Description
对每组测试数据,在一行中输出对应的十进制数。
Sample Input
2
0111
1111
Sample Output
7
15
我的代码运行正确,但提交错误,谁能帮我指一下错误
#include <stdio.h>

int main(void)
{
    int n;
    int a,b;
    int p,i;
    int add,c;

  scanf("%d",&c);
  for(i=0;i<c;i++)
  {
      scanf("%d",&n);
      b=1;
      add=0;

       while(n!=0){
        a=n%10;
        p=a*b;
        b*=2;
        n=n/10;
        add=add+p;
    }

    printf("%d\n",add);
  }




    return 0;
}
搜索更多相关主题的帖子: 进制转 十进制 一行 int add 
2019-06-19 12:34
lxldcr
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2019-6-17
得分:0 
回复 3楼 rjsp
运行正确,但提交代码后答案错误
2019-06-19 14:37
lxldcr
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2019-6-17
得分:0 
回复 2楼 rjsp
输入32个1后输出的居然是–3457
2019-06-19 14:43



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-495364-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.247392 second(s), 10 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved