湖南中医药大学OJ—1150到1159

2023-10-13 17:40

本文主要是介绍湖南中医药大学OJ—1150到1159,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

    • 1150: 习题4-6 分段函数求值
    • 1151: 习题4-8-1 百分制成绩转换为等级
    • 1152: 习题4-8-2 百分制成绩转换为等级
    • 1153: 习题4-9-1 判断正整数位数
    • 1154: 习题4-9-2 求正整数各位上的数字
    • 1155: 习题4-9-3 逆序输出正整数各位上数字
    • 1156: 习题4-10-1 奖金计算
    • 1157: 习题4-10-2 奖金计算
    • 1158: 习题4-11 4个整数从小到大输出
    • 1159: 习题4-12 求建筑物高度

1150: 习题4-6 分段函数求值

题目描述
有一个函数y=f(x)的表达式如下:
当x<1时,y=x
当1<=x<10时,y=2x-1
当x>=10时,y=3x-11
输入x的值,输出y相应的值。
末尾换行。
输入:
一个实数
输出:
y=计算的结果,保留2位小数,注意末尾换行。

样例输入 Copy
5.1
样例输出 Copy
y=9.20

根据规则编写判断条件

#include<stdio.h>
#include<string.h>
#include<math.h>
#define PI 3.14
int main()
{float x,y;scanf("%f",&x);if(x<1)  y=x;else if(1<=x&&x<10)y=2*x-1;else if(x>=10)y=3*x-11;printf("y=%.2f\n",y);//printf("%d\n",y);return 0;
}

1151: 习题4-8-1 百分制成绩转换为等级

题目描述
从键盘输入一百分制成绩,要求输出其所对应的等级’A’, ‘B’, ‘C’, ‘D’。85分以上(含)为’A’,7084分之间为’B’,6069分之间为’C’,60分以下为’D’。
请用if语句实现。
输入
百分制成绩,保证成绩在0~100之间。
输出
百分制成绩所对应的等级,末尾输出换行。

样例输入 Copy
73
样例输出 Copy
B

#include<stdio.h>
#include<string.h>
#include<math.h>
#define PI 3.14
int main()
{int x;scanf("%d",&x);if(x>=85)printf("A\n");if(x>=70&&x<85)printf("B\n");if(x>=60&&x<70)printf("C\n");if(x<60)printf("D\n");//printf("%d\n",y);return 0;
}

1152: 习题4-8-2 百分制成绩转换为等级

题目描述
从键盘输入一百分制成绩,要求输出其所对应的等级’A’, ‘B’, ‘C’, ‘D’。85分以上(含)为’A’,7084分之间为’B’,6069分之间为’C’,60分以下为’D’。
请用switch语句实现。
输入
一百分制成绩
输出
百分制成绩所对应的等级,末尾换行。

样例输入 Copy
73
样例输出 Copy
B

下面的程序是错误示范
没有考虑到84分的条件应该是B等级

#include<stdio.h>
#include<string.h>
#include<math.h>
#define PI 3.14
int main()
{int x,y;scanf("%d",&x);y=x/10;switch(y){case 10:case 9:case 8:printf("A\n");break;case 7:printf("B\n");break;case 6:printf("C\n");break;default:printf("D\n");}//printf("%d\n",y);return 0;
}

正确操作

#include<stdio.h>
#include<string.h>
#include<math.h>
#define PI 3.14
int main()
{int x,y;scanf("%d",&x);y=x/10;if(x%10<5&&x>80)//仅针对于85这个分数做处理y -= 1;switch(y){case 10:case 9:case 8:printf("A\n");break;//85以上case 7:printf("B\n");break;//84-70case 6:printf("C\n");break;//79-60default:printf("D\n");//60以下}//printf("%d\n",y);return 0;
}

1153: 习题4-9-1 判断正整数位数

题目描述
给定一个不多于5位的正整数,判断它是几位数,并将该数字输出。输出结束后换行。
注意:输入的数字要确保是一个不多于5位的正整数。
输入:
一个不多于5位的正整数。
输出:
输入正整数的位数,注意末尾的换行。

样例输入 Copy
1234
样例输出 Copy
4

一个数对10取余就是取得这个数的最后一位数字
一个数除10就是取得去掉这个数的最后一位后,剩下的数字

#include<stdio.h>
#include<string.h>
#include<math.h>
#define PI 3.14
int main()
{int x,y,a=0;scanf("%d",&x);while(x>0){x/=10;a++;}printf("%d\n",a);     //printf("%d\n",y);return 0;
}

1154: 习题4-9-2 求正整数各位上的数字

题目描述
输入一个不多于5位的正整数,按高位到低位的顺序输出各位上的数字,末尾换行。
注意:确保输入的正整数的位数不多于5。
输入:
一个不多于5位的正整数
输出:
从高位到低位依次输出各位上的数字,中间以空格分隔的。
注意末尾的换行。

样例输入 Copy
2143
样例输出 Copy
2 1 4 3

就是对上面那道题中提到的对10取余和除10操作的练习

#include<stdio.h> 
int main() 
{ int a,g,s,b,q,w; scanf("%d",&a); w=a/10000; q=a/1000%10; b=a/100%10; s=a/10%10; g=a%10; if(w!=0) printf("%d %d %d %d %d\n",w,q,b,s,g) ; else if(q!=0) printf("%d %d %d %d\n",q,b,s,g) ; else if(b!=0) printf("%d %d %d\n",b,s,g) ; else if(s!=0) printf("%d %d\n",s,g) ; else printf("%d\n",g) ; 
}

1155: 习题4-9-3 逆序输出正整数各位上数字

题目描述
输入一个不多于5位的正整数,按逆序输出各位上的数字,末尾换行。
注意:确保输入的正整数的位数不多于5。
输入:
一个不多于5位的正整数。
输出:
逆序输出各位上的数字,中间以空格分隔。
注意末尾的换行。

样例输入 Copy
2143
样例输出 Copy
3 4 1 2

#include<stdio.h> 
int main() 
{ int a,g,s,b,q,w; scanf("%d",&a); w=a/10000; q=a/1000%10; b=a/100%10; s=a/10%10; g=a%10; if(w!=0) printf("%d %d %d %d %d\n",g,s,b,q,w) ;else if(q!=0) printf("%d %d %d %d\n",g,s,b,q) ; else if(b!=0) printf("%d %d %d\n",g,s,b) ; else if(s!=0) printf("%d %d\n",g,s) ;else printf("%d\n",g) ;}

1156: 习题4-10-1 奖金计算

题目描述
某企业发放的奖金根据利润提成。利润I低于或等于100000时,奖金可提10%;利润高于100000元,低于200000元(100000<I<=200000)时,低于100000元的部分仍按10%提成,高于100000元的部分提成比例为7.5%;200000<I<=400000时,低于200000元的部分仍按上述方法提成(下同),高于200000元的部分按5%提成;400000<I<=600000元时,高于400000元的部分按3%提成;600000<I<=1000000时,高于600000元的部分按1.5%提成;I>1000000元时,超过1000000元的部分按1%提成。
从键盘输出当月利润I,求应发奖金数,奖金精确到分。
要求用if语句实现。
输入:
企业利润,小数,双精度double类型
输出:
应发奖金数,保留2位小数,末尾换行。

样例输入 Copy
1050
样例输出 Copy
105.00

耐心走完题目,其实不难,主要是繁杂

#include <stdio.h>int main()
{double a,b,c,d,i;scanf("%lf",&i);if(i<=100000)a=i*0.1;else if(i>100000&&i<=200000)a=(i-100000)*0.075+100000*0.1;else if(i>200000&&i<=400000)a=(i-200000)*0.05+200000*0.1;else if(i>400000&&i<=600000)a=(i-400000)*0.03+400000*0.1;else if(i>600000&&i<=1000000)a=(i-600000)*0.015+600000*0.1;else if(i>1000000)a=(i-1000000)*0.01+1000000*0.1;printf("%.2lf\n",a); return 0;
}

1157: 习题4-10-2 奖金计算

题目描述
某企业发放的奖金根据利润提成。利润I低于或等于100000时,奖金可提10%;利润高于100000元,低于200000元(100000<I<=200000)时,低于100000元的部分仍按10%提成,高于100000元的部分提成比例为7.5%;200000<I<=400000时,低于200000元的部分仍按上述方法提成(下同),高于200000元的部分按5%提成;400000<I<=600000元时,高于400000元的部分按3%提成;600000<I<=1000000时,高于600000元的部分按1.5%提成;I>1000000元时,超过1000000元的部分按1%提成。
从键盘输出当月利润I,求应发奖金数,奖金精确到分。
要求用switch语句实现。
输入:
企业当月利润,小数,双精度double类型
输出:
应发奖金,精确到小数点后2位,末尾换行。

样例输入 Copy
1050
样例输出 Copy
105.00

#include <stdio.h>int main()
{double a,c,d,i;int b;scanf("%lf",&i);b=i/100000;switch(b){case 0: a=i*0.1;break;case 1: a=(i-100000)*0.075+100000*0.1;break;case 2: case 3: a=(i-200000)*0.05+200000*0.1;break;case 4: case 5:a=(i-400000)*0.03+400000*0.1;break;case 6:case 7:case 8:case 9:a=(i-600000)*0.015+600000*0.1;break;default:a=(i-1000000)*0.01+1000000*0.1;break;}printf("%.2lf\n",a);return 0;
}

1158: 习题4-11 4个整数从小到大输出

题目描述
从键盘输入4个整数,要求按照由小到大的顺序输出,末尾换行。
输入
以空格分隔的四个整数。
输出
从小到大输出这4个整数,中间以空格分隔,末尾换行。

样例输入 Copy
10 7 -2 9
样例输出 Copy
-2 7 9 10

循环的嵌套

#include <stdio.h>int main()
{int a[4],i,j,t;for(i=0;i<4;i++)scanf("%d",&a[i]);for(j=0;j<4;j++){for(i=0;i<3;i++){if(a[i]>a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}}}for(i=0;i<4;i++){printf("%d ",a[i]);}printf("\n");return 0;
}

1159: 习题4-12 求建筑物高度

题目描述
有4个圆塔,圆心分别为(2, 2)、(-2, 2)、(-2, -2)、(2, -2),圆半径为1,如下图所示。这4个塔的高度为10米(m),塔以外无建筑物。
在这里插入图片描述
现输入任一点的坐标,求该点的建筑物高度(塔外的高度为零)。
输入
输入以圆括号括起来的两个数字,两个数字之间以逗号(,)分隔,格式如:(x,y)
如下为正确输入:
(1.5,1.9)
浮点型变量,请定义为float类型。
输出
该建筑物的高度,末尾换行。

样例输入 Copy
(1.8,1.9)
样例输出 Copy
10

简单函数pow和sqrt的使用

include <stdio.h>
#include <math.h>
int main()
{float x,y,a,b,c;int h;scanf("(%f,%f)",&x,&y);a=sqrt(x*x);b=sqrt(y*y);c=pow((a-2),2)+pow((b-2),2);if(sqrt(c)<=1)h=10;printf("%d",h); printf("\n");   return 0;
}

这篇关于湖南中医药大学OJ—1150到1159的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/204847

相关文章

大学湖北中医药大学法医学试题及答案,分享几个实用搜题和学习工具 #微信#学习方法#职场发展

今天分享拥有拍照搜题、文字搜题、语音搜题、多重搜题等搜题模式,可以快速查找问题解析,加深对题目答案的理解。 1.快练题 这是一个网站 找题的网站海量题库,在线搜题,快速刷题~为您提供百万优质题库,直接搜索题库名称,支持多种刷题模式:顺序练习、语音听题、本地搜题、顺序阅读、模拟考试、组卷考试、赶快下载吧! 2.彩虹搜题 这是个老公众号了 支持手写输入,截图搜题,详细步骤,解题必备

二叉树经典OJ练习

个人主页:C++忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C++忠实粉丝 原创 二叉树经典OJ练习 收录于专栏【数据结构初阶】 本专栏旨在分享学习数据结构学习的一点学习笔记,欢迎大家在评论区交流讨论💌 目录 前置说明  1. 单值二叉树 2. 相同的树 3. 对称二叉树 4. 二叉树的前序遍历 5. 二叉树中序遍历 6. 二叉树的后序遍历 7. 另一

湖南科技大学24计算机考研情况,软工学硕考数二,分数线290分,录取均分321分!

湖南科技大学(Hunan University of Science and Technology)坐落在伟人故里、人文圣地湘潭,处于长株潭核心区域,比邻湘潭九华经济技术开发区(国家级),是应急管理部、国家国防科技工业局与湖南省人民政府共建高校、“十三五”国家百所中西部高校基础能力建设工程支持高校、国家大学生文化素质教育基地、教育部本科教学工作水平评估“优秀”高校、教育部“卓越工程师教育培养计划”

链表OJ

GDUFE  在期末前再刷一次链表题  ~ 203. 移除链表元素 - 力扣(LeetCode) /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/struct ListNode* removeElements(struc

杭电OJ 1233 还是畅通工程

杭电OJ 1233 还是畅通工程 题目链接 Problem Description某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路总长度为最小。请计算最小的公路总长度。 Input测试输入包含若干测试用例。每个测试用例的第1行给出村庄数目N

链表OJ--超详细解析

链表OJ 文章目录 链表OJ1. 反转链表2. 返回K值3. 链表的中间节点4. 回文链表5. 相交链表6. 带环链表6.1 为什么一定会相遇,有没有可能会错过,或者出现永远追不上的情况,请证明6.2 slow一次走一步,fast如果一次走3步,走4步,走5步还能追上吗,请证明 7. 带环链表27.1 为什么它们最终肯定会在入口点的位置相遇,请证明 8. 复制链表结语 1. 反

北大oj Coins

Problem: 北大oj Coins 文章目录 思路解题方法复杂度Code 思路 题目要求我们找出所有可能组成的金额总数,给定一系列硬币面值和每种硬币的数量。我们使用动态规划来解决这个问题。关键在于如何处理每种硬币数量大于1的情况,这需要对余数进行分组,以便于在遍历时能够有效地更新状态。 解题方法 我们首先初始化一个布尔数组dp,其长度为最大目标金额m加上1

HDU-1150 HK二分图最小点覆盖

//二分图最小点覆盖 = 二分图最大匹配#include<stdio.h>#include<string.h>#include<queue>using namespace std;const int maxn = 105;const int inf = 1<<30;int nx,ny,m;int dis;int map[maxn][maxn];int cx[maxn],cy[m

【背包题】oj题库

目录 1282 - 简单背包问题 1780 - 采灵芝 1888 - 多重背包(1)​编辑 1891 - 开心的金明 2073 - 码头的集装箱 1905 - 混合背包 1282 - 简单背包问题 #include <bits/stdc++.h>using namespace std;//二维数组:dp[i][j]=max(dp[i-1][j],v[i]

Light OJ 1234 Harmonic Number 调和级数部分和

题目来源:Light OJ 1234  Harmonic Number 题意: 思路:没思路啊 这个是高数的东西 发散 n足够大时它无穷大 直接公式解 #include <cstdio>#include <cstring>#include <cmath>#include <string>#include <algorithm>#include <iostream>usi