| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 532 人关注过本帖
标题:C++,有源码,求解释。
只看楼主 加入收藏
qq915282686
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-12-26
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
C++,有源码,求解释。
1:那个自定义输出函数是做什么的?有什么用,里面求解释。
2:void dtob(int n) 类似于这个不是空函数吗?里面为什么还要写int n? 可以写在下面吗?
3:a[i]=n%2;
      n=n/2;
      i++;:

第二句是设么意思?最后为什么还要+1?



int a[100],i=0;
void init()
{
    int k;
    for (k=0;k<100;k++)
        a[k]=0;
}
void print()   //自定义输出函数
{
    int j;
    for(j=i-1;j>=0;j--)
        if (a[j]<10) printf("%d",a[j]);
         else
         {
            switch (a[j]){
                 case 10:printf("A");break;
              case 11:printf("B");break;
              case 12:printf("C");break;
              case 13:printf("D");break;
              case 14:printf("E");break;
              case 15:printf("F");
             }
         }
    printf("\n");
}

void dtob(int n)   //十进制转换为二进制
{
i=0;
  init();
  while(n!=0)
  {
      a[i]=n%2;
      n=n/2;
      i++;
  }
  printf("对应的二进制数为:");
  print();
}

void dtoO(int n)  //十进制转换为八进制
{
i=0;
  init();
  while(n!=0)
  {
      a[i]=n%8;
      n=n/8;
      i++;
  }
  printf("对应的八进制数为:");
  print();
}

void dtoh(int n)   //十进制转换为十六进制
{
i=0;
  init();
  while(n!=0)
  {  
a[i]=n%16;
     n=n/16;
     i++;
  }
  printf("对应的十六进制数为:");
  print();
}

main()
{
int num,r;
printf("请输入一个十进制数和要转换的进制数:");
 scanf("%d%d",&num,&r);
while(num!=0)
{
if (r==2)  dtob(num);
  else if (r==8) dtoO(num);
    else if (r==16) dtoh(num);
       else printf("输入进制数有误,重新输入!");
  printf("如果继续转换输入一个十进制数和要转换的进制数,否则输入0\n");
scanf("%d%d",&num,&r);
}
}
搜索更多相关主题的帖子: void 函数 
2012-01-26 11:03
c030825174
Rank: 2
等 级:论坛游民
帖 子:1
专家分:20
注 册:2012-1-18
收藏
得分:20 
建议你去了解进制之间的转换,这样就可以明白为什么要那个输出函数,void是表示这个函数无返回值,而int n是这个函数的形参。
2012-01-26 12:49
快速回复:C++,有源码,求解释。
数据加载中...
 
   



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

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