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");