PTA:十进制转换二进制 (15分)(递归法和非递归法)

Bertha 。 2023-07-24 05:49 85阅读 0赞

本题要求实现一个函数,将正整数n转换为二进制后输出。

函数接口定义:
void dectobin( int n );

函数dectobin应在一行中打印出二进制的n。建议用递归实现。

裁判测试程序样例:
#include

void dectobin( int n );

int main()
{
int n;

  1. scanf("%d", &n);
  2. dectobin(n);
  3. return 0;

}

/* 你的代码将被嵌在这里 */

输入样例:
10

输出样例:
1010

递归法

  1. void dectobin( int n )
  2. {
  3. if (n == 0)
  4. printf("0");
  5. else if (n == 1)
  6. printf("1");
  7. else
  8. {
  9. dectobin(n / 2);
  10. printf("%d", n % 2);
  11. }
  12. }

非递归法

  1. void dectobin( int n )
  2. {
  3. int a[10];
  4. int temp, i;
  5. do
  6. {
  7. a[i++] = n % 2;
  8. }while ((n /= 2) != 0);
  9. for (--i; i >= 0; i--)
  10. printf("%d", a[i]);
  11. }

发表评论

表情:
评论列表 (有 0 条评论,85人围观)

还没有评论,来说两句吧...

相关阅读

    相关 -PTA形的输出

    分形,具有以非整数维形式充填空间的形态特征。通常被定义为“一个粗糙或零碎的几何形状,可以分成数个部分,且每一部分都(至少近似地)是整体缩小后的形状”,即具有自相似的性质。 一