A. c語言如何單獨輸出一個數字的每一位
#include
#include
int main()
{
int iNumber;
cout << "請輸入一個數字:" << endl;
cin >> iNumber;
//定義一個棧
int stack;
int top=-1;
while (iNumber % 10)
{
stack[++top]=iNumber % 10);
iNumber = iNumber / 10;
}
printf("從高到低依次是:\n")
for(;top>=0;top--)
{
printf("%d\n",stack[top]);
}
system("pause");
return 0;
}思路介紹,通過%和/去拆分每一位,通過數組去存儲每一個數字.最後輸出數組,就是輸出每一位.
B. C語言中輸出時怎樣控制小數點後的位數,請舉例說明保留1、2、3、4位小數等等,謝謝
在C的編程中,總會遇到浮點數的處理,有的時候,我們只需要保留2位小數作為輸出的結果,這時候,問題來了,怎樣才能讓cout輸出指定的小數點後保留位數呢?
在C語言的編程中,我們可以這樣實現它:
[cpp]view plain液敗
printf("%.2f",sample);
- 在C++中,是沒有格式符的,我們可以通過使用setprecision()函數來實現這個需求。
cout<<"a="<<setprecision(2)<<a<<endl;
- 這時候,我們會發現,如果a的值為0.20001,輸出的結果為納弊a=0.2,後面第二位的0被省略了。
cout.setf(ios::fixed);
cout<<洞埋族"a="<<fixed<<setprecision(2)<<a<<endl;//輸出a=0.20
- 這樣,我們就可以得到0.20了。當然,如果想要關閉掉補0,只需要對fixed進行取消設置操作。
cout.unsetf(ios::fixed);
cout<<"a="<<setprecision(2)<<a<<endl;//輸出a=0.2
- 我們的輸出結果就又變回a=0.2了。
#include<iostream>
#include<iomanip>
usingnamespacestd;
intmain()
{
floata=0.20001;
cout.setf(ios::fixed);
cout<<"a="<<fixed<<setprecision(2)<<a<<endl;//輸出結果為a=0.20
cout.unsetf(ios::fixed);
cout<<"a="<<setprecision(2)<<a<<endl;//輸出結果為a=0.2
return0;
}
想要使用setprecision()函數,必須包含頭文件#include <iomanip>。使用方式如下:
[cpp]view plain
如果我們想要讓它自動補0,需要在cout之前進行補0的定義。代碼如下:
[cpp]view plain
[cpp]view plain
參考代碼
[cpp]view plain
C. c語言輸入一個整數怎麼分別輸出它的每位上的數字
可以通過除法運算符( / )和求余運算符( % )結合循環來實現分別輸出一個整數的每位數字。
具體實現方法可以參考如下程序及注釋說明:
#include<stdio.h>
voidmain()
{
intdata;
inttemp;
printf("請輸入一個整數:");
scanf("%d",&data);//接收用戶輸入的整數,並賦值給變數data
printf("%d從最低位到最高位分別為:",data);
while(data>0)//當data=0或小於0時,退出循環,此時所以位數都已取出
{
temp=data%10;//取出data的最低位
printf("%d",temp);//輸出最低位
data/=10;//將去掉data的最低位,次低位變為最低位
}
}
D. c語言輸出一個數每一位的數字
另漏型外一種思路返缺猜,將數字看成一個字扮跡符串,程序如下。 main()
{
int
i;
char
a[5];
printf("Please
enter:\n");
for(i=0;i<5;i++)
scanf("%c",&a[i]);
for(i=0;i<5;i++)
printf("\n%c",a[i]);
}
E. 用C語言寫程序輸出要求控制每行輸出五個數,怎麼控制
在C語言寫程序輸出時,要控制每行輸出數據的個數,可以通過自定義計數器來完成。
如:
//輸出自然數1-30,每5個數為一行
main()
{inti;
intcnt=0;//定義cnt用作輸出數據的計數器,初始為0
for(i=1;i<螞清=30;i++)//循環30次
{printf("%5d",i);派帶//輸出數據值
cnt++;//每輸出一個值,計塵物蘆數器加一次
if(cnt%5==0)//假設每行輸出5個(如果計數器與5取余為0,則換行)
printf("
");//輸出換行
}
}
F. C語言怎麼控制浮點數的輸出位數
在c語言中可以通過精度限定符來控制浮點數輸出的位數,精度限定符有一個點號後跟一個整數組成。其准確含義依賴於它所修飾的數據類型。示例如下:
#include<stdio.h>
intmain()
{
printf("%.2lf ",1.2345678);
return0;
}
G. 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;
}
H. C語言如何控制輸出數字的有效位數
只有浮點型數據,包括float和double有有效位數的說法。
可以用格式化輸出函數printf輸出數字,同時通過格式化字元串來控制數字有效位數。
printf在輸出浮點數時,默認為6位小數,比如定義float f = 1;
調用printf("%f",a);時會輸出1.000000。
格式化字元串可以設置成%a.bf的形式,其中:
1 a為輸出的數字占據的總寬度(位數),包括整數部分,小數部分和小數點。當實際寬度大於設定寬度時,以實際寬度為准。
2 b為小數位數,也就是輸出數字的有效位數。
比如調用printf("5.2f",a);就可以輸出
1.00
從而達到控制有效位數的效果。
I. C語言中如何輸出任意一個數字的每一位數字
比較常用的思路就是不斷的除10,比如隨便一個數字12345
12345/10=1234
12345%10=5
再把 1234/10=123
1234%10=4
這樣就把這個數字按位拆開。
#include
#include
int main()
{
int iNumber;
cout << "請輸入一個數字:" << endl;
cin >> iNumber;
//定義一個棧
int stack;
int top=-1;
while (iNumber % 10)
{
stack[++top]=iNumber % 10);
iNumber = iNumber / 10;
}
printf("從高到低依次是: ")
for(;top>=0;top--)
{
printf("%d ",stack[top]);
}
system("pause");
return 0;
(9)c語言如何控制輸出值每一位擴展閱讀;
當一個運算對象兩側的運算符優先順序別相同時,則按運算符的結合性來確定表達式的運算順序。關於結合性的概念在其他高級語言中是沒有的,這是C語言的特點之一。
C語言也將 34 種運算符規定了不同的結合性。大多數運算符結合方向是「自左至右」,即:先左後右,也叫「左結合性」,例如 a-b + c,表達式中有-和+兩種運算符,且優先順序相同,按先左後右結合方向,先圍繞減號結合,執行 a-b 的運算,再圍繞加號結合,完成運算(a-b) + c。
J. C語言中輸出時怎樣控制小數點後的位數,請舉例說明保留1、2、3、4位小數等等,謝謝
控制小數位數就是通過輸出格式說明符來規定的
舉例說明如下:
1、float f1=3.1415926;
2、float f2=1234.1415926;
3、float f3=124.1;
4、printf("%3.4f",f1);//輸出結果為:_ _ 3.1416(_表示空格)
5、printf("%3.4f",f2);//輸出結果為:1234.1416
6、printf("%3.4f"賣爛悉,f3);//輸出結果為:124.1000
printf("%3.4f",f);中的3是控制f的整數部分按3位的固定位寬輸出;4是按四捨五入的准則保留4位小數。
註:如果整數部分不足3位,則在前面補空格,超過3位,則按實際位數輸出;如果小數部分不足4,則在後面補0。
如果存儲比精度更重要,請考慮對浮點變數使用float類型。相反,如果精度是最重要的條件,則使用double類中乎型。
浮點變數可以提升為更大基數的類型(從float類型到double類型)。當您對浮點變數執行算術時,通常會出現提升。此算術始終以與具有最高精度的變數一樣高的精度執行。例如,請考慮下列類型聲明:
float f_short;double f_long;long double f_longer;f_short=f_short*f_long;
在前面的示例中,變數f_short提升到類型double並且與f_long相乘;然後,結果舍歷圓入到類型float,然後賦給f_short。
在以下示例中(使用前面示例中的聲明),將以浮點(32位)精度對變數執行算術;結果隨後將提升到double類型:
f_longer=f_short*f_short;
double f_long;
long double f_longer;
f_short=f_short*f_long;
在前面的示例中,變數f_short提升到類型double並且與f_long相乘;然後,結果舍入到類型float,然後賦給f_short。
在以下示例中(使用前面示例中的聲明),將以浮點(32位)精度對變數執行算術;結果隨後將提升到double類型:
f_longer=f_short*f_short;