本文目錄一覽:
c語言中實現輸入一個數字字符,然後轉換成整數數字輸出.怎麼做?
字符串轉整數可以有兩種方法:
1.使用c語言自帶的庫函數:atoi。
函數原型:int atoi(const char *nptr);
功能:把字符串轉成整型數。
例如:
#include stdlib.h
#include stdio.h
int main(void)
{
int n;
char *str = “12345”;
n = atoi(str);
printf(“int=%d\n”,n);
return 0;
}
/*
輸出:
int = 12345
*/
2.可以自己編寫一個轉換函數:
#include stdio.h
#include stdlib.h
int atoi(char *s)
{
int t=0;
while(*s){
t=t*10+*s-‘0’;
s++;
}
return(t);
}
int main ()
{
char a[]=”12345″;
int n = atoi(a);
printf(“n=%d “,n);
return 0;
}
/*
輸出:
n = 12345
*/
c語言中如何將字符串轉化成整數型並輸出?
在C語言中將字符串轉化成整型有兩種方法。
1 用atoi函數。
atoi的功能就是將字符串轉為整型並返回。其聲明為
int atoi(char *str);
比如atoi(“1234”);會返回整型1234。
2 用sscanf。
sscanf與標準格式化輸入函數scanf類似,不過源並非是標準輸入,而是字符串。
用sscanf可以處理更複雜的字符串。
比如字符串char * str = “a=1, b=2”;
定義int a,b;後
可以用
sscanf(str,”a=%d, b=%d”,a,b);
來將a,b值提取,計算後,a=1, b=2。
c語言中字符型整數常用格式有那些?
1.d格式符,用來輸出十進制整數.
⑴%d,按整型數據的實際長度輸出.
⑵%md,m為指定的輸出字段的寬度,數據位數小於m,左邊補空格,若大於m,按實際長度輸出
⑶%ld,輸出長整型數據(long)
2.o格式符,以八進制輸出整數(不帶符號,他將符號位也作為八進制數的一部分了)
⑴%o,參考%d的解釋.
⑵%lo,參考%ld的解釋.
⑶%mo,參考%md的解釋.
3.x,X格式符,以十六進制輸出整數
也是3種參考%d的解釋.
4.u格式符,用來將unsigned型數據,既無符號數,以十進制形式輸出
5.c格式符,輸出一個字符.
6.s格式符,輸出一個字符串.
⑴%s,如printf(“%s”,”CHINA”)
⑵%ms,輸出的字符串佔m列,字符串長度小於m,左邊補空格,如果超出則全部輸出.
⑶%-ms,串小於m,則在m列範圍內字符串左靠,右補空格.
⑷%m.ns,輸出佔m列,但只取字符串左端n個字符.這n個字符輸出在m列的右邊,然後左邊補空格.
⑸%-m.ns,和上面的放下,就是n個字符輸出在m列的左側,右邊補空格.nm,那麼m自動取n的值,既保證n個字符正常輸出.
7.f格式符,用來輸出實數,以小數形式輸出.
⑴%f,全部輸出,而且輸出6位小數.
⑵%m.nf,輸出數據共佔m列,n位小數,如果數據長度小於m那麼左邊補空格
⑶%-m.nf,和上面的m.nf相反,為左靠齊,右補空格.
8.e,E格式符,以指數形式輸出實數
⑴%e,不指定輸出數據所佔的寬度和數字部分的小數位數.
⑵%m.ne和%-m.ne,這裡n指小數部分的位數
9.g,G格式符,用來輸出實數,它根據數值大小,自動選擇f格式還是e格式,(選占寬最少的一種),且不輸出無意義的0.這種格式用的不多.
原創文章,作者:IBLJ,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/135518.html