當前位置:首頁 » 編程語言 » c語言計算分數區間
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言計算分數區間

發布時間: 2022-08-31 15:34:42

c語言編程題 計算分數精確值

自己寫方法的話:
void
fun(int
x,int
y,int
d)//x為分子,y為分母,d為精確位數
{
int
temp;
printf("%d.",x/y);//整數部分
while(d>0)
{
x=x%y;
x*=10;
printf("%d",x/y);
d--;
}
}
int
main()
{
int
x,y,d;
x=1;y=3;d=4;
printf("分數%d/%d,精確%d位,為:",x,y,d);
fun(x,y,d);
return
0;
}

② C語言:分數的計算

代碼如下 供參考

#include<stdio.h>

structFraction
{
inta,b,s;
};

structFractionAdd(structFractionx,structFractiony);
structFractionSub(structFractionx,structFractiony);

intgcd(inta,intb)
{
while(a!=b)
{
if(a>b)
{
a-=b;
}
else
{
b-=a;
}
}

returna;
}

voidmini(structFraction*a)
{
intg;

if(a->a==0)
{
a->b=1;
return;
}
g=gcd(a->a,a->b);
a->a/=g;
a->b/=g;
}

structFractionAdd(structFractionx,structFractiony)
{
structFractionr;
if(x.s!=y.s)
{
if(x.s==1)
{
y.s=1;
returnSub(x,y);
}
else
{
x.s=1;
returnSub(y,x);
}
}
r.s=x.s;
r.b=x.b*y.b;
r.a=x.a*y.b+x.b*y.a;
mini(&r);

returnr;
}

structFractionSub(structFractionx,structFractiony)
{
structFractionr;
if(x.s!=y.s)
{
if(x.s==1)
{
y.s=1;
returnAdd(x,y);
}
else
{
x.s=1;
r=Add(x,y);
r.s=-1;
returnr;
}
}

r.s=x.s;
r.b=x.b*y.b;
r.a=x.a*y.b-x.b*y.a;
if(r.a<0)
{
r.s*=-1;
r.a*=-1;
}
mini(&r);

returnr;
}

voidDisplay(structFractiona)
{
if(a.s==1)printf("+");
elseprintf("-");
printf("%d/%d ",a.a,a.b);
}

intmain()
{
structFractionAdd(structFractionx,structFractiony);
structFractionSub(structFractionx,structFractiony);
structFractionf1={1,2,1},f2={3,4,1},f3;
f3=Add(f1,f2);
printf(" 兩個分數相加的結果為:");Display(f3);
f3=Sub(f1,f2);
printf(" 兩個分數相減的結果為:");Display(f3);
return0;
}

③ c語言,怎麼實現對分數<就是幾分之幾>的加減乘除等等的運算

  1. 定義一個數據結構,可以是一個長度2的數組,也可以是一個struct,下面以數組為例

  2. 定義兩個長度2的數組 a[2],b[2],分子分別保存在a[0],b[0],分母分別保存在a[1],b[1](負數的話,符號同分子一起)

  3. 乘:分母,分子分別相乘;除:乘以倒數(調換乘數的分子分母);然後約分(涉及最大公約數演算法,可網路)

  4. 加減:分母需要相同,涉及最小公倍數演算法(可網路)


以上思路和人工計算的方式相同,只是用c語言「翻譯」一下

另外提供一個思路,直接計算結果,然後從無限循環小數轉化成分數形式

④ 用C語言計算加權分數

本人(無界)用C-Free親手編寫的,親測可運行

#include<stdio.h>

structstu{ //用結構體數組儲存學生的成績和學分
floatscore; //成績
floatcredit; //學分
}Stu[100];

intmain()
{
unsignedintx=1,y=0;
//y用於結構體數組Stu,同時用於循環計算該學生成績
doublesxcsum=0,csum=0,sum;
//sxcsum記錄所有成績乘以學分之和
//csum學分之和
//sum加權成績
printf("提示:輸入完後按回車鍵結束,輸入負數代表學生成績輸入完成 ");
while(1) //循環用戶輸入成績,直到用戶輸入完成後結束
{
printf("請輸入第%d門課程的成績:",x);
scanf("%f",&Stu[y].score);
getchar(); //吸收回車鍵字元
if(Stu[y].score<0)break; //輸入負數結束循環,結束學生輸入成績操作
printf("請輸入第%d門課程的學分:",x++);
scanf("%f",&Stu[y++].credit);
getchar();
if(Stu[y-1].credit<0)break;
}
printf("---輸入成績結束--- ");
for(x=0;x<y;x++)//循環計算成績,直到算完所有課程,y變數儲存共有多少門課程
{
sxcsum+=Stu[x].score*Stu[x].credit;
csum+=Stu[x].credit;
}
sum=sxcsum/csum;
printf("該學生的加權成績為:%g ",sum);
return(0);
}

---「無界」回答---

⑤ C語言:計算全班平均成績,及統計各分數段人數的程序問題

#include<stdio.h>
intmain(void)
{floatsum=0.0,avg=0.0;
intnum,count,c9,c89,c78,c67,c6;
num=count=c9=c89=c78=c67=c6=0;
scanf("%d",&num);
while(num>=0&&num<101) //這里不能有分號,否則就進入死循環了。另外,還應當允許為0
{sum=sum+num;
count=count+1;
if(num>=90)c9=c9+1;
else
{if(num>=80&&num<90)c89=c89+1;
else
{if(num>=70&&num<80)c78=c78+1;
else
{if(num>=60&&num<70)c67=c67+1;
elsec6=c6+1;
}
}
}
scanf("%d",&num);
}
avg=sum/count;
printf("全班平均成績為:%f ",avg);
printf("90分以上的(包括90分)的人數是:%d ",c9);
printf("80~90分(包括80分)的人數是:%d ",c89);
printf("70~80分(包括70分)的人數是:%d ",c78);
printf("60~70分(包括60分)的人數是:%d ",c67);
printf("60分以下的人數是:%d ",c6);
return0;
}

⑥ 用C語言求 輸入30個成績數據,統計各分數段(0~59,60~69,70~79,80~89,90~100)的人數,最高分,最低分和平均分.

#include<stdio.h>
main()
{ int i,a[30], b[5],max,min,ave=0;
bb[5]={0};
printf("Enter 30 students' goals:\n");
for(i=0;i<30;i++)
scanf("%d",&a[i]);
max=min=a[0];
for(i=0;i<30;i++)
{if(a[i]>=0&&a[i]<=59)b[0]++;
if(a[i]>=60&&a[i]<=69)b[1]++;
if(a[i]>=70&&a[i]<=79)b[2]++;
if(a[i]>=80&&a[i]<=89)b[3]++;
if(a[i]>=90&&a[i]<=100)b[4]++;
if(a[i]>max)max=a[i];
if(a[i]<min)min=a[i];
ave+=a[i];
}
ave/=30;
prifnt("各階段的成績人數分別為:\n");
for(i=0;i<5;i++)
printf("%4d",b[i]);
printf("最高分與最低分和平均分分別為:\n");
printf("max=%d,min=%d,ave=%d",max,min,ave);
}

⑦ c語言編程題 統計成績數組score中各分數段的人數並存儲到數組num中。分數段60~69,70

#include <stdio.h>

int main()
{
int num[5]={0};
int score[123]={93,85,77,68,59,43,94,75,98};
int i;
for(i=1;i<=9;i++)
{
if(score[i]>=90 && score[i]<=99)
num[3]++;
else if(score[i]>=80 && score[i]<=89)
num[2]++
else if(score[i]>=70 && score[i]<=79)
num[1]++;
else if(score[i]==100)
num[4]++;
else
num[5]++;
}
printf("%d,%d,%d,%d,%d\n",num[1],num[2],num[3],num[4],num[5]);
return 0;
}

⑧ 全國計算機二級c語言怎麼計算分數

你好!!!
首先等級考試要是過的話,筆試和機試都得考過才可以拿到證書。過的話有及格和優秀,優秀筆試和機試都得大於85吧。
關於筆試的話,就是按筆試的評分標准。
機試的話,我想並不是按照你寫多少就給你多少的分。
比如:你填空花費了半天的時間還沒有填完,後面的都沒有寫,即使你填對60個分,都可能不及格的。
但是也許你每個題目都做了,即使沒有完全答對,特別是編程題,只要你有你的思路,框架就Ok了,即使你沒有做對60分也有可能及格的。

⑨ C語言 分數計算怎麼編 如1+1/2+1/3+1/4+……1/n

需要准備的材料分別有:電腦、C語言編譯器。

1、首先,打開C語言編譯器,新建一個初始.cpp文件,例如:test.cpp。