當前位置:首頁 » 編程語言 » c語言寫分數

c語言寫分數

發布時間: 2022-04-30 18:15:02

① 請問在c語言中分數怎麼表示啊,即10/9

首先10/9是表達式,但是在C語言中沒有表示分數的形式,也就是當要以這種形式給出的時候C已經幫運算出結果了。所以你可以選擇兩種表達方式。

1、使用字元串,在使用使用時在轉化一下。

2、使用小數,就是1.1111...這種,申請一個Double型來儲存。

字元串就是 10/9 這種 char fenshu[]="10/9";當要使用的時候,還要再次轉換成Double型。所以說,想要的分數形式只是一個外表沒實際用處。

(1)c語言寫分數擴展閱讀:

字元串在存儲上類似字元數組,它每一位單個元素都是能提取的,字元串的零位是它的長度,如s[0]=10,這提供給我們很多方便,例如高精度運算時每一位都能轉化為數字存入數組。

通常以串的整體作為操作對象,如:在串中查找某個子串、求取一個子串、在串的某個位置上插入一個子串以及刪除一個子串等。兩個字元串相等的充要條件是:長度相等,並且各個對應位置上的字元都相等。

② c語言可以以分數的形式輸出么

如果採用float或者double定義數據類型,則無法以分數形式輸出,如果需要用分數形式輸出,最好的方法是採用兩個int類型的變數儲存分子和分母,如下面的代碼:

int num; // 定義分子

int den; // 定義分母

double a = 3.5;

num = 7; // 3.5的分子

den = 2; // 3.5的分母

printf("%d ", num); // 輸出分子並換行

printf("---- "); // 輸出分數線並換行

printf("%d ", den); // 輸出分母並換行

(2)c語言寫分數擴展閱讀:

C語言參考函數

C語言isgraph()函數:判斷一個字元是否是圖形字元

C語言isdigit()函數:判斷一個字元是否為數字

C語言iscntrl()函數:判斷一個字元是否為控制字元

C語言isalpha()函數:判斷一個字元是否是字母

C語言isalnum()函數:判斷一個字元是否是字母或者數字

int islower(int ch) 若ch是小寫字母('a'-'z')返回非0值,否則返回0

int isprint(int ch) 若ch是可列印字元(含空格)(0x20-0x7E)返回非0值,否則返回0

③ c語言怎麼輸入分數

scanf函數是輸入的功能,沒有強大到能幫你連計算都能一步完成。所以我提供兩種方法到達類似的效果,一種是先將1/3計算好,再輸入賦值到相應的變數中去,另一種是採用初始化,不過由於1/3的值是0.3333,所以在初始化的時候應該這樣初始化float c=1.0/3;

④ c語言,輸入一組分數,int n;,然後scanf("%d",&n);printf("%d\n",

摘要 #include

⑤ C語言的分數計算和輸出格式問題

C語言裡面沒有分數,1/3會被當作是1除以3來計算,結果是一個小數。要輸出1/3,必須是像字元串一樣的輸出:printf("1/3");
也可以這樣:int a = 1, b = 3; printf("%d/%d", a, b);
N個分數相加的結果還是會被當作小數處理,必須你自己設計演算法讓它成為a/b的形式

⑥ c語言程序中怎麼打出分數

分數問題是一個比較有意思的。

c語言並沒有提供分數這個結構,所以你可以用結構體自己實現一個
typedef struct
{
int a;//分子
int b;//分母
}fraction;

與此同時,因為c語言不像c++那樣可以在類/結構體中定義函數,所以你要單獨定義處理分數的函數
比如化簡、判斷是否合法(分母不為0)、加減乘除等等

⑦ c語言中如何輸入分數 scanf("%d/%d",&a,&b)可以嗎

C語言中並沒有明確的分數表示,你這么寫語法上是沒有問題的,只不過你這樣屬於形式像分數,但是計算機並不知道你想輸入的是一個分數,所以你還得將這個分數獲得並保存起來,比如float f=a/b*1.0,你可以通過 scanf("%d/%d",&a,&b)這個類分數形式獲得分數的值,通過f來進行運算

⑧ c語言里要輸入輸出分數,該怎麼定義變數

c語言里要輸入輸出分數,可以定義分子和分母均為整型,或長整型量。
然後按照分數的定義對其進行相關的運算,最後也是分別輸出分子和分母。
例如,要計算一個分數乘以一個整數:
int a,b,k,c=0;
printf("請輸入一個分數:");
scanf("%d/%d",&a,&b);
printf("請輸入要乘以幾:");
scanf("%d",&k);
printf("%a/%b的%d倍是",a,b,k);
a*=k;
if(a>=b)
{
c=a/b;
a%=b;
}
if(c>0)printf("%d ",c);
if(a>0)printf("%d/%b",a,b);
printf("\n");

熱點內容
迭代法編程c 發布:2025-05-15 04:58:01 瀏覽:814
用什麼dns伺服器地址快 發布:2025-05-15 04:52:59 瀏覽:26
手機端so反編譯 發布:2025-05-15 04:50:55 瀏覽:610
linuxlamp安裝 發布:2025-05-15 04:50:45 瀏覽:578
sqlplus緩存區怎麼設置 發布:2025-05-15 04:50:44 瀏覽:858
shell腳本環境變數 發布:2025-05-15 04:45:18 瀏覽:693
安卓nba2k18什麼時候出 發布:2025-05-15 04:38:42 瀏覽:393
王者安卓轉蘋果為什麼顯示失敗 發布:2025-05-15 04:35:49 瀏覽:18
手機優酷緩存視頻格式 發布:2025-05-15 04:13:45 瀏覽:210
公益電影分鏡頭腳本插畫 發布:2025-05-15 04:08:37 瀏覽:961