C语言:将输入的十进制正整数n转换为二进制数,并将转换结果输出,转换方法采用“除2取余” 输入一个十进制的正整数,将该数转换成n进制数,并输出。

\u8f93\u51651 \u4e2a\u6b63\u6574\u6570n\uff0c\u5c06\u5176\u8f6c\u6362\u4e3a\u4e8c\u8fdb\u5236\u540e\u8f93\u51fa\u3002

\u7a0b\u5e8f\u6e90\u7801\u5982\u4e0b\uff1a
#include "pch.h"
#define _CRT_SECURE_NO_WARNINGS
#include
#include
using namespace std;
void dectobin(int n) {//\u8f6c\u6362\u4e8c\u8fdb\u5236\u51fd\u6570
int in = n / 2;
int out = n % 2;
if (n == 0) {
return;
}
dectobin(in);//\u8fdb\u884c\u9012\u5f52
printf("%d", out);
}
void main() {
int m; // \u8f93\u5165\u7684\u6574\u6570
scanf("%d", &m);
dectobin(m);//\u8c03\u7528\u51fd\u6570
return;
}
\u7a0b\u5e8f\u8fd0\u884c\u7ed3\u679c\u5982\u4e0b\uff1a




\u6269\u5c55\u8d44\u6599\uff1a
\u5176\u4ed6\u5b9e\u73b0\u65b9\u6cd5
#include
int main()
{
int num, a[20], i = 0;
printf("Input a number:");
scanf("%d", &num);
while (num < 0)
exit(0);
while (num != 0)
{
a[i] = num % 2;
num = num / 2;
i++;
}
i--;
while (i >= 0)
{
printf("%d", a[i]);
i--;
}
return 0;
}

#include
#include
int main()
{
int n,r,i,t,b;
char a[100];
char c[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; //a\u6570\u7ec4\u7528\u50a8\u5b58\u8f6c\u540e\u6bcf\u4f4d\u7684\u6570\u5b57\uff0c
//c\u7528\u6765\u4ee3\u8868\u8d85\u8fc79\u540e\u6bcf\u4f4d\u7684\u6570\u5b57\u3002
scanf("%d%d",&n,&r);

t=n;
t=(int)fabs(t);
for(i=0;;i++)
{
b=t%r;
if(b>=10)
a[i]=c[b-10];
else
a[i]=b+'0';
t=(t-b)/r;
if(t==0)
break;
}
if(n<0)
printf("-");
for(;i>=0;i--)
printf("%c",a[i]);
printf("\n");
return 0;
}


\u6d4b\u8bd5\u6570\u636e\uff1a
\u8f93\u5165 7 2
\u8f93\u51fa 111
\u8f93\u5165 23 12
\u8f93\u51fa 1B
\u8f93\u5165 -4 3
\u8f93\u51fa -11

1、打开visual C++ 6.0-文件-新建-文件-C++ Source File。

2、定义变量和数组:#include <stdio.h>#include <string.h>void main(){ long t1;int i, n, t, t3;

char a[100]。

3、 输入字符: printf("请输入字符:
"); gets(a);  /*输入n进制数存到数组a中*/strupr(a);   /*将a中的小写字母转换成大写字母*/t3 = strlen(a);    /*求出数组a的长度*/t1 = 0; /*为t1赋初值0*/。

4、输入进制: printf("请输入n(2or8or16):
");scanf("%d", &n);                                     /*输入进制数*/。

5、输出最后的结果。



十进制整数转换为二进制整数采用"除2取余,逆序排列"法。
具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为0时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。

参考代码:

#include <stdio.h> 
int main()
{
 int n,a[100],i=0,j;
 scanf("%d",&n);
 while(n)
 {
   a[i++]=n%2;
n/=2;
 }
 for(j=i-1;j>=0;j--)
  printf("%d",a[j]);
 printf("
");
 return 0; 
}
/*
输出: 
10
1010
*/


#include <stdio.h>
void main()
{
int n,a[100];
printf("input the data:\n");
scanf("%d",&n);
int i=0;
while(n!=0)
{
if(n%2!=0)
a[i]=1;
else a[i]=0;
n/=2;
i++;
}
for(int j=i-1;j>=0;j--)
printf("%d",a[j]);
printf("\n");
}

#include<stdio.h>
#define N 2
main(int a,int b,int c)
{
c && scanf("%d",&a) ? main(a, b, 0) : a ? b = a % 2, main(a/N, 0, 0), printf("%d",b) : 0;
}

2楼正解.不过数组太大了吧.他说是正整数啊.就算DOUBLE也用不着100啊...

  • C璇█:浠庨敭鐩杈撳叆涓涓崄杩涘埗姝f暣鏁,姹傚悇浣嶆暟瀛椾箣鍜,鍜嬪啓?
    绛旓細浠g爜鏂囨湰锛歩nclude "stdio.h"char myf(int n){ return n>9 ? n%10+myf(n/10) : n;} int main(int argc,char *argv[]){ int x;printf("Enter x(int x>0)...\nx=");if(scanf("%d",&x)==1 && x>0)printf("The result is %d\n",myf(x));else printf("Input error, ...
  • 杈撳叆涓涓崄杩涘埗鐨姝f暣鏁,灏嗚鏁拌浆鎹㈡垚n杩涘埗鏁,骞惰緭鍑恒
    绛旓細scanf("%d%d",&n,&r);t=n;t=(int)fabs(t);for(i=0;;i++){ b=t%r;if(b>=10)a[i]=c[b-10];else a[i]=b+'0';t=(t-b)/r;if(t==0)break;} if(n<0)printf("-");for(;i>=0;i--)printf("%c",a[i]);printf("\n");return 0;} 娴嬭瘯鏁版嵁锛氳緭鍏 7 2 杈...
  • C璇█:杈撳叆涓涓鏁存暟n,鎵撳嵃涓涓珮涓 n 鐨勮彵褰㈠浘妗
    绛旓細scanf("%d",&n); if(n%2==0 || n<3) printf("涓嶆槸澶т簬绛変簬3鐨勫鏁,璇烽噸鏂杈撳叆!\n"); else break; } strs=draw(n); for(i=0;i<n;i++) printf("%s\n",strs[i]); return 0;}void jt(
  • C璇█,杈撳叆涓涓鏁存暟n(n<=10),鍦杈撳叆n涓暣鏁,瀹氫箟骞惰皟鐢╢un(a,n)鍑芥暟...
    绛旓細include <stdio.h>void fun(int a[100],int n){int i,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-i-1];a[n-i-1]=t;}}void main(){int i,n,a[100];scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);fun(a,n);for(i=0;i<n;i++)printf("%d ",...
  • C璇█:杈撳叆涓涓鏁存暟n,姹傚嚭1-n涓悇浣嶆暟瀛椾箣鍜屼负9鐨勬墍鏈夋暟鐨勫钩鍧囧
    绛旓細```#include<stdio.h> int main(){ int n, sum=0, count=0;printf("璇杈撳叆涓涓鏁存暟n锛");scanf("%d", &n);for(int i=1;i<=n;i++){ int num=i;int digitSum=0;while(num!=0){ digitSum+=num%10;num/=10;} if(digitSum==9){ sum+=i;count++;} } if(count!=0)...
  • c璇█ 鐢遍敭鐩杈撳叆涓涓鏁存暟n,姹俷鏈夊灏戜釜涓嶅悓鐨勬鏁存暟鍥犲瓙 鎻忚堪 鐢...
    绛旓細printf("璇杈撳叆涓涓鏁存暟!\n"); scanf("%lu",&num); for(i=1;i<=num;i++){ if(num%i==0) cnt++; } printf("姝ゆ暟鍏辨湁%lu涓笉鍚屾鏁存暟鍥犲瓙銆俓n",cnt); return 0;} 鏈洖绛旂敱鎻愰棶鑰呮帹鑽 涓炬姤| 绛旀绾犻敊 | 璇勮 1 0 涓婂笣鏉ヨ嚜鍦扮悆 閲囩撼鐜:66% 鎿呴暱: C/C++ 姹囩紪璇█ 鍏朵粬缂栫▼璇█ 鐧惧害...
  • 鐢C璇█缂栫▼,杈撳叆涓涓崄杩涘埗姝f暣鏁,杈撳嚭鍏跺搴旂殑鍗佸叚杩涘埗鏁存暟銆
    绛旓細include<stdio.h> int main(){ int a,*p;p=&a;scanf("%d",p);printf("%x\n",*p);return 0;}
  • c璇█鎬庝箞鍐欏嚭:鈥杈撳叆涓涓鏁存暟n,鍐杈撳叆n涓暣鏁,杈撳嚭鏈灏忓尖濈殑浠 ...
    绛旓細include <stdio.h>void main(){int i,n,m,min;scanf("%d",&n);scanf("%d",&min);for(i=1;i<n;i++){scanf("%d",&m);if(min>m) min=m;}printf("min=%d",min);}杩愯绀轰緥锛
  • C璇█棰樼洰,杈撳叆涓涓鏁存暟n,杈撳嚭璇ユ暟鍚勪綅鏁板瓧鐨勭Н 渚嬪,杈撳叆1234 杈撳嚭...
    绛旓細include <stdio.h> int main(){ int num,s=1;scanf("%d",&num);while(num>0){ s=s*(num%10);num/=10;} printf("姣忎綅鏁颁箣绉槸锛%d\n",s);return 0;}
  • 鐢C璇█姹傝В,杈撳叆涓涓鏁存暟n,鍐杈撳叆n涓暣鏁,杈撳嚭n涓暟涓殑鏈澶ф暟.
    绛旓細鍙互鍙傝冧笅闈㈢殑浠g爜锛歩nclude <stdio.h> void main( ){ int n, i, num , max ;scanf("%d", &n);scanf("%d", &num);max=num;for(i = 1; i < n; i++){ scanf("%d", &num);if(max < num)max = num;} printf("%d\n", max);} ...
  • 扩展阅读:从小c到大 ... c语言怎么输入正整数 ... c语言如何输入正整数 ... c语言进制转换怎么写 ... 二进制对照表大全 ... 简单计算器c语言 ... 逆向显示正整数c语言 ... c语言进制间互相转换 ... c语言正整数各位数字之和 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网