每日一练

题目描述:

不死族的巫妖王一般会在月末给死亡骑士发工资,而死亡骑士拿到工资(总是为一张N元的钞票,记住,只有一张钞票),为了防止下月自己在战斗中频繁的死掉,他会给自己买一些道具,于是他来到了地精商店前

死亡骑士:“我要买道具!”

地精商人:“我们这里有三种道具,血瓶150块一个,魔法药200块一个,无敌药水350块一个。”

死亡骑士:“好的,给我一个血瓶”

说完他掏出那张N元的大钞递给地精商人

地精商人:“我忘了提醒你了,我们这里没有找客人钱的习惯的,多的钱我们都当小费收了的“

死亡骑士:”。。。。。。“

死亡骑士想,与其把钱当小费送给商人,还不如自己多买一点道具,反正以后都要买的,早点买了放在家里也好,但是就是要尽量少让商人赚小费。现在死亡骑士遇到了难题,希望你帮他算一算,最少他要给地精商人多少钱小费。

输入描述:

输入数据的第一行是一个整数T(1<=T<=100),代表测试数据的数量,然后是T行测试数据,每个测试数据值包含一个正整数N(1<=N<=10000),N代表死亡骑士手中钞票的面值

注意:地精商店只有题中描述的三种道具

输出描述:

对于每组测试数据,请你输出死亡骑士最少要浪费多少钱给地精商人作为小费

示例

输入:

240

900

输出:

40

0

#include<iostream>

using namespace  std;
int tip(int money)
{
	while(money>=350)
	{
		money-=350;
	}
	while(money>=200)
	{
		money-=200;
	}
	while(money>=150)
	{
		money-=150;
	}
	return money;
}
int main()
{
	int T;
	cin>>T;
	int money[100];
	int count=0;
	int N;
	for(;count<T;count++)
	{
		cin>>N;
		money[count]=N;
	}
	for(count=0;count<T;count++)
	{
		int tips=tip(money[count]);
		cout<<tips<<endl;
	}

	return 0;


}

 

1. 声明两个变量:int n1 = 10, n2 = 20;要求将两个变量交换,最后输出n1为20,n2为10。扩展(*):不使用第三个变量如何交换? 2. 用方法来实现:将上题封装一个方法来做,方法有两个参数分别为num1,num2,将num1与num2交换。提示:方法有两个参数n1,n2,在方法中将n1与n2进行交换,使用ref。(*) 3. 请用户输入一个字符串,计算字符串中的字符个数,并输出。 4. 用方法来实现:计算两个数的最大值。思考:方法的参数?返回值?扩展(*):计算任意多个数间的最大值(提示:使用可变参数,params)。 5. 用方法来实现:计算1-100之间的所有整数的和。 6. 用方法来实现:计算1-100之间的所有奇数的和。 7. 用方法来实现:判断一个给定的整数是否为“质数”。 8. 用方法来实现:计算1-100之间的所有质数(素数)的和。 9. 用方法来实现:有一个整数数组:{ 1, 3, 5, 7, 90, 2, 4, 6, 8, 10 },找出其中最大值,并输出。不能调用数组的Max()方法。 10. 用方法来实现:有一个字符串数组:{ "马龙", "迈克尔乔丹", "雷吉米勒", "蒂姆邓肯", "科比布莱恩特" },请输出最长的字符串。 11. 用方法来实现:请计算出一个整型数组的平均值。{ 1, 3, 5, 7, 90, 2, 4, 6, 8, 10 }。要求:计算结果如果有小数,则显示小数点后两位(四舍五入)。Math.Round() 12. 请通过冒泡排序法对整数数组{ 1, 3, 5, 7, 90, 2, 4, 6, 8, 10 }实现升序排序。 13. 有如下字符串:【"患者:“大夫,我咳嗽得很重。” 大夫:“你多大年记?” 患者:“七十五岁。” 大夫:“二十岁咳嗽吗”患者:“不咳嗽。” 大夫:“四十岁时咳嗽吗?” 患者:“也不咳嗽。” 大夫:“那现在不咳嗽,还要等到什么时咳嗽?”"】。需求:①请统计出该字符中“咳嗽”二字的出现次数,以及每次“咳嗽”出现的索引位置。②扩展(*):统计出每个字符的出现次数。 14. 将字符串" hello world,你 好 世界 ! "两端空格去掉,并且将其中的所有其他空格都替换成一个空格,输出结果为:"hello world,你 好 世界 !"。 15. 制作一个控制台小程序。要求:用户可以在控制台录入每个学生的姓名,当用户输入quit(不区分大小写)时,程序停止接受用户的输入,并且显示出用户输入的学生的个数,以及每个学生的姓名。效果如图:
#region 1:一列数的规则如下: 1、1、2、3、5、8、13、21、34......求第30位数是多少, 用递归算法实现。 //int n = FindNum(30); //Console.WriteLine(n); //Console.ReadKey(); #endregion #region 2:有一个3*4矩阵,输出最大元素的值,及其所在的行号和列号, int a[3][4]={{1,2,3,4},{9,8,7,6}, {-10,10,-5,2}}。 //int[,] a = { { 1, 2, 3, 4 }, { 9, 8, 7, 6 }, { -10, 10, -5, 2 } }; //Max1(a); //Console.ReadKey(); #endregion #region 3:实现二分法查找,int a[8] = {3,12,24,36,55,68,75,88},查找24需要几次查找出来。 //int[] a = { 3,12,24,36,55,68,75,88 }; //int value = 24; //Select(a, value); //Console.ReadKey(); #endregion #region 4:实现冒泡排序, int[] array = { 23, 45, 16, 7, 42 }。 //int[] array = { 23, 45, 16, 7, 42 }; //Sort(array); //foreach(int n in array) //{ // Console.WriteLine(n); //} //Console.ReadKey(); #endregion #region 5:求出0-1000中能被7整除的数,并计算输出每五个数的和。 //int sum = 0;//每五个数的和 //int count = 0;//计算个数 //for(int i=1;i<=1000;i++) //{ // if(i%7==0) // { // count++;//个数加一 // sum = sum + i; // if (count % 5 == 0) // { // Console.WriteLine(sum); // sum = 0; // } // } //} //Console.WriteLine("1 - 1000中一共有{0}个数被7整除", count); //Console.ReadKey(); #endregion #region 6:编写一个类,其中包含一个排序的方法 Sort(), 当传入的是一串整数,就按照从小到大的顺序输出 如果传入的是一个字符串,就将字符串反序输出。 //SortAndReverse sa = new SortAndReverse(); //string intput = "woaini"; //Console.WriteLine(sa.Sort(intput)); //Console.ReadKey(); #endregion #region 7:编写一个矩形类,私有数据成员为矩形的长(len)和宽(wid),无参构造函数将len和wid设置为0,有参构造函数设置len和wid的值;另外,类还包括矩形的求周长、求面积、取矩形的长度、取矩形的宽度、修改矩形的长度和宽度为对应的形参值等公用方法。 //Rectangular rt = new Rectangular(); //rt.Len = 10; //rt.Wid = 15; //Console.WriteLine(rt.Area()); //Console.ReadKey(); #endregion #region 8:编写一个控制台应用程序,接收一个长度大于3的字符串,完成 下列功能:1 输出字符串长度。  2 输出字符串中第一个出现字母a的位置。  3 在字符串的第3个字符后面插入子串“hello”,输出新字符串。 4 将字符串“hello”替换成“me”,输出新字符串。  5 以字符“m”为分隔符,将字符串分离,并输出分离后的字符串。) //Console.WriteLine("请输入一个长度大于3的字符串:"); //string str= Console.ReadLine(); ////输出字符串长度 //Console.WriteLine("字符串长度为:{0}", str.Length); ////输出字符串中第一个出现字母a的位置 //if (str.IndexOf("a") == -1) //{ // Console.WriteLine("未找到字母a"); //} //else //{ // Console.WriteLine("第一个出现字母a的位置是{0}", str.IndexOf("a")); //} ////在字符串的第3个字符后面插入子串“hello”,输出新字符串。 //str = str.Insert(3, "hello"); //Console.WriteLine(str); ////将字符串“hello”替换成“me”,输出新字符串。 //str = str.Replace("hello", "me"); //Console.WriteLine(str); ////以字符“m”为分隔符,将字符串分离,并输出分离后的字符串 //string[] str1 = str.Split('m'); //Console.Write("分离后的字符串为:"); //foreach(string n in str1) //{ // Console.Write(n + " "); //} //Console.ReadKey(); #endregion
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值