C#语言上机题目1及答案

  • 格式:docx
  • 大小:17.64 KB
  • 文档页数:9

《C#语言》上机题目

实验一 C#基础

1. 编一个程序,定义常量Pi=3.14159265,从键盘上输入半径r,求出圆的面积。

2.编一个程序,从键盘上输入三个数,用三元运算符(? :)把最大数找出来。

3.编一个程序,输入一个字符,如果是大写字母,就转换成小写字母,如果输入的字符是小写字母,则转换为大写字母,否则不转换。

4.输入一个字符,判定它是什么类型的字符(大写字母,小写字母,数字或者其它字符)

5.编一个程序,定义一个实数变量,从键盘上输入一个值,如果这个值在闭区间[0,100]里,则加上1000,否则不加。最后输出结果。

6.编一个程序,输入一个正数,对该数进行四舍五入到个位数的运算。例如,实数12.56经过四舍五入运算,得到结果13;而12.46经过四舍五入运算,得到结果12。

7.编写一个程序,定义三个float类型的变量,分别从键盘上输入值给它们, 然后用if else选择语句找出它们中的最小数,最后输出结果。

8. 编一个程序,首先输入一个成绩(0到100的整数),分别用if else语句和Switch语句判断该成绩是优、良、中、及格还是不及格,如果是100分还需输出时满分。

9.编一个程序,利用do-while循环语句,从键盘上输入10个整数,求出它们的和。

10. 编一个程序,用while循环语句来计算1+1/2+2/3+3/4+...+99/100之和。

11.编一个程序,打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如, 153=1*1*1+5*5*5+3*3*3,所以153是“水仙花数”

12. 有关系式1*1+2*2+3*3+...+k*k<2000,编一个程序,求出满足此关系式的k的最大值(用for循环)

13 编一个程序,利用二重for循环语句,打印出九九乘法口诀表。

14 编一个程序,解决百钱买百鸡问题。某人有100元钱,要买100只鸡。公鸡5元钱一只,母鸡3元钱一只,小鸡一元钱3只。问可买到公鸡,母鸡,小鸡各为多少只。问题分析:设公鸡x只,母鸡y只,小鸡z只,可以列出两个方程:

x+y+z=100

5x+3y+z/3=100

我们采用“穷举法”来解决此问题。

15.编一个程序,定义一个有10个元素的一维数组a,在键盘上输入时没有大小次序,但是存入数组时要按由小到大的顺序存放。例如,输入第1个数1时,存入a[0];假如第2个数是5,则数存入a[1];假如第3个数是4,那么把前面输入的5向后面移动到a[2],把4插入到a[1]的位置上,这样使得每输入一个数,保持从小到大的顺序排列。

16.编一个程序,从键盘输入一个字符串,用foreach循环语句,统计其中大写字母的个数和小写字母的个数。

17.编一个程序,定义一个字符数组和一个字符串变量,给这个字符串变量输入一个字符串,然后用foreach语句把这个字符串拷贝到字符数组里,最后输出字符数组。

18。编一个程序,定义一个字符串变量,输入字符串,判断有没有连续重复字符出现,统计重复字符出现次数。例如,aaabccdfff,其中a重复出现二次,c重复出现一次,f重复出现二次,共计字符重复五次。

19.设计一个方法求出整型数组中最大值和最小值

void MaxminArray(int[] myArray, .....)

仔细考虑一下如何设计函数参数,不允许在函数内部直接输出最大值最小值。

20.设计一个对整型数组排序的方法

void SortArray(int[] myArray, bool flag)

flag 为true表示从小到大排序,否则是从大到小排序。不允许在函数内部直接输出排序结果。

答案:

class Program

{

public static void T1()

{

const double pi = 3.14159265;

double r = Convert.ToDouble(Console.ReadLine());

Console.WriteLine("{0}",pi*r*r);

}

public static void T2()

{

double a = Convert.ToDouble(Console.ReadLine());

double b = Convert.ToDouble(Console.ReadLine());

double c = Convert.ToDouble(Console.ReadLine());

double k = a > b ? a : b;

k = k > c ? k : c;

Console.WriteLine("{0},{1},{2}最大的为{3}",a,b,c,k);

}

public static void T3()

{

char x = Convert.ToChar(Console.Read());

int a = 'A';

int b = 'a';

if (x >= 'a' && x <= 'z')

{

x =Convert.ToChar( x + a - b);

}else if(x>='A'&&x<='Z'){ x = Convert.ToChar( x + b - a );

}

Console.WriteLine("{0}", x);

}

public static void T4()

{

char x = Convert.ToChar(Console.Read());

if (x >= '0' && x <= '9')

{

Console.WriteLine("数字");

}

else if (x >= 'a' && x <= 'z')

{

Console.WriteLine("小写字母");

}

else if (x >= 'A' && x <= 'Z')

{

Console.WriteLine("大写字母");

}

else

{

Console.WriteLine("其他字符");

}

}

public static void T5()

{

double a = Convert.ToDouble(Console.ReadLine());

if (a >= 0 && a <= 100)

{

a += 1000;

}

Console.WriteLine("{0}",a);

}

public static void T6()

{

double a = Convert.ToDouble(Console.ReadLine());

int x =Convert.ToInt32( Math.Floor(a+0.5));

Console.WriteLine("{0}",x);

}

public static void T7()

{

float a = float.Parse(Console.ReadLine());

float b = float.Parse(Console.ReadLine());

float c = float.Parse(Console.ReadLine()); if (a > b)

{

a = b;

}

if (a > c)

{

a = c;

}

Console.WriteLine("{0}",a);

}

public static void T8()

{

double a = Convert.ToDouble(Console.ReadLine());

if (a == 100)

{

Console.WriteLine("100fen");

}

else if (a >= 90)

{

Console.WriteLine("youxiu");

}

else if (a >= 80)

{

Console.WriteLine("lianghao");

}

else if (a >= 70)

{

Console.WriteLine("zhongdeng");

}

else if (a >= 60)

{

Console.WriteLine("jige");

}

else

{

Console.WriteLine("bujige");