一、简单题
1.把输入的字符串中的内容逆置,并保存到新字符串,并输出新字符串的内容。
static void Main(string[] args)
{
String Olds, News = "";
Console.WriteLine("请输入一个字符串:");
Olds= Console.ReadLine();
for(int i = Olds.Length - 1; i >= 0; i--)
{
News += Olds[i];
}
Console.WriteLine("新的字符串是:{0}", News);
}
2.已知三角形三条边长a,b,c,三边由用户输入,编程判断a、b、c的值是否构成三角形
static void Main(string[] args)
{
Console.WriteLine("请输入三角形的三条边长:");
String input=Console.ReadLine();
String []number= input.Split(" ");
int a, b, c;
double s,area;
a = int.Parse(number[0]);
b = int.Parse(number[1]);
c = int.Parse(number[2]);
if (a + b > c && a + c > b &&b + c > a)
{
s = 0.5 * (a + b + c);
area = Math.Sqrt(s * (s - a) * (s - b) * (s - c));
Console.WriteLine("{0}、{1}、{2}构成三角形,三角形的面积是{3}", a, b, c,area);
}
else
{
Console.WriteLine("{0}、{1}、{2}不构成三角形", a, b, c);
}
}
3.输入一个字符串str1,删除str1中其中所有的0-9的数字字符,输出处理后的字符串。
static void Main(string[] args)
{
Console.WriteLine("请输入一个字符串:");
String str1 = Console.ReadLine();
String result = "";
for(int i=0;i
//第二种方法
static void Main(string[] args)
{
Console.WriteLine("请输入一个字符串:");
String str1 = Console.ReadLine();
for (int i = 0; i < str1.Length; i++)
{
if (str1[i] >= '0' && str1[i] <= '9')
{
str1=str1.Remove(i,1);//public string Remove(int startIndex, int count)startIndex:这是要从中开始移除字符的起始索引。它是从0开始的索引,意味着第一个字符的索引为0,第二个字符的索引为1,依此类推。
count:这是要从字符串中移除的字符数量,从startIndex开始计算。
i--;
}
}
Console.WriteLine(str1);
}
4.输入10个数,计算平均值,统计低于平均值数据个数并把低于平均值的数据输出。
static void Main(string[] args)
{
Console.WriteLine("请输入10个数:");
String s = Console.ReadLine(); // 读取输入的字符串
String[] number = s.Split(" "); // 将字符串按空格分割成字符串数组
double sum = 0, avg = 0; // 初始化总和和平均值变量
for (int i = 0; i < number.Length; i++) // 遍历字符串数组
{
sum = sum + int.Parse(number[i]); // 将字符串转换为整数并累加到总和中
}
avg = sum / number.Length; // 计算平均值
Console.WriteLine("平均数是{0}", avg); // 输出平均值
int count = 0; // 初始化低于平均值的个数变量
for (int i = 0; i < number.Length; i++) // 再次遍历字符串数组
{
if (int.Parse(number[i]) < avg) // 判断当前数值是否低于平均值
{
count++; // 低于平均值数据个数加一
Console.WriteLine(number[i]); // 输出低于平均值的数据
}
}
Console.WriteLine("低于平均值的个数有{0}个", count); // 输出低于平均值的数据个数
}
5.输入10个数,计算平均值,统计高于平均值数据个数并把高于平均值的数据输出。
static void Main(string[] args)
{
Console.WriteLine("请输入10个数:");
String s = Console.ReadLine(); // 读取用户输入的字符串
String[] number = s.Split(" "); // 将字符串按空格分割成字符串数组
double sum = 0, avg = 0; // 初始化总和和平均值变量
for (int i = 0; i < number.Length; i++) // 遍历字符串数组
{
sum += int.Parse(number[i]); // 将字符串转换为整数并累加到总和中
}
avg = sum / number.Length; // 计算平均值
Console.WriteLine("平均数是{0}", avg); // 输出平均值
int count = 0; // 初始化高于平均值的个数变量
for (int i = 0; i < number.Length; i++) // 再次遍历字符串数组
{
if (int.Parse(number[i]) > avg) // 判断当前数值是否高于平均值
{
count++; // 高于平均值的个数加一
Console.Write(number[i] + " "); // 输出高于平均值的数据
}
}
Console.WriteLine("高于平均值的个数是{0}个", count); // 输出高于平均值的数据个数
}
6.输入一些整数,找出其中最大数和次最大数。
static void Main(string[] args)
{
// 输入一组整数
Console.WriteLine("请输入一组整数,以空格分隔:");
string input = Console.ReadLine();
string[] numbers = input.Split(' ');
初始化最大数和次最大数
int max = int.Minvalue;
int secondMax = int.Minvalue;
遍历整数数组,更新最大数和次最大数
foreach (string number in numbers)
{
int num = int.Parse(number);
if (num > max) If the current number is greater than the current max,
// update the secondMax to the current max,
// and update the max to the current number.
{
secondMax = max;
max = num;
}
else if (num > secondMax && num < max)
{
// If the current number is greater than the current secondMax
// and less than the current max, update the secondMax to the current number.
secondMax = num;
}
}
输出结果
Console.WriteLine("最大数:" + max);
Console.WriteLine("次最大数:" + secondMax);
}
7.输入一些整数,找出其中最小数和次最小数。
static void Main(string[] args)
{
// 输入一组整数
Console.WriteLine("请输入一组整数,以空格分隔:");
String s=Console.ReadLine();
String[] number=s.Split(" ");
int min = int.MaxValue;
int secondMin = int.MaxValue;
foreach (string n in number)
{
int num = int.Parse(n);
if (num < min)
{
// If the current number is smaller than the current min,
// update the secondMin to the current min,
// and update the min to the current number.
secondMin = min;
min = num;
}
else if (num < secondMin && num > min)
{
// If the current number is smaller than the current secondMin
// and greater than the current min, update the secondMin to the current number.
secondMin = num;
}
}
Console.WriteLine("最小值是{0},次最小值是{1}", min,secondMin);
}
8.输入若干有序的正整数,对于相同的数据只保留一个,输出保留的数据。例如,输入数据是: 2,2,2,3,3,4,5,5,6,6,8,8,9,9,9,10,10,10 最终的输出结果是: 2,3,4,5,6,8,9,10。
static void Main(string[] args)
{
Console.WriteLine("请输入有序正整数列表,以逗号分隔:");
string input = Console.ReadLine();
string[] numbers = input.Split(',');//用逗号进行分隔
// 创建一个新的列表来存储去重后的结果
List uniqueNumbers = new List();//泛型集合就是升级版的数组,可扩容
// 遍历输入的正整数列表
foreach (string number in numbers)
{
int num = int.Parse(number);
/*for(int i= 0; i < numbers.Length; i++)
{
int num = int.Parse(numbers[i]);
*/
// 如果当前数字与前一个数字不相同,则将其添加到去重后的结果列表中
if (uniqueNumbers.Count == 0 || num != uniqueNumbers[uniqueNumbers.Count - 1])
{
uniqueNumbers.Add(num);
}
}
// 输出去重后的结果
Console.WriteLine("去重后的结果:");
foreach (int uniqueNumber in uniqueNumbers)
{
Console.Write(uniqueNumber + ",");
}
}
9.输入一个字符串,判断如果全是数字,将其转换成为一个整数,若包含其他符号,给出错误提示。
static void Main(string[] args)
{
Console.WriteLine("请输入一个字符串:");
String s=Console.ReadLine();
bool isnumber = true;
foreach(char c in s)
{
if (!char.IsDigit(c))
{
isnumber = false;
break;
}
}
if (isnumber)
{
Console.WriteLine(Convert.ToInt32(s));
//ToInt32(String)将数字的指定字符串表示形式转换为等效的 32 位带符号整数。
}
else
Console.WriteLine("有其他字符,请重新输入:");
}
10.输入20个正整数,分别统计并输出其中的奇数和偶数的个数,并分类输出所有奇数和偶数。
static void Main(string[] args){
Console.WriteLine("请输入20个正整数:");
String s = Console.ReadLine();
String[] number = s.Split(" ");
int evenct = 0; int oddct = 0;
String even = "";
String odd = "";
for (int i = 0; i < number.Length; i++)
{
if (int.Parse(number[i]) % 2 == 0)
{
even += number[i] + " ";
evenct++;
}
else
{
odd += number[i] + " ";
oddct++;
}
}
Console.WriteLine("偶数的个数是{0},偶数有{1}", evenct, even);
Console.WriteLine("奇数的个数是{0},奇数有{1}", oddct, odd);
}
11.从终端输入5个数,按从小到大的顺序输出。
//常规方法
static void Main(string[] args){
Console.WriteLine("从终端输入5个数:");
String input=Console.ReadLine();
String[] number =input.Split(" ");
Array.Sort(number);
for(int i=0;i
//冒泡排序
static void Main(string[] args){
Console.WriteLine("从终端输入5个数:");
String input=Console.ReadLine();
String[] number =input.Split(" ");
//Array.Sort(number);
//冒泡排序
for(int i=0;i int.Parse(number[j + 1]))
{ String temp = number[j ];
number[j] = number[j + 1];
number[j + 1] = temp;
}
}
}
for(int i=0;i
12.从键盘读入20个数据到数组中,统计其中负数的个数,并计算这些负数之和。
static void Main(string[] args){
Console.WriteLine("请从键盘读入20个数据:");
String input = Console.ReadLine();
String[] number=input.Split(" ");
int ngnmcout = 0,ngnmsum = 0;
for(int i=0;i
13.求n以内(不包括n)不能同时被2和5整除(能被2或者5整除但不能同时被整除)的所有自然数之和的平方根s,n从键盘输入。
static void Main(string[] args){
Console.WriteLine("请从键盘输入一个n:");
int n;
n = int.Parse(Console.ReadLine());
int s= 0;
for(int i=1;i
14.输入1~7之间的一个数字,输出它对应的星期几。例如输入1 输出Monday。
static void Main(string[] args){
Console.WriteLine("请输入1-7之间的一个数字:");
String n = Console.ReadLine();
switch(n)
{
case "1":Console.WriteLine("Monday");break;
case "2": Console.WriteLine("Tuesday"); break;
case "3": Console.WriteLine("Wednesday"); break;
case "4": Console.WriteLine("Thursday"); break;
case "5": Console.WriteLine("Friday"); break;
case "6": Console.WriteLine(" Saturday"); break;
case "7":Console.WriteLine("Sunday");break;
default: Console.WriteLine("输入错误,请重新输入:");break;
}
}
15.个位数为8且能被4整除但不能被7整除的二位自然数共有多少个,统计个数,并输出这些数。
static void Main(string[] args){
int count = 0;
for(int i = 10; i < 100; i++)
{
if (i % 10 == 8 && i % 4 == 0 && i % 7 != 0)
{
Console.WriteLine(i);
count++;
}
}
Console.WriteLine("个位数为8且能被4整除但不能被7整除的二位自然数共有{0}个",count);
}
16.输入一个字符串,用foreach语句计算输入的字符串的长度,并显示长度。
static void Main(string[] args){
Console.WriteLine("请输入一个字符串:");
String s=Console.ReadLine();
int length = 0;
foreach(char c in s)
{
length++;
}
Console.WriteLine("{0}的长度是:{1}", s, length);
}
17.输入7个数,分别统计其中正数、负数、零的个数。
static void Main(string[] args){
Console.WriteLine("请输入7个数:");
int poscout=0, negacout=0, zerocout = 0;
String s=Console.ReadLine();
String []number=s.Split(' ');
for(int i = 0; i < number.Length; i++)
{
if (int.Parse(number[i]) < 0)
{
negacout++;
}
else if(int.Parse(number[i]) > 0)
{
poscout++;
}
else
zerocout++;
}
Console.WriteLine("正数的个数是:{0},负数的个数是{1},零的个数是{2}",poscout, negacout, zerocout);
}
18.计算:1/2+2/3-3/4+4/5……前50项。
static void Main(string[] args){
double sum = 0;
for (int i = 2; i <= 50; i++)
{
sum += Math.Pow(-1, i) * (double)i / (i + 1);
}
Console.WriteLine("1/2+2/3-3/4+4/5……前50项为:{0}", sum + 1 / 2);
}
19.斐氏数列是公元13世纪数学家斐波拉契发明的。即:1,2,3,5,8,13,21,34,55,89,……,输出比144大的最小的那一项。
static void Main(string[] args){
int number1 = 1;
int number2 = 2;
int nextNum = 0;
while (nextNum <= 144)
{
nextNum = number1 + number2;
number1 = number2;
number2 = nextNum;
}
Console.WriteLine("比144大的最小的那一项是:{0}",nextNum);
}
20.已知一个数列的前两项分别为1,2,以后的各项都是其相邻的前两项之和,写一个方法,求计算并返回该数列前n项的平方根之和sum。要求编写应用程序,来检验方法的正确性。
static void Main(string[] args){
Console.WriteLine("请输入一些整数:");
String s=Console.ReadLine();
String []number=s.Split(' ');
int count = 0;
int sum = 0;
for(int i=0;i 0)
{
Console.WriteLine(number[i]);
sum+= int.Parse(number[i]);
count++;
}
}
Console.WriteLine("平均值是:{0}", sum / count);
}
21.接收用户输入的一个实数N,不使用计算绝对值函数编程计算输出该实数的绝对值。
static void Main(string[] args){
Console.Write("请输入一个实数:");
int number=int.Parse(Console.ReadLine());
double absoluteValue;
if (number >= 0)
{
absoluteValue = number;
}
else
{
absoluteValue = -number;
}
Console.WriteLine("该实数的绝对值为:"+ absoluteValue);
}
22.接收用户输入的一个正整数N,求1-2+3-4…+N的值并输出。
static void Main(string[] args){
Console.WriteLine("请输入一个正整数:");
int N = int.Parse(Console.ReadLine());
int i = 1;
double sum = 0;
while (i <= N)
{
sum += Math.Pow(-1, i + 1) * i;
i++;
}
Console.WriteLine("1 - 2 + 3 - 4…+N的值是:{0}", sum);
}
23.接收用户输入的一个正整数N,计算1到N的立方和。
static void Main(string[] args){
Console.WriteLine("请输入一个正整数N:");
int N=int.Parse(Console.ReadLine());
int i = 1;
double sum = 0;
while (i<=N)
{
sum += Math.Pow(i, 3);
i++;
}
Console.WriteLine("1到{0}的立方和是:{1}", N, sum);
}
24.接收用户输入的两个数,判断两个数是否能整除。
static void Main(string[] args){
Console.WriteLine("请用户输入两个数:");
String s=Console.ReadLine();
String []number=s.Split(' ');
if (int.Parse(number[0]) % int.Parse(number[1])==0|| int.Parse(number[1]) % int.Parse(number[0]) == 0) {
Console.WriteLine("这两个数可以被整除");
}
else
{ Console.WriteLine("这两个数不能整除"); }
}