标题:编译C语言时按回车键换一次行??
只看楼主
L苍琰
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2014-10-22
 问题点数:0 回复次数:13 
编译C语言时按回车键换一次行??
#include<stdio.h>

int main(){
  int i=0,j=0,k=1;
  int number[1];

  while(k<=16){
    scanf("%d",&i);
    j=i/2;
    number[k]=i%2;
    k=k+1;
  }
  
  k=16;
  while(k>=1){
    printf("%d",number[k]);
    k=k-1;
  }
return 0;

}
额,这是十进制转二进制的  不过弄不出来  编译C语言时输入数字后按回车键就换一次行。。。
搜索更多相关主题的帖子: number return 二进制 C语言 十进制 
2014-10-22 17:06
soulmate1023
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:6
帖 子:256
专家分:831
注 册:2014-9-23
得分:0 
你在初始化number[1]数组时,你只开了一个数的大小当然放不下了就。
还有,你的j是干什么用的?你确定你的程序时将十进制转成二进制输出吗?
2014-10-22 19:26
L苍琰
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2014-10-22
得分:0 
回复 2 楼 soulmate1023
#include<stdio.h>

int main(){
  int i=0,j=0,k=1;
  int number[16];

  while(k<=16){
    scanf("%d",&i);
    j=i/2;
    number[k]=i%2;
    i=j;
    k=k+1;
  }
  
  k=16;
  while(k>=1){
    printf("%d",number[k]);
    k=k-1;
  }
return 0;

}


额,输漏了,但是改完了还是不行
2014-10-22 23:19
BuilderZ
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:82
专家分:123
注 册:2014-9-22
得分:0 
你知道什么是循环吗?你指定了k循环十六次
2014-10-23 02:20
BuilderZ
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:82
专家分:123
注 册:2014-9-22
得分:0 
也就是说你指定输入i十六次
2014-10-23 02:21
L苍琰
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2014-10-22
得分:0 
回复 5 楼 BuilderZ
额,抱歉,确实是我错了  那么把输入的位置改一下 按回车然后就没反应了??

那段改成这样:
 scanf("%d",&i);
  while(k<=16){
   
    j=i/2;
    number[k]=i%2;
    i=j;
    k=k+1;
  }
2014-10-23 08:43
wu516966411
Rank: 1
来 自:怀化
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-5-10
得分:0 
int main(){
  int i=0,j=0;
  int number[16];

  scanf("%d",&i);
  for(k=0;k<16;k++)
  {
    j=i/2;
    number[k]=i%2;
    i=j;
  }
  
  for(k=16;k>0;k--)
  {
    printf("%d",number[k-1]);
  }
return 0;

}

!!~~~~
2014-10-23 16:39
ye姗
Rank: 1
等 级:新手上路
帖 子:3
专家分:7
注 册:2014-10-14
得分:0 
还可以这样
int main(){
  int i=0,j=0;
  int number[16];

  scanf("%d",&i);
  for(k=15;k>=0;k--)
  {
    j=i/2;
    number[k]=i%2;
    i=j;
  }
  
  for(k=0;k<=15;k++)
  {
    printf("%d",number[k]);
  }
return 0;

}
2014-10-23 21:00
BuilderZ
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:82
专家分:123
注 册:2014-9-22
得分:0 
楼上的两位已回复了你的问题
2014-10-24 02:23
L苍琰
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2014-10-22
得分:0 
回复 7 楼 wu516966411
谢谢了,你的这个程序确实可以正确求出来,但是我的这个跟你的差不多却无法实现,后来我发现我一开始时是将k设为1,一直加到16,这样我运行显示不正确。我就把0赋给K,一直到15,这样就成功了,你知道是什么原因吗?
原代码是六楼的那个
我修改后的代码
#include<stdio.h>

int main(){
  int i=0,j=0,k=0;
  int number[16];


  scanf("%d",&i);
  while(k<=15){
   
    j=i/2;
    number[k]=i%2;
    i=j;
    k=k+1;
  }
  
  k=15;
  while(k>=0){
    printf("%d",number[k]);
    k=k-1;
  }
return 0;

}
2014-10-24 13:05



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




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

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