第四十二课 编程题
1. 输入三个整数,按照从小到大顺序输出。
int a = Convert.ToInt32(Console.ReadLine());
int b = Convert.ToInt32(Console.ReadLine());
int c = Convert.ToInt32(Console.ReadLine());
if(a !=b && b!=c && a!= c) {
if (a > b)
{
int temp = a;
a = b;
b = temp;
}
if (b > c)
{
int temp = b;
b = c;
c = temp;
}
if (a > b)
{
int temp = a;
a = b;
b = temp;
}
Console.WriteLine(a + " " + b + " " + c);
}
解析:总if语句中表示三个数不能相等。
例如,我们给出个字母和数字对应的表格。
a b c
4 3 1
第一个if语句以后变为
a b c
3 4 1
第二个if语句以后变为
a b c
3 1 4
第三个if语句以后变为
a b c
1 3 4
比较以后,将大的数字还给后面的字母容器承装。
2. 输入一个小数m和整数k(k为0或1);
如果k为0,则输出m保留整数部分;
如果k为1,则输出m,四舍五入保留1位小数。
Console.WriteLine("先输入一位小数");
double m = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("再输入0或1");
int k = Convert.ToInt32(Console.ReadLine());
if(k == 0)
{
int temp = (int)m;
Console.WriteLine(temp);
}else if(k == 1)
{
double sep = ((int)((m + 0.05) * 10))/10.0;
Console.WriteLine(sep);
}
注:
比如输入的小数为:3.4567
①取小数部分方法:
取一位小数时,需要百分位上的数四舍五入,那么让这个小数+0.05,如果百分位上的数不大于5,那么+0.05也不能进一位,所以相当于被四舍;百分位上的数大于5,那么+0.05就会被进上去一位,相当于被五入了。
②在除以一个数,并且想得到一位小数部分,那么就要写/10.0,将除数带上一位小数,这样结果才会带上一位小数。(别像我傻傻地写了个10上去给自己弄的怀疑人生了,看了老师继续讲才知道的。)