目录
7-256 五分制成绩(函数实现)
分数 100
全屏浏览题目
切换布局
作者 于延
单位 哈尔滨师范大学
任务描述
编写函数int get(int n){ },形式参数n为某次考试的100分制的成绩,返回值为5分制成绩。说明:百分制成绩为整数,函数功能为把总分为100的百分制成绩n转换成5分制成绩返回;如果形式参数n的值超出0~100的范围,返回-1。分数n在[0,10)区间返回0、分数在[10,40)区间返回1、分数在[40,60)区间返回2、分数在[60,70)区间返回3、分数在[70,80)区间返回4、分数在[80,100]区间返回5。
请设计主函数的功能为读入一个100分制的分数,输出5分制成绩。
输入样例:
85
输出样例:
5
输入样例:
73
输出样例:
4
输入样例:
23
输出样例:
1
输入样例:
102
输出样例:
-1
#include <iostream>
using namespace std;
int grade(int s)
{
if(s<0 || s>100)
return -1;
s=s/10;
switch(s)
{
case 0: return 0;
case 1:
case 2:
case 3: return 1;
case 4:
case 5: return 2;
case 6: return 3;
case 7: return 4;
case 8:
case 9:
case 10: return 5;
}
}
int main()
{
int s;
cin>>s;
cout<<grade(s)<<endl;
return 0;
}
7-257 日期间隔(第几天)
分数 100
全屏浏览题目
切换布局
作者 于延
单位 哈尔滨师范大学
任务描述
编写函数,形式参数为表示年月日的三个整数(日期合法),返回这一天是当年的第几天。
主函数中输入年份和两个月日,共五个整数,表示两个日期,输出这两个日期相差多少天。
输入格式:
Y M1 D1 M2 D2,共5个整数,Y表示年份,M1 D1表示第一个日期的月日,M2 D2表示第二个日期的月日。
输入样例:
2021 1 1 1 31
输出样例:
30
输入样例:
2020 2 1 3 1
输出样例:
29
输入样例:
2020 1 1 12 31
输出样例:
365
输入样例:
2021 1 1 12 31
输出样例:
364
#include<stdio.h>
int day(int y,int m,int d){
int i,sum=0,a[]={31,28,31,30,31,30,31,31,30,31,30,31};
for(i=0;i<m-1;i++){
sum=sum+a[i];
}sum=sum+d;
if((y%4==0&&y%100!=0||y%400==0)&&m>=3){
sum=sum+1;
}return sum;
}
int main(void){
int y,m,d;
int m1,d1;
scanf("%d%d%d%d%d",&y,&m,&d,&m1,&d1);
printf("%d",day(y,m1,d1)-day(y,m,d));
return 0;
}