求分數源碼
⑴ c語言,就是青年歌手參加歌曲大獎賽,有10個評委進行打分,試編程求這位選手的平均得分。
i應該是整形,所以銀禪腔應該將其定義為int i。修改後代碼為:
#include <stdio.h>
int main()
{
float x[10],avg,max,min,sum,a;
for (int i=0;i<10;i++)
{
scanf(" %f",&x[10]);
if( i==0)
{
max=x[0];
min=x[0];
}
if (x[i]>max) max=x[i];
if (x[i]<min) min=x[i];
sum+=x[i];
}
a=(sum-max-min)/8;
printf("%.2f",a);
}
(1)求分數源碼擴展閱讀:
for循環注意事項
1、for循環中的變數可以是一個也可以是多個,不要局限於一個變數處理到底,那樣有時會很單調,當程序適合把多個變數組成循環時,用多個for語句來表示就是有些浪費;
2、for循環中語句可以為語句體, 語句體外加大括弧"{}"將參加循環的語句括起來。for循環的三個表鋒衫達式都是逗號表達式,這樣來說,其實每個分號表達式可以由幾個逗號表達式構成,中間用",」隔開,最後以「;」結束。
3、for循環襲肢中的"單次表達式"、"條件表達式"和"循環體語句"都是選擇項, 即可以預設成只剩下「;」的空語句, ";"不能預設的原因是編譯格式如此,預設了編譯器不認識而會報錯。
網路-for循環
⑵ 簡單的c語言題目求最簡分數
#include<stdio.h>
intmain(){
inti,j,n;
scanf("%d",&n);
for(i=1;i<n;i++){
for(j=2;j<=i;j++)
if(i%j==0&&n%j==0)break;
if(j>i)printf("%d/%d,",i,n);
}
return0;
}
//運行示例:
⑶ 求一份C語言代碼,分數的四則運算
分數實質就是小數,但是如果化成小數去結算可能會失去精度。
所以我們採用兩個整數去表示分子和分母,假設分子用a表示,分母用b表示:
a1/b1 + a2/b2 的實現為:
(a1*b2+a2*b1)/(b1*b2)
然後去化簡,化簡就是分子分母同時除於他們的最大公約數。
求最大公約數方法為:假設 求 n和m的最大公
1、取絕對值n1=abs(n);m1=abs(m)
2、保證n的絕對值大於m的絕對值,如果n的絕對值小於m的絕對值,則n和m交換(交換代碼省略)
3、int temp=0;
while(temp=(n1%m1))
{
n1=m1; m1=temp;
}
最後m1就是n和m的最大公約數
⑷ 小數和分數的原碼&補碼怎麼做啊
一、小數部分的原碼和補碼可以表示為兩個復數的分子和分母,然後計算二進制小數系統,根據下面三步的方法就會找出小數源代碼和補碼的百位形式。
37/64=100101B/2^6=0.100101B
-51/128=110011B/2^7=0.0110011B
二、將十進制十進制原始碼和補碼轉換成二進制十進制,然後根據下面三步的方法求出十進制源代碼和補碼形式。一個
0.375=0.011B
0.5625=0.1001B
三、二進制十進制對應的原碼和補碼
[37/64]源代碼=[0.100101B]源代碼=00100101B
[-51/128]源代碼=[0.0110011b]源代碼=10110011B
[0.375]原碼=[0.011b]原碼=00110000B
[0.5625]源代碼=[0.1001B]源代碼=01001000B
[37/64]補體=[0.100101B]補體=00100101B
[-51/128]補體=[0.0110011b]補體=11001101B
[0.375]補碼=[0.011b]補碼=00110000B
[0.5625]補體=[0.1001B]補體=01001000B
(4)求分數源碼擴展閱讀:
原碼、逆碼、補碼的使用:
在計算機中對數字編碼有三種方法,對於正數,這三種方法返回的結果是相同的。
+1=00000001[原碼]=00000001[逆碼]=00000001[補碼]
對於這個負數:
對計算機來說,加、減、乘、除是最基本的運算。有必要使設計盡可能簡單。如果計算機能夠區分符號位,那麼計算機的基本電路設計就會變得更加復雜。
負的正數等於正的負數,2-1等於2+(-1)所以這個機器只做加法,不做減法。符號位參與運算,只保留加法運算。
(1)原始代碼操作:
十進制操作:1-1=0。
1-1=1+(-1)=00000001[源代碼]+10000001[源代碼]=10000010[源代碼]=-2。
如果用原代碼來表示,讓符號位也參與計算,對於減法,結果顯然是不正確的,所以計算機不使用原代碼來表示一個數字。
(2)逆碼運算:
為了解決原碼相減的問題,引入了逆碼。
十進制操作:1-1=0。
1-1=1+(-1)=00000001[源代碼]+10000001[源代碼]=00000001[源代碼]+11111110[源代碼]=11111111[源代碼]=10000010[源代碼]=-0。
使用反減法,結果的真值部分是正確的,但在特定的值「0」。雖然+0和-0在某種意義上是相同的,但是0加上符號是沒有意義的,00000001[源代碼]和10000001[源代碼]都代表0。
(3)補充操作:
補語的出現解決了零和兩個碼的符號問題。
十進制運算:1-1=0。
1-1=1+(-1)=00000001[原碼]+10000001[原碼]=00000001[補碼]+11111111[補碼]=00000000[補碼]=00000000[原碼]=0。
這樣,0表示為[00000000],而之前的-0問題不存在,可以表示為[10000000]-128。
(-1)+(-127)=10000001[源代碼]+11111111[源代碼]=11111111[補充]+10000001[補充]=1000000[補充]=-128。
-1-127的結果應該是-128。在補碼操作的結果中,10000000[補碼]是-128,但是請注意,由於-0的補碼實際上是用來表示-128的,所以-128沒有原碼和逆碼。(-128的補碼表10000000[補碼]計算出的00000000[原碼]是不正確的)。