标题:大一新生问问这个错在哪里?求解释!!
只看楼主
叫我vitamin
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-11-29
结帖率:33.33%
已结贴  问题点数:20 回复次数:7 
大一新生问问这个错在哪里?求解释!!
#include<stdio.h>
void main()
{
    int a[8],b[8],c[8],i,t,n,m,sum;
   
   
    printf("请输入十进制n和m:");
    scanf("%d%d",&n,&m);
    sum=n+m;
    for(i=1;i<8;i++)
    {
    a[i]=n%2;
    b[i]=m%2;
    c[i]=sum%2;
    t=n/2;
    t=m/2;
    t=sum/2;
    n=t;
    m=t;
    sum=t;
   
    }
    for(i=7;i>0;i--)
    {
        printf("%d",a[i]);
        
    }
    printf("\n");
    for(i=7;i>0;i--)
    {
        
        printf("%d",b[i]);
    }
    printf("\n");
    for(i=7;i>0;i--)
    {
        
        printf("%d",c[i]);
    }
   
   printf("\n");



}
  为什么结果错了!!
搜索更多相关主题的帖子: 大一新生 十进制 include 
2013-11-29 22:19
叫我vitamin
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-11-29
得分:0 
  明明是感觉没错 怎么会这样呢
2013-11-29 22:19
悟1
Rank: 2
等 级:论坛游民
帖 子:8
专家分:11
注 册:2013-11-23
得分:5 
for(i=1;i<8;i++)//i应该=0
for(i=7;i>0;i--)//i>=0
2013-11-29 22:36
叫我vitamin
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-11-29
得分:0 
回复 3楼 悟1
还是有问题啊!
2013-11-29 22:40
叫我vitamin
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-11-29
得分:0 
怎么发不了图?
2013-11-29 22:41
KAI1991
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-11-29
得分:0 
会不会是结构有问题?
2013-11-30 00:17
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
得分:10 
你是想实现十进制转化二进制吧?
    for(i=1;i<8;i++)
    {
    a[i]=n%2;
    b[i]=m%2;
    c[i]=sum%2;
    t=n/2;   //红色部分顺序调一下就OK了,不然 t 的值被覆盖结果当然不对...
    n=t;     //怎么会犯这种原则性错误呢???
    t=m/2;
    m=t;
    t=sum/2;
    sum=t;
    }

哦   还有一个问题就是你只能输出 7 位二进制数   这个你自己改吧

[ 本帖最后由 韶志 于 2013-11-30 00:42 编辑 ]

三十年河东,三十年河西,莫欺少年穷!
2013-11-30 00:40
thelastone
Rank: 2
等 级:论坛游民
帖 子:14
专家分:14
注 册:2013-11-23
得分:5 
a[8]的话   数组是从0开始到7,而不是1-8.
2013-11-30 13:00



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




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

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