c語言十進制轉字元串
① c語言如何把數字轉化為字元串
C語言提供了幾個標准庫函數,可以將任意類型(整型、長整型、浮點型等)的數字轉換為字元串,下面列舉了各函數的方法及其說明。
● itoa():將整型值轉換為字元串。
● ltoa():將長整型值轉換為字元串。
● ultoa():將無符號長整型值轉換為字元串。
● gcvt():將浮點型數轉換為字元串,取四捨五入。
● ecvt():將雙精度浮點型值轉換為字元串,轉換結果中不包含十進制小數點。
● fcvt():指定位數為轉換精度,其餘同ecvt()。
② c語言將十進制轉為八進制字元串
#include <stdio.h>
#include <string.h>
void invert(char *str)
{
char t,*p=str+strlen(str)-1;
while(str<p)
{
t=*str;
*str=*p;
*p=t;
str++;
p--;
}
}
void d2o(int n,char str[])
{
char *p=str;
while(n)
{
*p++="01234567"[n%8];
n/=8;
}
*p='\0';
invert(str);
}
int main()
{
int num;
char str[100];
scanf("%d",&num);
d2o(num,str);
puts(str);
}
③ C語言用1個10進制數表示字元串,並輸出該值怎麼做
要把一個十進制形式的整數數字字元串,轉換為一個十進制整數,可以用以下的辦法:
char s[]="12345678";
int i,n=0;
for(i=0;s[i];i++)
n=n*10+s[i]-'0';
printf("%d",n);
運行這段代碼後可以輸出:
12345678
④ C語言怎麼將一個十進制的整數轉換成十六進制的字元串
要轉成字元串 其實不需要自己寫多少程序 借用sprintf就可以了
char s[20];
int a;
scanf("%d",&a);
sprintf(s, "%x", a);
這樣 s中就是a的16進制字元串了。
⑤ C語言:怎麼將十進制數字轉換為二進制字元串,誰能幫我寫個函數
十進制數轉換為二進制數時,由於整數和小數的轉換方法不同,所以先將十進制數的整數部分和小數部分分別轉換後,再加以合並。十進制整數轉換為二進制整數採用"除2取余,逆序排列"法。具體做法是:用2去除十進制整數,可以得到一個商和余數;再用2去除商,又會得到一個商和余數,如此進行,直到商為0時為止,然後把先得到的余數作為二進制數的低位有效位,後得到的余數作為二進制數的高位有效位,依次排列起來。 比如:255=(11111111)B 這個不 是一下就會的得勤加練習 就會做到熟能生巧。 望採納
⑥ C語言如何將一個數字組成的字元串轉變成十進制數
辦法很多,提供三種供參考。
一、直接使用庫函數atoi將數字字元串轉換成十進制整數。代碼如下:
#include"stdio.h"
#include"stdlib.h"//調用庫函數atoi要包含這個文件
intmain(intargc,char*argv[]){
chara[]="478167831";
printf("%d ",atoi(a));//直接調用atoi將a轉換為十進制整數
return0;
}
二、用庫函數sscanf直接將數組中的數字字元串讀入十進制整型變數。代碼如下:
#include"stdio.h"
intmain(intargc,char*argv[]){
chara[]="478167831";
intx;
sscanf(a,"%d",&x);//調用sscanf,讀入時自動轉換為int型並由%d控制以十進制賦給變數x
printf("%d ",x);//輸出
return0;
}
三、自行編寫轉換代碼:
#include"stdio.h"
intmain(intargc,char*argv[]){
chara[]="478167831";
intx,i;
for(x=i=0;a[i];(x*=10)+=a[i++]-'0');//字元與數字的關系是"字元值-'0'==同名數字"
printf("%d ",x);//輸出
return0;
}
上述三代碼的輸出結果如下圖:
⑦ C語言將數字轉換為字元型輸出(用函數)
可以使用sprintf函數實現功能。
sprintf的聲明為
int sprintf(char *dst, const char * format_str...);
其功能為:將...部分的參數,按照format_str的要求,輸入到dst中。
需要根據數字的類型,使用format_str。
如整型(int)的使用方式為
sprintf(buf, "%d", a);
如果a為123,那麼buf中的字元串為"123"。
常見的數字類型還有:
1 short, 用%h輸出;
2 long, 用%ld輸出;
3 float, 用%f輸出;
4 double, 用%lf輸出。
⑧ 用C語言編程實現10進制數值轉16進制字元串
根據10
進制
轉換為16進制的
規則
,編寫
C語言程序
將10進制數轉換為16進制數。
具體實現方法可參考如下程序:
#include<stdio.h>void
main(){
int
i,
x;
//
x表示欲轉換的10進制數
int
data[10],
index=0;
//
data數組存放轉換後的16進制數,index表示
下標
scanf("%d",
&x);
//
接受欲轉換的10進制數
for(i=0;
i<10;
i++)
//
對數組data進行初始賦值操作
data[i]
=
0;
printf("%d對應的16進制為:",
x);
//
反復相除取余,並將
余數
存放在data數組中
while(x>0)
{
data[index]
=
x%16;
x
=
x/16;
index++;
}
//
逆序輸出data數組中的元素,即為10進制數對應的16進制數
for(i=index-1;
i>=0;
i--)
printf("%d",
data[i]);
printf("\n");
}
⑨ c語言中,將字元轉換為十進制的程序
字元轉為10進制 用sscanf或者用atoi均可
以字元串中, 本身為10進制字元串為例
用sscanf程序如下:
#include<stdio.h>
intmain()
{
chars[20];
inti;
scanf("%s",s);
sscanf(s,"%d",&i);
printf("%d ",i);
return0;
}