c語言寫分數
① 請問在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");