为了简化问题,假设小戴两门课的成绩大于等于68,小于等于77
题目描述
成绩 绩点
75-77 2.7
72-74 2.3
68-71 2.0
输入格式
第一行输入一个整数T,代表样例个数
第二行输入两个整数(68到77),请你根据题意求出小戴的绩点
输出格式
每个样例输出一个浮点数,保留一位小数
输入输出样例
输入 #1复制
1
77 75
输出 #1复制
2.7
你题目的解答代码如下:
#include <stdio.h>
double jd(double score)
{
if(score>=68 && score<=71)
return 2.0;
else if (score>=72 && score<=74)
return 2.3;
else if (score>=75 && score<=77)
return 2.7;
}
int main()
{
int score1,score2;
int t,i;
double ave;
scanf("%d",&t);
for (i=0;i<t;i++)
{
scanf("%d%d",&score1,&score2);
ave = (jd(score1)+jd(score2)) / 2;
printf("%.1f\n",ave); //保留1位小数
}
return 0;
}
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
单科成绩的绩点怎么算的?直接根据成绩段定好的吗?代码参考如下:
#include <stdio.h>
int main()
{
int i,n;
int score1,score2;
int t;
double ave=0;
scanf("%d",&n);
for (i=0;i<n;i++)
{
scanf("%d %d",&score1,&score2);
//保证score1<score2
if(score1>score2)
{
t = score1;
score1=score2;
score2=t;
}
if(score1>=68 && score2<=71)
ave = 2.0;
else if (score1>=72 && score2<=74)
ave = 2.3;
else if (score1>=75 && score2<=77)
ave = 2.7;
//如果还有其他的,按照类似的方式添加
printf("%.1f\n",ave); //保留1位小数
}
return 0;
}
用if语句判断,再输出绩点。
#include "stdio.h"
void main()
{
int score1,score2;
float result = 0;
int i,n;
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d %d",&score1,&score2);
if(score1>=75 && score1<=77 && score2>=75 && score2<=77)
result = 2.7;
else if(score1>=72 && score1<=74 && score2>=72 && score2<=74)
result = 2.3;
else if(score1>=68 && score1<=71 && score2>=68 && score2<=71)
result = 2.0;
printf("%0.1f\n",result);
}
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!