本文目錄一覽:
如何用C語言編程出加權移動平均法
#include stdio.h
double WMean(double marks[],double weights[],int size)
{
double MarksWeightageProductSum=0;
double WeightageSum=0;
int i=0;
for(i=0;isize;i++)
{
MarksWeightageProductSum+=marks[i]*weights[i];
WeightageSum+=weights[i];
}
return MarksWeightageProductSum/WeightageSum;
}
int main()
{
double w[]={1,2,3,4};
double m[]={100,78,89,78};
printf(“%f\n”,WMean(m,w,4));
getch();
return 0;
}
用C語言計算加權分數
本人(無界)用C-Free親手編寫的,親測可運行
# include stdio.h
struct stu{ //用結構體數組儲存學生的成績和學分
float score; //成績
float credit; //學分
}Stu[100];
int main()
{
unsigned int x=1,y=0;
//y用於結構體數組Stu,同時用於循環計算該學生成績
double sxcsum=0,csum=0,sum;
//sxcsum記錄所有成績乘以學分之和
//csum學分之和
//sum加權成績
printf(“提示:輸入完後按回車鍵結束,輸入負數代表學生成績輸入完成\n”);
while(1) //循環用戶輸入成績,直到用戶輸入完成後結束
{
printf(“請輸入第%d門課程的成績:”,x);
scanf(“%f”,Stu[y].score);
getchar(); //吸收回車鍵字元
if(Stu[y].score0) break; //輸入負數結束循環,結束學生輸入成績操作
printf(“請輸入第%d門課程的學分:”,x++);
scanf(“%f”,Stu[y++].credit);
getchar();
if(Stu[y-1].credit0) break;
}
printf(“—輸入成績結束—\n”);
for(x=0;xy;x++) //循環計算成績,直到算完所有課程 ,y變數儲存共有多少門課程
{
sxcsum+=Stu[x].score*Stu[x].credit;
csum+=Stu[x].credit;
}
sum=sxcsum/csum;
printf(“該學生的加權成績為:%g\n”,sum);
return(0);
}
—「無界」回答—
c語言關於加權平均分計算獎學金的問題
手打的 但沒編譯檢查是否正確- -~
#include stdio.h
#define KECHENG 12
#define JIANGJIN_LINE 82.13
#define JIGE 60
#define KEMU 12
#define TRUE 1
#define FALSE 0
void input_Num(int *Num)
{
printf(“input Num \r\n”);
scanf(“%d”,Num);
}
void input_Chengji(int *Xuefen,int *Chengji)
{
int i;
for(i=0;iKEMU;i++)
{
printf(“input No. %d Xuefen \r\n”,i);
scanf(“%d”,Xuefen[i]);
printf(“input No. %d Chengji \r\n”,i);
scanf(“%d”,Chengji[i]);
}
}
int Sum_Xuefen(int *Xuefen)
{
int Result;
int i;
Result = 0;
for(i=0;iKEMU;i++)
{
Result = Result + Xuefen[i];
}
return Result;
}
int Sum_Chengji(int *Chengji)
{
int Result;
int i;
Result = 0;
for(i=0;iKEMU;i++)
{
Result = Result + Chengji[i];
}
return Result;
}
int Output_JiGeCheck(int *Chengji)
{
int i;
int Result;
Result = TRUE;
for(i=0;iKEMU;i++)
{
if(Chengji[i]60)
{
Result = FALSE;
break;
}
}
return Result;
}
void OutputResult()
{
int T;
int i;
int L;
int chengji[KEMU];
int xuefen[KEMU];
float MaxChengji;
float TempChengji;
MaxChengji = JIANGJIN_LINE;
L = 0;
input_Num(T);
for(i=0;iT;i++)
{
input_Chengji(xuefen[0],chengji[0]);
if(TRUE == Output_JiGeCheck(chengji[0])
{
TempChengji = Sum_Chengji(chengji[0])/Sum_Xuefen(xuefen[0]);
}
if(TempChengji JIANGJIN_LINE)
{
L++;
if(TempChengji MaxChengji)
{
MaxChengji = TempChengji;
}
}
}
printf(“%.2f , %d”,MaxChengji,L);
}
原創文章,作者:JGRQD,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/331446.html