C++ 编写程序,输入两个数,输出两个数之间的所有数的二进制,三进制,和八进制?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ 编写程序,输入两个数,输出两个数之间的所有数的二进制,三进制,和八进制?相关的知识,希望对你有一定的参考价值。
#include <stdio.h>
void dec2k(int n,int k)
if(n>k-1)dec2k(n/k,k);
printf("%d",n%k);
int main()
int a,b,i;
scanf("%d%d",&a,&b);
printf("十进制\\t二进制\\t三进制\\t八进制\\n");
for(i=a; i<=b; i++)
printf("%d\\t",i);
dec2k(i,2);
printf("\\t");
dec2k(i,3);
printf("\\t%o\\n",i);
return 0;
参考技术A #include<iostream>using namespace std;
void tobase(unsigned int num, unsigned int base)
if(num >= base)
tobase(num/base, base);
cout << "012345678"[num%base];
int main()
unsigned int n1, n2;
cin >> n1 >> n2;
if(n2 < n1)
n1 = n1 ^ n2;
n2 = n1 ^ n2;
n1 = n1 ^ n2;
for(; n1 <= n2; n1++)
tobase(n1, 2);
cout << "\t";
tobase(n1, 3);
cout << "\t";
tobase(n1, 8);
cout << endl;
return 0;
追问
这个好像不对
追答哪里不对,是结果不对还是编译不通过?
追问结果没对
追答我试了结果是对的,只是没有在同一行显示
你可以再把这个代码复制一下运行,一定可以的
追问如果要十六进制应该怎么弄
追答把012345678改成0123456789ABCDEF,同时调用的时候tobase(num, 16)
本回答被提问者采纳输入2 个正整数m 和n(m≥1,n≤1 000),输出m ~n 之间的所有完数,完数就是因子和与它本身相等的数
要求定义并调用函数factorsum(number),它的功能是返回number的因子和。
例如,factorsum(12)的返回值是16(1 +2 +3 +4 +6)。
【输入形式】
从键盘输入2个正整数m和n。
【输出形式】
输出m ~n之间的所有完数。
【样例输入1】(下划线部分为键盘输入,其余部分为程序输出)
Input m:1
Input n:100
【样例输出1】(输出格式控制符为:%5d)
1 6
28
【样例输入2】(下划线部分为键盘输入,其余部分为程序输出)
Input m:1
Input n:500
【样例输出2】(输出格式控制符为:%5d)
1 6
28 496
【样例说明】
输入提示符后要加一个空格。例如“Input a:”,其中“:”后要加一个且只能一个空格。
英文字母区分大小写。必须严格按样例输入输出。
【】求帮忙看看那里错了
#include<stdio.h>
int factorsum(int n);
int main(void)
int m,n,i;
printf("Input m: ");
scanf("%d",&m);
printf("Input n: ");
scanf("%d",&n);
for(i=m;i<=n;i++)
if(i==factorsum(i))
printf("5d",i);
return 0;
int factorsum(int n)
int i,sum=0;
for(i=2;i<n;i++)
if(n%i==0)
sum=sum+i;
return sum;
以上是关于C++ 编写程序,输入两个数,输出两个数之间的所有数的二进制,三进制,和八进制?的主要内容,如果未能解决你的问题,请参考以下文章
c++程序设计题,编写一个程序,实现两个数之间的四则运算,直至用户输入字符"N"非常感谢!!!
输入2 个正整数m 和n(m≥1,n≤1 000),输出m ~n 之间的所有完数,完数就是因子和与它本身相等的数
c++两个自然数(输入的十进制数转换为二进制时,两个数的位数相同。) 输出:有效则有效,无效则无效