⑴ 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;
}
⑵ C語言怎樣提取一個數的十位個位百位千位
設一個數為n,則在C語言中其個位、十位、百位、千位依次這樣計算:n/1%10,n/10%10,n/100%10,n/1000%10
代碼如下:
#include<stdio.h>
int main(){
int n = 123456;
int unitPlace = n / 1 % 10;
int tenPlace = n / 10 % 10;
int hundredPlace = n / 100 % 10;
int thousandPlace = n / 1000 % 10;
printf("個位:%d 十位:%d 百位:%d 千位:%d ", unitPlace, tenPlace, hundredPlace, thousandPlace);
getchar();
return 0;
}
運行結果如圖:
(2)c語言如何取出個位數字擴展閱讀
C語言的運算符包含的范圍很廣泛,共有34種運算符。C語言把括弧、賦值、強制類型轉換等都作為運算符處理。從而使C語言的運算類型極其豐富,表達式類型多樣化。靈活使用各種運算符可以實現在其它高級語言中難以實現的運算。
⑶ 怎樣用c語言實現取一個數字的個位
取一個數字的個位,可以分為取整數的個位,和浮點數的個位兩種情況:
1)取一個整數的個位,可以直接求余
例如 變數 int num=127;
num%10 就可以得到個位的7
2)取浮點數的個位
因為%是不能對浮點數直接運算的,因此需要強製取整之後執行
例如變數 double num=27.83;
((int)num)%10 就可以得到個位的7
⑷ 怎麼用C語言獲取某一位的值
int d,x,n;
scanf("%d%d",&x);
n=(x & (1<<d))>0;
printf("%d的第%d位是%d\n",x,d,n);
⑸ C語言中 將一個3位數整數,正確分離出它的個位、十位和百位數字,並分別在屏幕上輸出
3位數整數正確分離的屏幕上輸出源代碼如下:
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int main()
{
char a[10];
gets(a);
int l=strlen(a);
for(int i=l-1;i>=0;i--)
{
cout<<a[i]<<" ";
}
return 0;
}
(5)c語言如何取出個位數字擴展閱讀
C語言程序結構的特點
1、一個程序有一個或多個源程序文件組成。
在一個源程序文件中可以包含三個部分:預處理指令、全局聲明、函數定義。
2、函數是C程序的主要組成部分。
一個C語言程序有一個或多個函數組成,其中必須包含一個main函數(且只能有一個main函數),編寫C程序的工作主要就是編寫一個個函數。
3、函數體即函數首部花括弧內的部分。包括聲明部分和執行部分,聲明部分包括定義在本函數中所用到的變數,執行部分由若干個語句組成,指定在函數中所進行的操作。
⑹ C語言中如何將一個數字的各個位上的數分別提取
#include<stdio.h>
int main()
{
int a;
int b[111]={0};//這里數組必須賦於初值,不然系統會隨機賦值,將輸出錯誤!賦值任何數
scanf("%d",&a);//都行!
int i=0;
while(a!=0)
{
b[i]=a%10;//將各個位的數賦值於數組b[i] ;
a/=10; //現在數組b[i]記錄的是各個位上的數的反序;
i++;//i記錄這個數是幾位數 ;
}
for(int j=i-1;j>=0;j--)
{
printf("%d ",b[j]);//最後反序輸出數組b[j];
}
return 0;
}
有不理解的地方,歡迎追問。望採納!
⑺ C語言怎樣提取一個數的十位個位百位千位
假設那麼數為x,不知道是多少位的.
你可以使用下面的表達式:
個位:x%10;十位:x/10%10;百位:x/100%10;千位:x/1000%10。
C語言有以下幾種取整方法:
1、直接賦值給整數變數。如:
int i = 2.5; 或 i = (int) 2.5;
這種方法採用的是捨去小數部分,可以用於你的問題。
2、C/C++中的整數除法運算符"/"本身就有取整功能(int / int),而下面介紹的取整函數返回值是double。整數除法對正數的取整是捨去小數部分,但是整數除法對負數的取整結果和使用的C編譯器有關。
3、使用floor函數。floor(x)返回的是x的整數部分。如:
floor(2.5) = 2
floor(-2.5) = -3
4、使用ceil函數。ceil(x)返回的是不大於x的最小整數。如:
ceil(2.5) = 2
ceil(-2.5) = -2
floor和ceil對於正數沒有區別,但是對於負數結果不同。floor()是向負無窮大舍入,floor(-2.5) = -3;ceil()是向正無窮大舍入,ceil(-2.5) = -2。
⑻ 用c語言如何表示出一個數的個位,百位,十位
如果n是個多位十進制數,那麼n%10是個位數字,n/10%10是十位數字,n/100%10是百位數字,依此類推。
設一個數為n,則在C語言中其個位、十位、百位、千位依次這樣計算:n/1%10,n/10%10,n/100%10,n/1000%10
代碼如下:
#include<stdio.h>
int main(){
int n = 123456;
int unitPlace = n / 1 % 10;
int tenPlace = n / 10 % 10;
int hundredPlace = n / 100 % 10;
int thousandPlace = n / 1000 % 10;
printf("個位:%d
十位:%d
百位:%d
千位:%d
", unitPlace, tenPlace, hundredPlace, thousandPlace);
getchar();
return 0;
}
(8)c語言如何取出個位數字擴展閱讀:
C語言包含的各種控制語句僅有9種,關鍵字也只有32 個,程序的編寫要求不嚴格且以小寫字母為主,對許多不必要的部分進行了精簡。實際上,語句構成與硬體有關聯的較少,且C語言本身不提供與硬體相關的輸入輸出、文件管理等功能,如需此類功能,需要通過配合編譯系統所支持的各類庫進行編程,故c語言擁有非常簡潔的編譯系統。
⑼ 怎樣用C程序提取一個3位數的各個數位
如果簡單點就int i=123;int k,s;k=i%10;個位數s=(i-100)/10;十位數i=i/100;//百位數
#include
<stdio.h>
void
main()
{
int
a;
int
b,c,d;//各個位數上的數字
printf("請輸入一個三位數:");
scanf("%d",&a);
b=a/100;
//百位
c=(a-b*100)/10;
//十位
d=a%10;
//個位
printf("百位:%d,十位:%d,個位%d ",b,c,d);
printf("它們的和是:%d ",b+c+d);
}
(9)c語言如何取出個位數字擴展閱讀:
C語言有一個突出的優點就是適合於多種操作系統, 如DOS、UNIX,也適用於多種機型。C語言也有自身的不足,比如:C語言的語法限制不太嚴格,對變數的類型約束不嚴格,影響程序的安全性,對數組下標越界不作檢查等。從應用的角度,C語言比其他高級語言較難掌握。
C語言既有高級語言的特點,又具有匯編語言的特點;既是一個成功的系統設計語言,又是一個實用的程序設計語言;既能用來編寫不依賴計算機硬體的應用程序,又能用來編寫各種系統程序;是一種受歡迎、應用廣泛的程序設計語言。