SWPU期末平均绩点算法(C语言)(不用积分下载)

先上代码:

#include<stdio.h>
#include<math.h>
double result=0,sum=0;
typedef struct subject
{
	double chengji;
	double xuefen;
	double jidian;
	double quanzhong;
}SUBJECT,*PS;

int main()
{	int i,j,k,n;
	SUBJECT a[25];
	PS b[25];
	for(i=0;i<20;i++)
	{
		b[i]=&a[i];
	}
	printf("请输入共有几门课程(最多不超过25门):");
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		printf("请输入第%d门课程的成绩与对应学分(中间以空格分开)",i+1);	
		scanf("%lf%lf",&b[i]->chengji,&b[i]->xuefen);
		b[i]->jidian=(b[i]->chengji-50)/10;
		sum+=b[i]->xuefen;
	} 
	for(i=0;i<n;i++)
	{
		b[i]->quanzhong=b[i]->xuefen/sum;
        result+=b[i]->quanzhong*b[i]->jidian;
	}
	printf("结果为:%.2f\n",result);
	return 0;
}

运行截图:
在这里插入图片描述
与教务系统比对:在这里插入图片描述
算法:每一门课程的(单科成绩-50)/10 算到该门课程的 单科绩点。
然后,计算权重:(该门课程学分 / 所有课程总学分)
最后,单科绩点*权重,再累加就得到期末平均绩点。

其实最难的还是算法,知道了就不难实现了。我认为在这里知道算法比程序实现更重要(校规校纪要考的哦!)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值