導航:首頁 > 源碼編譯 > c語言八進制輸出用演算法

c語言八進制輸出用演算法

發布時間:2022-06-05 13:21:19

① C語言編程,輸入十進制數輸出十六進制和八進制

可以通過下面的公式解決

#include<stdio.h>

const int maxn = 128;

const int index8 = 8;

const int index16 =16;

int main()

{int Array8[maxn];

int Array16[maxn];

int n, cot8 = 0;

scanf("%d", &n);

int m = n, cot16 = 0;

while(n) {Array8[cot8++] = n % index8;

n /= index8;}

while(m) {Array16[cot16++] = m % index16;

m /= index16;}

int i;

for(i = cot8 - 1; i >= 0; i--)

printf("%d", Array8[i]);

puts("");

for(i = cot16 - 1; i >= 0; i--)

(1)c語言八進制輸出用演算法擴展閱讀:

十進制轉十六進制的具體方法:

對於整數部分,用被除數反復除以16,除第一次外,每次除以16均取前一次商的整數部分作被除數並依次記下每次的余數。另外,所得到的商的最後一位余數是所求二進制數的最高位。

對於小數部分,採用連續乘以基數16,並依次取出的整數部分,直至結果的小數部分為0為止。故該法稱「乘基取整法」。

10進制數轉換成十六進制數,這是一個連續除以16的過程:把要轉換的數,除以16,得到商和余數,將商繼續除以16,直到商為0。最後將所有餘數倒序排列,得到數就是轉換結果。

② C語言:輸入一個十進制整數,將其轉換為八進制數輸出。不能使用%0,仍然屬於%d輸出

這個是輸出16以內任意進制的演算法
#include "stdafx.h"
#include <windows.h>
#include <stdlib.h>
#include <stdio.h>
char* fn(int n,int count )
{
char hex[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
char result[32]={'0'};
char rst[32]={'0'};
int remainder;
int i=0,j=0;
while(count>0)
{

remainder=count%n;
rst[i]=hex[remainder];
i++;
count=count/n;
}
for(j=0;j<i;j++)
{
result[j]=rst[i-j-1];
}
return result;
}
int main(int argc, char* argv[])
{
int cnt,cn;
char a[32];
printf("輸入的整數或者進制數為零表示退出程序\n");
while(1)
{
printf("請輸入一個32位范圍內整數");
scanf("%d",&cnt);
printf("請輸16以內的轉換進制");
scanf("%d",&cn);
if(cnt==0||cn==0)
break;
else
{
strcpy(a,fn(cn,cnt));
printf("您輸入的整數%d 轉換為%d進制的結果為%s\n\n",cnt,cn,a);
}
}
system("pause");
return 0;
}

③ C語言輸入小寫字母輸出八進制,二進制,十進制

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>

/*十進制數轉換成二進制數字*/
void fun_10to2(int n)
{
if(n<2)
printf("%d",n);
else
{
fun_10to2(n/2);
printf("%d",n%2);
}
}

/*十進制數字轉換成八進制數字*/
void fun_10to8(int n)
{
if(n<8)
printf("%d",n);
else
{
fun_10to8(n/8);
printf("%d",n%8);
}
}

int main()
{
char s[100];
int a;

printf("請輸入一個16進制數(0-9,a-b)\n");
scanf("%s",s);

/*得到10進制數*/
sscanf(s,"%x",&a);

/*輸出10進制數*/
printf("\n10進制數:%d",a);

/*輸出8進制數*/
printf("\n8進制數:");
fun_10to8(a);

/*輸出2進制數*/
printf("\n2進制數:");
fun_10to2(a);

printf("\n");

return 0;
}

④ c語言中十六進制和八進制的格式

1、八進制以0開頭,後面跟數字0~7。如:045(8進制數45)如果使用printf函數輸出時,可以通過格式數明符來控制輸出格式。例如:int
x=23;printf("%x",
x);
//
以16進制格式輸出,輸出17;printf("%o",
x);
//
以8進制格式輸出,輸出2。

2、十六進制以0x開頭,後面跟數字0~9或字母A~F(小寫也可以)。如:0x2D(16進制數2D)。

拓展資料:
C語言是國際上廣泛流行的、很有發展前途的計算機高級語言。它適合作為系統描述語言,即可用來編寫系統軟體,也可用來編寫應用軟體。早期的操作系統等系統軟體主要是用匯編語言編寫的(包括
UNIX操作系統在內)。

⑤ 如何輸出帶符號的八進制C語言

printf(」%o「,a);
%o代表要輸出八進制。

⑥ C語言中,%o八進制輸出,怎麼算的,能說具體嗎

%o為8進制輸出,其實就是將後續參數的值,轉換為8進制形式,然後進行輸出。

計算的時候,實際上就是把10進制數轉為8進制。

轉換方法為除8取余法,具體如下:

1 整數部分除以8,記錄余數;

2 判斷商是否為0,如果為0,則執行3,否則繼續執行1;

3 從最後一個余數向前排列,得到結果。

如圖:

閱讀全文

與c語言八進制輸出用演算法相關的資料

熱點內容
帶大家一起圍觀程序員 瀏覽:91
linuxc程序設計大全pdf 瀏覽:994
手游我的世界租的伺服器怎麼添加mod 瀏覽:552
java中的Ascii 瀏覽:497
php白盒測試工具 瀏覽:574
男人命令女人 瀏覽:166
全球編程語言排名 瀏覽:785
某百度程序員中午面試 瀏覽:614
程序員劉亦菲的樣子 瀏覽:303
java獲取伺服器的時間格式 瀏覽:69
什麼是java中的多態 瀏覽:330
html包含php文件 瀏覽:359
程序員睡覺少感覺不到困 瀏覽:921
空調壓縮機工作電壓 瀏覽:202
夢幻西遊浙江二區伺服器雲主機 瀏覽:250
什麼樣的人才叫程序員 瀏覽:125
ipad如何解壓縮文件下載 瀏覽:225
知網程序員 瀏覽:706
怎麼把電子版投標報價加密 瀏覽:33
電腦安全編譯器 瀏覽:369