c語言輸出對應數字
1. c語言輸出數字的格式
格式:intgetchar(void);
intc=getchar();
b)等價於:intc=getc(stdin)
c)也等價於:
intc;
scanf(「%c」,&c);
a)單字元輸入輸出:
getchar、getc函數:c=getchar();等價於scanf(「%c」,&c);
putchar、putc函數:putchar(c);等價於printf(「%c」,c);
b)單行輸入輸出:
gets函數:gets(str);等價於scanf(「%s」,str);
puts函數:puts(str);等價於printf(「%s 」,str);
c)格式化輸入輸出:
printf包括:%d、%u、%x、%c、%s等等。
scanf包括:%d、%u、%x、%c、%s等等。
d)佔位控制:
對於整數和字元串在%和控制符之間的數字代表佔位,負號代表左對齊。
對於浮點數除了用數字代表佔位,負號代表左對齊,還有小數位數的管理。
(1)c語言輸出對應數字擴展閱讀
C 語言中的數據類型(64位)
標識符長度名稱識別方式
char 1B 字元型 ASCII碼
short 2B 短整型 補碼
int 4B 整型 補碼
long 8B 長整型 浮點
float 4B 單精度 浮點
double 8B 雙精度 浮點
* 8B 地址、指針 位元組編號
2. C語言,如何輸出每一位數字
要輸出整型數值的每一位數字,關鍵在於將每一個數字提取出來。
方法有很多,實現方式更是多種多樣,以最常見的兩種方式舉例說明:
一、傳統方法,通過除法和模除,取出每一位,並輸出。
參考代碼如下:
#include<stdio.h>
voidoutput(intn)
{
inta[10];
intl=0;
/*
循環獲取每一位的值,並存到數組a中。
其中l表示已經獲取到的位數。
由於每次獲取的是個位n%10,所以存在數組a中的是各個位數的逆序。
*/
while(n)
{
a[l++]=n%10;
n/=10;
}
//反序輸出每一位值。
while(--l>=0)
printf("%d",a[l]);
}
intmain()
{
intn;
scanf("%d",&n);//輸入n值。
output(n);//輸出各個位。
return0;
}
二、轉為字元串,然後輸出字元串各個字元。
由於在C語言中,有很多庫函數,比如itoa, sprintf等,都可以很方便的將整數轉為字元串,而逐位輸出字元串各個位元組值是很簡單的,所以可以通過轉為字元串,再輸出的方式輸出各個位的值。
參考代碼:
#include<stdio.h>
voidoutput(intn)
{
chara[11];
inti;
sprintf(a,"%d",n);//轉為字元串。
for(i=0;a[i];i++)//遍歷字元串。
printf("%c",a[i]);//輸出各個位值。
}
intmain()
{
intn;
scanf("%d",&n);//輸入n值。
output(n);//輸出各個位。
return0;
}
3. C語言:輸入一個四位正整數,求出該數對應的各位數字並輸出,最後將千位和十位互換,百位何個位互換。
#include <stdio.h>
int main()
{
int number;
printf("請輸入0~9999的數字:");
scanf("%d",&number);
if(number>9999||number<0)
{
printf("請輸入0~9999的數字:");
return 0;
}
int ones=number%10,tens=number/10%10,hundreds=number/100%10,thousands=number/1000%10;
printf("個位:%d\n",ones);
printf("十位:%d\n",tens);
printf("百位:%d\n",hundreds);
printf("千位:%d\n",thousands);
printf("互換:%d\n",tens*1000+thousands*10+ones*100+hundreds);
return 0;
}