neuq oj 1010 階乘數列 C語言

階乘數列:利用mul和sum

題目描述

1+2!+3!+4!+…+30!

科學計數法,保留兩位小數。

代碼

#include <stdio.h>

int main()
{
float sum=0,mul=1;
for(int i=1;i<=30;i++)
{
mul=mul*i;
sum=sum+mul;
}
printf("%.2e\n",sum);
return 0;
}
體會:

科學計數法:

C++:

頭文件:

#include <iostream>
#include <ios>
#include <iomanip>

....................................................

cout << setprecision (5) << scientific << 1.24565788;

科學計數法,小數點保留5位

C語言:

<一>

轉換說明及作爲結果的打印輸出
%a                浮點數、十六進制數字和p-記數法(C99)
%A    浮點數、十六進制數字和p-記法(C99)
%c    一個字符 
%d    有符號十進制整數 
%e    浮點數、e-記數法
%E    浮點數、E-記數法
%f    浮點數、十進制記數法  
%g    根據數值不同自動選擇%f或%e.
%G    根據數值不同自動選擇%f或%e.
%i               有符號十進制數(與%d相同)
%o    無符號八進制整數
%p    指針    
%s    字符串
%u    無符號十進制整數
%x    使用十六進制數字0f的無符號十六進制整數 
%X    使用十六進制數字0f的無符號十六進制整數
%%    打印一個百分號
  使用printf ()函數
 printf()的基本形式: printf("格式控制字符串",變量列表);
 
<二>
1.%e:不指定輸出數據所佔的寬度和數字部分的小數位數,有的C編譯系統自動指定給出數字部分的小數位數爲6位,指數部分佔5位(如e+002),其中"e"佔1位,指數符號佔1位,指數佔3位,總的指數部分佔5位。數值按規範化指數形式輸出。例如:printf("%e",123.456);輸出如下:1.234560e+002(共13列,有的系統的規定有所不同);
2.%m.ne 輸出的數據共佔m列,其中有n位小數。如果數值長度小於m,則左端補空格。
後兩個都是s格式符,用來輸出字符串。
%m.ns 輸出佔m列,但只取字符串中左端n個字符。這n個字符輸出在m列的右側,左補空格。

<三>

輸出x,輸出結果是以指數形式輸出一個保留2位小數的實數
例如:若x=123.456
那麼printf("%.2e",x);的輸出結果就是1.23e+002
數據溢出問題,結果形式處理問題



發佈了33 篇原創文章 · 獲贊 4 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章