『壹』 c語言編程時分數的分子為什麼要寫成1.0
因為如果分母也是整形,則表達式的值也是整形。在分母大於分子時,結果永遠是零。
『貳』 C語言中分數如何表示
分數恐怕要轉化為小數了,用float型數表示。另外,也可以用兩個數表示分數,即一個分子,一個分母。
『叄』 C語言的分數在程序中怎麼表示比如2/3
只能表示為0.6666666,
這就是計算機的精度問題了.
『肆』 在c語言和C++中的分數怎麼表示,請把程序寫出來下,比如表示1+2*2的倒數+3*3的倒數
分數就是用/來表示的。你看看笑面的程序熟悉下
題目:有一分數序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個數列的前20項之和。
1.程序分析:請抓住分子與分母的變化規律。
2.程序源代碼:
#include "stdio.h"
main()
{
int n,t,number=20;
float a=2,b=1,s=0;
for(n=1;n<=number;n++)
{
s=s+a/b;
t=a;a=a+b;b=t;/*這部分是程序的關鍵*/
}
printf("sum is %9.6f\n",s);
getch();
}
『伍』 c語言,怎麼實現對分數<就是幾分之幾>的加減乘除等等的運算
定義一個數據結構,可以是一個長度2的數組,也可以是一個struct,下面以數組為例
定義兩個長度2的數組 a[2],b[2],分子分別保存在a[0],b[0],分母分別保存在a[1],b[1](負數的話,符號同分子一起)
乘:分母,分子分別相乘;除:乘以倒數(調換乘數的分子分母);然後約分(涉及最大公約數演算法,可網路)
加減:分母需要相同,涉及最小公倍數演算法(可網路)
以上思路和人工計算的方式相同,只是用c語言「翻譯」一下
另外提供一個思路,直接計算結果,然後從無限循環小數轉化成分數形式
『陸』 c語言分子分母怎麼表示
c語言分子分母表示:float只有6位有效數字。
原因是計算機中數據是2進制存儲的,而且浮點數還有單獨的存儲格式,44.5474轉成二進制時不可能恰好轉成一個有限位數的二進制數,就算能,位數可能也超過了浮點數存儲格式中允許的位數。因此44.54。
簡介
C語言是一門面向過程的計算機編程語言,與C++、C#、Java等面向對象編程語言有所不同。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、僅產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。C語言描述問題比匯編語言迅速、工作量小、可讀性好、易於調試、修改和移植,而代碼質量與匯編語言相當。
『柒』 C語言編程:用兩個正整數來精確表示一個正真分數,其中,一個表示分子,另一個表示分母,例如,
#include<stdio.h>
#define n 100
int gcd(int a, int b)//求公約數
{
if(a == 0)
{
return b;
}
else
{
return gcd(b % a, a);
}
}
int main()
{
int a[n], b[n];
int i, j, tempa,tempb, g;
printf("請輸入100組分數:\n");
for(i = 0; i < n; i++)
{
scanf("%d%d", &a[i], &b[i]);
}
for(i = 0; i < n; i++)//約分
{
if(a[i] % b[i] == 0)
{
a[i] = b[i] = a[i] / b[i];
}
else
{
g = gcd(a[i], b[i]);
a[i] /= g;
b[i] /= g;
}
}
for(i=1;i<n;i++)//插入排序法
{
j=i-1;
tempa=a[i];
tempb=b[i];
while((tempa*1.0/tempb)<(a[j]*1.0/b[j])&&j>0)
{
a[j+1]=a[j];//a[i]=a[i-1];
b[j+1]=b[j];
j--;
}
a[j+1]=tempa;
b[j+1]=tempb;
}
for(i=0;i<n;i++)
{
if(a[i]==b[i])
printf("%d\n",a[i]);
else
printf("%d/%d\n",a[i],b[i]);
}
}
『捌』 請教,C語言中怎麼輸出數的分數形式
沒有默認的分數形式
只能根據值
自己計算出分子和分母
然後
輸出兩個整型
比如
printf("%d/%d", a,b);
從浮點數轉為分數是不精確的 要計算分數, 最好的方法 就是最初就按照分數計算和存儲。
『玖』 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); // 輸出分母並換行
(9)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語言里要輸入輸出分數,該怎麼定義變數
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");