巩固练习(温故而知新)

整数运算——1323 

扩建花圃问题 题目描述 梅山小学有一块长方形花圃(花圃的长宽都是整数),长m米,宽未知。在修建校园时,花圃的长 增加了n米,此时发现增加出来的面积有s平方米。请编程计算出原来花圃的面积是多少平方米? (4.2.19)

输入 3个整数,分别是m、n、s

输出 一个整数,原来花圃的面积数 样例 输入复制 8 3 18 输出复制 48

#include<iostream>
using namespace std;
int main()
{
	int m,n,s,a;
	cin>>m>>n>>s;
	a = s/n*m;
	cout<<a<<endl;
		
	return 0;
}

多分支判断——1310

 至少要买几瓶止咳糖浆? 题目描述 花花生病了,妈妈去给花花买儿童止咳糖浆。一瓶儿童止咳糖浆的规格及用法如下所示,一般花花 咳嗽需要5天才能痊愈。 止咳糖浆规格:每瓶120毫升,每日3次,10岁以上儿童:每次25毫升, 7~10岁儿童:每次15毫升,3~6岁儿童:每次5毫升。 请根据止咳糖浆的规格以及花花的年龄计 算,写一个程序计算如果花花要痊愈,妈妈至少要买几瓶止咳糖浆?(4.1.7)

输入 一个整数,代表花花的年龄(花花的年龄在3岁以上)

输出 一个整数,代表妈妈最少需要购买的糖浆瓶数 样例 输入复制 5 输出复制 1 1464

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
    int n,sum = 0;
    cin>>n;
    if (n>10)
    {
        sum = 25*5*3;
    }
    else if (n>7 &&n<10)
    {
        sum = 5*3*15;
    }
    
    else if (n>3 && n<6)
    {
        sum = 5*3*5;
    }
    if(sum%120 != 0)
    {
        cout<<sum/120+1;
        
    }
    else 
    {
        cout<<sum/120;
    }
   return 0;
   
}

多分支判断——1464

           晶晶的补习班 题目描述 晶晶上初中了。妈妈认为晶晶应该更加用功学习,所以晶晶除了上学之外,还要参加妈妈为她报名 的各科补习班。晶晶的妈妈给了晶晶的下周每天上补习班的小时数,晶晶同学想知道,下周平均一 天要上多少小时的补习班(结果保留1位小数),最长的补习班需要上几小时,最短的补习班需要 上几小时?

输入 7个整数,用空格隔开,代表晶晶同学下周7天需要上的补习班的小时数。

输出 一个小数和两个整数,用空格隔开,第一个小数代表下周平均每天需要上多少小时补习班(结果保 留1位小数),第二个整数代表最长的补习班的小时数,第三个整数代表最短的补习班的小时数。 样例 输入复制 1 3 2 5 4 7 6 输出复制 4.0 7 1

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
	int a,b,c,d,e,f,g;
	cin>>a>>b>>c>>d>>e>>f>>g;
	int max = a;
	
	if(a<b)
	{
		max = b;
	}
	if(max<c)
	{
		max = c;
	}
	if(max<d)
	{
		max = d;
	}
	if(max<e)
	{
		max = e;
	}
if(max<f)
	{
		max = f;
	}
	if(max<g)
	{
		max = g;
	}

	int min = a;
	if(min>a)
	{
		min = a;
	}
	if(min>b)
	{
		min = b;
	}
	if(min>c)
	{
		min = c;
	}
	if(min>d)
	{
		min = d;
	}
	if(min>e)
	{
		min = e;
	}
if(min>f)
	{
		min = f;
	}
	if(min>g)
	{
		min = g;
	}
	float v = (a+b+c+d+e+f+g)/7;
	cout<<fixed<<setprecision(1)<<v<<endl;
	cout<<max<<endl;
	cout<<min;
	return 0;
}

1462 -小明的游泳时间

题目描述 伦敦奥运会要到了,小明在拼命练习游泳准备参加游泳比赛。这一天,小明给自己的游泳时间做了精确的计时 (本题中的计时都按24小时制计算),它发现自己从a时b分一直游泳到当天的c时d分,请你帮小明计算一下,它 这天一共游了多少时间呢?小明游的好辛苦呀,你可不要算错了哦。

输入 一行内输入4个整数,分别表示a,b,c,d。

输出 一行内输出2个整数e和f,用空格间隔,依次表示小明这天一共游了多少小时多少分钟。其中表示分钟的整数f应 该小于60。 样例

输入复制 12 50 19 10 输出复制 6 20

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{   //A时B分-C时D分 
	int a,b,c,d,e,f,n,m,z;
	cin>>a>>b>>c>>d;
	e = a*60+b;
	f = c*60+d;
	n = f-e;
	m = n/60;
	z = n-m*60;
	cout<<m<<" "<<z<<endl; 
   return 0;
   
}

1338 - 求圆环的面积

题目描述 如下图所示的圆环铁片,中间是空心的,已知圆环外圆的半径是r1厘米(如:10cm),内圆半径 是r2厘米(如:6cm),请编程计算该铁片的面积。

(外圆面积 – 内圆面积,假设π=3.14,结果 保留2位小数) (5.2.99) 输入 2个整数r1、r2,分别代表外圆和内圆的半径。

输出 铁片的面积。

样例 输入    10 6    输出  200.96

说明 圆的面积和周长求解公式分别如下; 圆的面积S = π * 半径 * 半径;(π读作pài,π = 3.1415926…,在具体的题目中π的值精确到小数 点后多少位,取决于具体的题目) 圆的周长C = π * 2 * 半径;

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{   
    float n,r1,r2,pi = 3.14;
    cin>>r1>>r2;
    n = pi*r1*r1-pi*r2*r2;
    cout<<fixed<<setprecision(2)<<n<<endl;
   return 0;
   
}

1031 - 温度转换

题目描述 编一程序,将摄氏温度换为华氏温度。公式为:f=9/5*c+32。其中f为华氏温度,c是摄氏温度。 (5.2.12)

输入 输入一行,只有一个整数c 输出

输出只有一行,包括1个实数。(保留两位小数)

样例 输入复制 50 输出复制 122.00

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{   
    float f;
    int c;
    cin>>c;
    f = 1.00*9/5*c+32;
    cout<<fixed<<setprecision(2)<<f<<endl;
   return 0;
 
}

第一次编辑程序时,少写了1.00,输入50后输出82.00,添加1.00后,答案正确,但是不知道是什么原因?

1625 - 谁的年龄大

题目描述 甲乙两个人在公园相遇,甲说我今年n岁了(n是一个两位的整数,个位和十位不相等),乙说, 太巧了,你的年龄倒过来,就是我的年龄,请问两个人谁的年龄更大, 请输出那个更大的年龄?

比如,假设甲今年12岁,那么乙就是21岁,乙的年龄更大,应当输出乙的年龄21岁。

输入 输入一个整数n,代表甲的年龄。 输出 输出两个人年龄的较大值。

样例 输入复制 12 输出复制 21

#include<iostream>
using namespace std;
int main()
{
	int n,g,s,z;
	cin>>n;
	g = n/1%10;
	s = n/10%10;
	if(g>s)
   {
   	cout<<g*10+s;   
   }
   else
  {
  	cout<<s*10+g;
  }
   return 0;	
}


1629 - 六位数是否对称

题目描述 请从键盘读入一个六位整数,判断这个六位整数是否是对称数(对称数指的是,这个数正过来和倒 过来是同一个数,比如:123321、685586、862268等数都是对称数),如果是对称数,则输出 “Y”,否则输出“N”。(请注意字母的大小写)

输入 读入一个六位的整数。 输出 如果这个六位数是对称数,输出“Y”,如果不是,输出“N”。

样例 输入复制 123321 输出复制 Y

#include<iostream>
using namespace std;
int main()
{
    int n,g,s,b,q,w,v;
    cin>>n;
    g = n/1%10;
    s = n/10%10;
    b = n/100%10;
    q = n/1000%10;
    w = n/10000%10;
    v = n/100000%10;
    if(g == v && s == w && b == q)
    {
    	cout<<"Y";
    }
    else
    {
    	cout<<"N";
    }
   return 0;
}

1631 - 计算密码

题目描述 某军事单位由于作战需要,需将一个六位数按规则重新转换后传递,转换规则是:先将六位数分为 前三位和后三位,然后比较,将较大的三位数放在前面,较小的三位数放在后面,重新组成一个六 位数;请编程帮助该单位计算出转换后的六位数。

比如:输入687523,那么前三位数687,后三位数523,由于前三位 > 后三位,因此不需要换位 置,计算结果任然是687523;

再比如:输入123468,那么前三位是123,后三位是468,由于前三位 < 后三位,因此需要换位 置,得到新的6位数是468123。

输入 一个六位整数。 输出 输出按照规则计算的结果。 样例 输入复制 687523 输出复制 687523

#include<iostream>
using namespace std;
int main()
{
  int g,s,b,q,w,v,n;
  cin>>n;
  g = n/1%10;
  s = n/10%10;
  b = n/100%10;
  q = n/1000%10;
  w = n/10000%10;
  v = n/100000%10;
  if(g+s+b > q+w+v)
  {
  	cout<<g*1000+s*10000+b*100000+q+w*10+v*100;
  }	
  else 
  {
  	cout<<n;
  }	
	return 0;
}

1030 - 心系南方灾区

题目描述 2008年年初我国南方正在承受百年不遇的大雪、冻雨灾害。北京市已经开始了面向全体市民的捐 款捐物活动,并组织运力,以最快速度将这些救灾物资运送到灾区人民的手中。 已知救灾物资中 有m件大衣(10000 <= m <= 2000000 ),一辆卡车一次最多可以运走n件(2000 <= n <= 10000)。

请你编写程序计算一下,要将所有的大衣运走,北京市政府最少需要调动多少辆卡车参 与运送。 输入 只有两个整数 m、n 。 输出 只有一个整数,表示需要的卡车数量。

样例 输入复制 10000 2000 输出复制 5

#include<iostream>
using namespace std;
int main()
{
	int m,n;
	cin>>m>>n;
	if(m%n == 0)
	{
		cout<<m/n;
	}
	else
	{
		cout<<m/n+1;
	}
	return 0;
}

1309 - 最多能倒多少杯水

题目描述 花花所在的学校引入了电水箱为同学们烧开水。已知电水箱的容量为n升(n<=10L),同学们带 的杯子平均容量为x毫升(x在100~300之间),请问烧一箱开水,最多能倒多少杯(不足1杯算1 杯)。

(4.1.2) 输入 2个整数n和x;n代表电水箱的总容量(单位为升L),x代表平均1个杯子的容量(单位为毫升 ml) 输出 一个整数,代表最多能够倒多少杯水(不足1杯算1杯)

样例 输入复制 1 120 输出复制 9

#include<iostream>
using namespace std;
int main()
{
	int n,x;
	cin>>n>>x;
	if(1000*n%x != 0)
	{
		cout<<1000*n/x+1;
	}
	else
	{
		cout<<1000*n/x;
	}
	return 0;
}

1109 - 加密四位数

题目描述 某军事单位用4位整数来传递信息,传递之前要求先对这个4位数进行加密。加密的方式是每一位 都先加上5然后对10取余数,再将得到的新数颠倒过来。

例如:原数是1379,那么每位加5对10取余数的结果为6824,然后颠倒该数,得到新数:4286。 再比如:原数是2570,那么每位加5对10取余数的结果为7025,然后颠倒该数,得到新数: 5207。

请根据加密要求,写出加密算法! 输入 加密前的4位数 输出 加密后的结果 样例 输入复制 1379 输出复制 4286

#include<iostream>
using namespace std;
int main()
{
    int n;
    cin>>n;
    int g = (n/1%10+5)%10;
    int s = (n/10%10+5)%10;
    int b = (n/100%10+5)%10;
    int q = (n/1000%10+5)%10;
    cout<<g*1000+s*100+b*10+q;
   
   return 0;
}

1608 - 三位数运算

题目描述 小丽在编程课上学会了拆位运算,她已经可以拆出一个三位整数的百位、十位和个位了,她想知道 这个整数的(百位+十位)/(十位+个位)的结果是多少,请编程帮她实现?
(请注意,计算结果 要保留2位小数) 比如:整数135的(百位+十位)/(十位+个位)的计算结果 = (1+3)/(3+5) = 4 / 8 = 0.50。
输入 读入一个三位的正整数n(n的各个位中都不含数字0) 输出 输出这个三位正整数(百位+十位)除以(十位+个位)的计算结果,保留2位小数。
样例 输入复制 135 输出复制 0.50
 
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
	float g,s,b,a;
	int n;
	cin>>n;
	g = n/1%10;
	s = n/10%10;
	b = n/100%10;
	a = (b+s)/(s+g);
	cout<<fixed<<setprecision(2)<<a<<endl;
	return 0;
}

1345 - 玫瑰花圃

有一块n \times nn×n(n≥5n≥5,且n是奇数)的红玫瑰花圃,由 n \times nn×n 个小正方形花圃 组成,现要求在花圃中最中间的一行、最中间的一列以及 44 个顶点处种植粉色玫瑰,请问粉玫瑰 占地面积占整个玫瑰花圃总面积的百分比是多少?

 如 n=5n=5,花圃形状如下,粉玫瑰占地百分比 = 13/25 = 52.0\%=13/25=52.0%

如 n=7n=7,花圃形状为如下,粉玫瑰占地百分比 = 17 / 49 = 34.7\%=17/49=34.7%

输入 一个整数 nn( 5≤n≤995≤n≤99,且n是奇数) 输出 粉玫瑰占总玫瑰园的百分比,结果保留 1 位小数,显示为百分比的形式。

样例 输入复制 5 输出复制 52.0%

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
	double a;
	int n;
	cin>>n;
	a = 1.00000000000*(n+n+3)/(n*n);
	cout<<fixed<<setprecision(11)<<a<<endl;
	return 0;
}

多分支练习

从键盘读入一个整数n,请问能够被2,3,5,7,中那些数整除,从小到大依次输出能够被整除的数,每行一个。
#include<iostream>
using namespace std;
int main()
{
	int n;
	cin>>n;
	if(n%2 == 0)
	{
		cout<<2<<endl;
	}
	if(n%3 == 0)
	{
		cout<<3<<endl;
	}
	if(n%5 == 0)
	{
		cout<<5<<endl;
	}
	if(n%7 == 0)
	{
		cout<<7<<endl;
	}
	
	return 0;
}

1310 - 至少要买几瓶止咳糖浆?

题目描述 花花生病了,妈妈去给花花买儿童止咳糖浆。一瓶儿童止咳糖浆的规格及用法如下所示,一般花花 咳嗽需要5天才能痊愈。 止咳糖浆规格:每瓶120毫升,每日3次,10岁以上儿童:每次25毫升, 7~10岁儿童:每次15毫升,3~6岁儿童:每次5毫升。 请根据止咳糖浆的规格以及花花的年龄计 算,写一个程序计算如果花花要痊愈,妈妈至少要买几瓶止咳糖浆?
(4.1.7) 输入 一个整数,代表花花的年龄(花花的年龄在3岁以上) 输出 一个整数,代表妈妈最少需
#include<iostream>
using namespace std;
int main()
{
	int n,v;
	cin>>n;
	if(n>10)
	{
		v = 5*3*25;
	}
	else if(n<=10 && n>=7)
	{
		v = 5*3*15;
	}
	else if(n>=3 && n<=6)
	{
		v = 5*3*5;
	}
	if(v%120 != 0)
	{
		cout<<v/120+1;
	}
	else
	{
		cout<<v/120;
	}
	return 0;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值