C#语言上机题目1及答案(7页).doc
-C#语言上机题目1及答案-第 7 页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时,存入a0;假如第2个数是5,则数存入a1;假如第3个数是4,那么把前面输入的5向后面移动到a2,把4插入到a1的位置上,这样使得每输入一个数,保持从小到大的顺序排列。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"); public static void T9() int sum = 0; int i = 1; do int a = Convert.ToInt32(Console.ReadLine(); sum += a; i+; while (i <= 10); Console.WriteLine("0", sum); public static void T10() double sum = 0; double i = 100.0; while (i>0) sum += (i-1)>0?i-1:1) / i; i-; Console.WriteLine("0",sum); public static void T11() for (int i = 100; i < 1000; +i) int a = i % 10; int b = i / 100; int c = (i / 10) % 10; if (a * a*a + b * b*b + c*c * c = i) Console.WriteLine("0",i); public static void T12() for (int i = 1; i <= 2000; +i) int sum = 0; for (int j = 1; j <= i; +j) sum += j * j; Console.WriteLine("0:1",i,sum); if (sum >= 2000) Console.WriteLine("0",i-1); return; public static void T13() for (int i = 1; i <= 9; +i) for (int j = 1; j <= i; +j) Console.Write("0*1=2 ",i,j,i*j); Console.WriteLine(""); public static void T14() int x, y, z; for (x = 0; x <= 100; +x) for (y = 0; y <= 100; +y) for (z = 0; z <= 100; +z) if (x + y + z = 100 ) if(z%3=0 && 5 * x + 3 * y + z / 3 = 100)Console.WriteLine("x=0,y=1,z=2",x,y,z); public static void T15() int a = new int100; int p = 0; for(int i = 0;i < 10; +i) int x = Convert.ToInt32(Console.ReadLine(); int judge = p; for(int j = 0;j < p; +j) if(aj>x) judge = j; break; p+; for(int j = p-1;j > judge; -j) aj = aj-1; ajudge = x; for(int j = 0;j < p; +j) Console.Write("0 ",aj); Console.WriteLine(""); public static void T16() int a = 0; int b = 0; String str = Console.ReadLine(); foreach (char c in str) if(c>='a'&&c<='z') a+; else if(c>='A'&&c<='Z')b+; Console.WriteLine("小写:0个,大写:1个",a,b); public static void T17() String str1 = Console.ReadLine(); char str2 = new char100; int i = 0; foreach (char x in str1) str2i+ = x; str2i = '0' for(int j = 0;j < i; +j) Console.Write("0",str2j); Console.WriteLine(""); public static void T18() int vis = new int30; string str = Console.ReadLine(); for (int i = 0; i < str.Length; +i) int x = 0; if (visstri - 'a' = 0) for (int j = i + 1; j < str.Length; +j) if (stri = strj) x+; if (x > 0) Console.WriteLine("0重复出现1次", stri, x); visstri - 'a'+; public static void MaxminArray(int num,ref int x,ref int y) x = num0; y = num0; foreach (int a in num) if (x < a) x = a; if (y > a) y = a; public static void T19() int x = 0; int y = 0; int num=-1,1,2,3,5; MaxminArray(num,ref x,ref y); Console.WriteLine("max=0,min=1",x,y); public static void SortArray(int num, bool flag) for (int i = 0; i < num.Length; +i) for (int j = i + 1; j < num.Length; j+) if (numi > numj) = flag) int t = numi; numi = numj; numj = t; public static void T20() int num = -1, 1, 2, 3, 5 ,10, -2, 15; SortArray(num, false); foreach (int x in num) Console.Write("0 ", x); Console.WriteLine(""); SortArray(num, true); foreach (int x in num) Console.Write("0 ", x); Console.WriteLine(""); static void Main(string args)