题目汇总
>>>打印图表
1、输入两个整数n和m,输出n行 m列的*阵。
2、输入整数n,输出n层的三角形。
----
3、输入整数n,输出n层的三角形的斜边(两种)。
----
-----
4、输入一个正整数n,输出n层的等腰三角形。
----
5、打印九九乘法表
-------------------------------------------------------------------------
>>>综合应用题
一、编写一个程序,打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方等于该数本身。例如153=1*1*1+5*5*5+3*3*3,所以153是“水仙花数”。
---------------------------------------------------
二、数字和字符混合在一起了,作为一个优秀的挖掘人员,把输入的数字挖出来,并计算这些数字的和,并输出。输入以@作为结束。( 样例输入 23a34b34@ 样例输出 19 )
---------------------------------------------------
三、对于任意大于1的自然数n,若n为奇数,将n编程3n+1,否则变成n的一半。经过若干次这样的变化,n一定会最终变成1。比如,7→22→11→34→17→52→26→13 →40→20→10 →5→16 → 8→4→ 2→ 1 。输入n,输出变换的次数。如输入3 输出7,输入10,输出6
---------------------------------------------------
四、我国现有x亿人口,按照每年0.1%的增长速度,n年后将有多少人?
---------------------------------------------------
五、农夫约翰在去年赚了一大笔钱!他想要把这些钱用于投资,并对自己能得到多少收益感到好奇。已知投资的复合年利率为R(0到20之间的整数)。约翰现有总值为M的钱(100到1,000,000之间的整数)。他清楚地知道自己要投资Y年(范围0到400)。请帮助他计算最终他会有多少钱,并输出它的整数部分。数据保证输出结果在32位有符号整数范围内。输入三个整数 R,M,Y,输出整数,即最终拥有多少钱。(示例:输入5 ,5000 ,4 输出 6077)
---------------------------------------------------
六、⽤100⽂买鸡,其中公鸡,⺟鸡,⼩鸡,都必须要有,公鸡3⽂⼀只,⺟鸡5⽂⼀只,⼩鸡2⽂⼀只,请问公鸡、⺟鸡、⼩鸡要买多少只刚好凑⾜100⽂,打印出所有可能的情况和总共的个数。
---------------------------------------------------
七、随机输入一个整数num,输出一个新的数,新数恰好与原数每一位上的数字相反。如果原数末尾有多个零,输出的新数高位不含0。(样例输入 8736 样例输出 6378;样例输入2300 样例输出 32)
、、、
解题示例
>>>打印图表
1、输入两个整数n和m,输出n行 m列的*阵。
//输入两个整数n和m,输出n行m列的*阵
Console.Write("请输入行数:");
int n = Convert.ToInt32(Console.ReadLine());
Console.Write("请输入列数:");
int m = Convert.ToInt32(Console.ReadLine());
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
Console.Write("*");
}
Console.WriteLine(); //换行
}
、、、
2、输入整数n,输出n层的三角形。
样例输入3,样例输出↓
//输入整数n,输出n层的三角形
Console.Write("请输入层数:");
int n = Convert.ToInt32(Console.ReadLine());
//自增循环
for (int i = 0; i < n; i++)
{
for (int j = 0; j <=i ; j++)
{
Console.Write("*");
}
Console.WriteLine();
}
//自减循环
for (int i = n; i > 0; i--)
{
for (int j = n-i; j >= 0; j--)
{
Console.Write("*");
}
Console.WriteLine();
}
、、、
3、输入整数n,输出n层的三角形的斜边(两种)。
样例输入5,样例输出↓
-----------
//输入整数n,输出n层的三角形的斜边。
Console.Write("请输入层数:");
int n = int.Parse(Console.ReadLine());
//第一种 \
for (int i = 0; i < n; i++) //层数
{
for (int j = 0; j < i; j++) //空格数
{
Console.Write(" ");
}
Console.WriteLine("*");
}
Console.WriteLine(); //换行
//第二种 /
for (int i = 1; i <= n; i++) //层数
{
for (int j = n; j > i; j--) //空格数
{
Console.Write(" ");
}
Console.WriteLine("*");
}
、、、
4、输入一个正整数n,输出n层的等腰三角形。
样例输入4,样例输出↓
//输入一个正整数n,输出n层的等腰三角形。
Console.Write("请输入层数:");
int n=int.Parse(Console.ReadLine());
for (int i = 1; i <= n; i++) //层数
{
for (int m = n; m > i; m--) //空格数
{
Console.Write(" ");
}
for (int j = 0; j < i*2-1; j++) // * 的个数 1 3 5 7
{
Console.Write("*");
}
Console.WriteLine();//换行
}
、、、
5、打印九九乘法表
//99乘法表
for (int i = 1; i <= 9; i++)
{
for (int j = 1; j <= i; j++)
{
Console.Write($"{j}*{i}={i * j} ");
//Console.Write("{0}*{1}={2} ",j,i,j*i);
}
Console.WriteLine();
}
、、、
>>>综合应用题
一、编写一个程序,打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方等于该数本身。例如153=1*1*1+5*5*5+3*3*3,所以153是“水仙花数”。
//编写一个程序,打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方等于该数本身。例如153=1*1*1+5*5*5+3*3*3,所以153是“水仙花数”。
for (int i = 100; i <= 999; i++)
{
int a = i / 100; //百位
int b = i % 100 / 10; //十位
int c = i % 10; //个位
if (i == a * a * a + b * b * b + c * c * c)
{
Console.WriteLine(i + "是“水仙花数”");
}
}
、、、
二、数字和字符混合在一起了,作为一个优秀的挖掘人员,把输入的数字挖出来,并计算这些数字的和,并输出。输入以@作为结束。( 样例输入 23a34b34@ 样例输出 19 )
//数字和字符混合在一起了,作为一个优秀的挖掘人员,把输入的数字挖出来,并计算这些数字的和,并输出。输入以 @作为结束。 样例输入 23a34b34@ 样例输出 19
Console.WriteLine("请输入:");
string str;
string st = "";
int num = 0;
do {
str = Console.ReadLine();
st += str;
if (str == "0" || str == "1" || str == "2" || str == "3" || str == "4" || str == "5" || str == "6" || str == "7" || str == "8" || str == "9")
{
num += Convert.ToInt32(str);//字符串转整形 / num=int.Parse(str);
}
} while (str != "@");
Console.WriteLine();
Console.WriteLine(st);
Console.WriteLine(num);
//或者
Console.WriteLine("请输入字符:");
string st = ""; //存储输入的字符
Char str;
int num = 0;
do
{
str =Convert .ToChar( Console.ReadLine()); //输入字符
st += str;
if (str >= '0' && str <= '9')
{
num += str-'0';
}
} while (str != '@');
//或者
Console.WriteLine("请输入:");
str = Console.ReadLine();
for (int i = 0; i < str.Length; i++)
{
if (str[i] >= '0' && str[i]<='9') //能进来的字符就是数字,比较的ASCAII码
{
int sum = str[i] - '0';//将字符数字转化为对应的数字
num+= sum;
}
、、、
三、对于任意大于1的自然数n,若n为奇数,将n编程3n+1,否则变成n的一半。经过若干次这样的变化,n一定会最终变成1,比如,7→22→11→34→17→52→26→13 →40→20→10 →5→16 → 8→4→ 2→ 1 输入n,输出变换的次数。如输入3输出7,输入10,输出6
Console.Write("请输入一个大于1的自然数:");
int n = Convert.ToInt32(Console.ReadLine());
Console.Write(n);
int m = 0; //记录变换次数
while (n != 1)//do
{
if (n % 2 == 1) //n为奇数
{
n = 3 * n + 1;
Console.Write($"→{n}");
}
else //n为偶数
{
n = n / 2;
Console.Write($"→{n}");
}
m++;
}
Console.WriteLine($"\r\n变换了{m}次");
、、、
四、我国现有x亿人口,按照每年0.1%的增长速度,n年后将有多少人?
//我国现有x亿人口,按照每年0.1%的增长速度,n年后将有多少人?
Console.Write("请输入人口数(亿):");
double m = Convert.ToDouble (Console.ReadLine());
Console.Write("请输入增长年数:");
int n = Convert.ToInt32(Console.ReadLine());
for (int i = 0; i < n; i++)
{
m = m + m * 0.001;
}
Console.WriteLine($"{n}年后将有{m:F2}亿人");
、、、
五、农夫约翰在去年赚了一大笔钱!他想要把这些钱用于投资,并对自己能得到多少收益感到好奇。已知投资的复合年利率为R(0到20之间的整数)。约翰现有总值为M的钱(100到1,000,000之间的整数)。他清楚地知道自己要投资Y年(范围0到400)。请帮助他计算最终他会有多少钱,并输出它的整数部分。数据保证输出结果在32位有符号整数范围内。输入三个整数 R,M,Y,输出整数,即最终拥有多少钱。(示例:输入5 ,5000 ,4 输出 6077)
Console.Write("请输入投资的复合年利率(0到20之间的整数):");
int R = Convert.ToInt32(Console.ReadLine());
Console.Write("请输入要投资的钱(100到1,000,000之间的整数):");
double M = Convert.ToDouble (Console.ReadLine());
Console.Write("请输入要投资的年数(范围0到400):");
int Y = Convert.ToInt32(Console.ReadLine());
for (int i = 0; i < Y; i++)
{
M = M + R *0.01* M;
}
int c = (int)M; //去除小数部分
Console.WriteLine("最终拥有:"+ c);
、、、
六、⽤100⽂买鸡,其中公鸡,⺟鸡,⼩鸡,都必须要有,公鸡3⽂⼀只,⺟鸡5⽂⼀只,⼩鸡2⽂⼀只,请问公鸡、⺟鸡、⼩鸡要买多少只刚好凑⾜100⽂,打印出所有可能的情况和总共的个数。
int num = 0;
for(int G = 1; G <= 33; G++) {
for (int M = 1; M <= 20; M++) {
for (int X = 1; X <= 50; X++) {
if (G * 3 + M * 5 + X * 2 == 100)
{
Console.WriteLine($"公鸡{G}只,母鸡{M}只,小鸡{X}只");
num++;
}
}
}
}
Console.WriteLine($"一共{num}种情况");
、、、
七、 随机输入一个整数num,输出一个新的数,新数恰好与原数每一位上的数字相反。如果原数末尾有多个零,输出的新数高位不含0。(样例输入 8736 样例输出 6378;样例输入2300 样例输出 32)
//随机输入一个整数num,输出一个新的数,新数恰好与原数每一位上的数字相反。(如果原数末尾有多个零,输出的新数高位不含0) 样例输入 8736 样例输出 6378 样例输入2300 样例输出 32
Console.Write("请输入一个整数:");
int num = Convert.ToInt32(Console.ReadLine());
int c = 0;
while(num != 0) //当有几位数的时候,循环几次,将每一位都提取出来,num=0时,跳出循环,即不需要继续循环,因为0时已经没有任何一个数字
{
int b = num % 10; //取 最后一位数字
num /= 10; //去除 最后一位数字
c = c*10+b; //倒序重组数据
}
Console.WriteLine("重组的数为:{0}", c);
//或者使用数组
Console.Write("请输入一个整数:");
string num = Console.ReadLine();
string sum = "";
for (int i = num.Length - 1; i >= 0; i--)
{
sum += num[i];
Console.WriteLine(num[i]);
}
int num2 = int.Parse(sum); //转换为int型自动去除前面得0;
Console.WriteLine(num2);