C#程序设计(程序阅读和编程题)
更新时间:2023-11-15 21:41:01 阅读量: 教育文库 文档下载
C#编程题集
1.(20)编一个程序,定义常量Pi=3.14159265,从键盘上输入半径r,求出圆的面积。(k003101)
const double Pi = 3.14159265; double r,s;
Console.WriteLine(\请输入圆的半径\); r = double.Parse(Console.ReadLine()); s = Pi * r * r;
Console.WriteLine(\圆的面积是{0}\,s);
2.(20) 编一个程序,定义三个double类型的变量,分别从键盘上输入值给它们,然后用Console.WriteLine方法把它们输出成一列,小数点对齐,保留3位小数。(k10052703)
double x, y, z;
Console.WriteLine(\请输入一个数:\); x = double.Parse(Console.ReadLine()); Console.WriteLine(\请输入一个数:\); y = double.Parse(Console.ReadLine()); Console.WriteLine(\请输入一个数:\); z = double.Parse(Console.ReadLine()); Console.WriteLine(\, x); Console.WriteLine(\, y); Console.WriteLine(\, z); //Console.WriteLine(\//Console.WriteLine(\//Console.WriteLine(\
3.(20)编一个程序,从键盘上输入三个数,用三元运算符(? :)把最大数找出来。(k10031505)
float x, y, z, temp;
Console.Write(\请输入一个实数:\); x = float.Parse(Console.ReadLine()); Console.Write(\请输入一个实数:\); y = float.Parse(Console.ReadLine()); Console.Write(\请输入一个实数:\); z = float.Parse(Console.ReadLine()); temp = x >= y ? x : y; temp = temp >= z ? temp : z;
Console.WriteLine(\最大数为:{0}\, temp);
4.(20)编一个程序,从键盘上输入三个数,用三元运算符(? :)把最小数找出来。(k10052702)
float x, y, z, temp;
Console.Write(\请输入一个实数:\); x = float.Parse(Console.ReadLine()); Console.Write(\请输入一个实数:\);
第 1 页
y = float.Parse(Console.ReadLine()); Console.Write(\请输入一个实数:\); z = float.Parse(Console.ReadLine()); temp = x <= y ? x : y; temp = temp <= z ? temp : z;
Console.WriteLine(\最大数为:{0}\, temp);
5.(20)编一个程序,输入一个字符,如果是大写字母,就转换成小写字母,否则不转换。(k1003205)
char ch;
Console.WriteLine(\请输入一个字符\); ch = char.Parse(Console.ReadLine()); if (ch >= 'A' && ch <= 'Z') {
ch = (char)(ch + 32); }
Console.WriteLine(ch);
6.(20)输入一个字符,判定它是什么类型的字符(大写字母,小写字母,数字或者其它字符)(k10031802)
char ch;
Console.WriteLine(\请输入一个字符\); ch = char.Parse(Console.ReadLine()); if (ch >= 'A' && ch <= 'Z') Console.WriteLine(\大写字母\); else if (ch >= 'a' && ch <= 'z') Console.WriteLine(\小写字母\); else if (ch >= '0' && ch <= '9') Console.WriteLine(\数字\); else
Console.WriteLine(\其他字母\);
7.(20)编一个程序,设圆的半径r=1.2,高h=1.5,定义圆周率常量Pi=3.1415,求出圆柱的体积。(k10032305)
const double Pi = 3.1415; double r=1.2,h=1.5; double v;
v = Pi * r * r * h;
Console.WriteLine(\圆柱体的体积是{0}\,v);
8. (20)编一个程序,设园半径r=1.5,园柱高h=3.6,圆周率3.1415定义为常量,求出圆周长、圆面积、圆柱体积。然后用Console.WriteLine方法输出计算结果,输出时要求有文字说明,取小数点后2位数字。例如,圆周长=×××.××。(k10052707) const double Pi = 3.1415;
double r = 3, h = 5; double c, s, v; c = 2 * Pi * r; s = Pi * r * r;
第 2 页
v = Pi * r * r * h;
Console.WriteLine(\圆的周长为{0:f2}\,c); Console.WriteLine(\圆的面积为{0:f2}\, s); Console.WriteLine(\圆的体积为{0:f2}\, v);
9.(20)编一个程序,输入一个字符,如果输入的字符是大写字母,则转换为小写字母;如果输入的字符是小写字母,则转换为大写字母,否则不转换。(k10032601)
char ch,c;
Console.WriteLine(\请输入一个字符\); ch = char.Parse(Console.ReadLine()); if (ch >= 'A' && ch <= 'Z') {
c = (char)(ch + 32);
Console.WriteLine(\字符{0}为大写字母,转换为小写字母为{1}\, ch, c); }
else if (ch >= 'a' && ch <= 'z') {
c = (char)(ch - 32);
Console.WriteLine(\字符{0}为小写字母,转换为大写字母为{1}\, ch, c); } else
Console.WriteLine(\既不是大写字母也不是小写字母\,ch);
10.(20)编一个程序,定义一个实数变量,从键盘上输入一个值,如果这个值在闭区间[0,100]里,则加上1000,否则不加。最后输出结果。(k10032304)
float f,g;
Console.WriteLine(\请输入一个实数变量\); f = float.Parse(Console.ReadLine()); if (f >= 0 && f <= 100) {
g = f + 1000;
Console.WriteLine(\在0-100之间,最后结果为{1}\, f, g); } else
Console.WriteLine(\不在0-100之间\,f);
11.(20)编一个程序,用if else语句,输入一个整数,如果该数大于0,则输出\这个数大于零。\如果该数等于0,则输出\这个数等于零。\否则输出\这个数小于零。\。(k10032302)
int i;
Console.WriteLine(\请输入一个整数\); i = int.Parse(Console.ReadLine()); if (i > 0) {
Console.WriteLine(\这个数大于0\); }
第 3 页
else if(i==0) {
Console.WriteLine(\这个数等于0\); } else {
Console.WriteLine(\这个数小于0\);
12.(20)编写一个程序,定义三个float类型的变量,分别从键盘上输入值给它们, 然后用if else选择语句找出它们中的最小数,最后输出结果。(k10052604)
float x, y, z,min=0;
Console.WriteLine(\请输入三个float类型的值\); x = float.Parse(Console.ReadLine()); y = float.Parse(Console.ReadLine()); z = float.Parse(Console.ReadLine()); if (x < y && x < z) min = x;
else if (y < x && y < z) min = y; else min = z;
Console.WriteLine(\这三个数中的最小值为{0}\,min);
13.(20)编一个程序,首先输入一个成绩(0到100的整数),用if else语句然后判断该成绩是优、良、中、及格还是不及格。(k10040501)
double score;
Console.WriteLine(\请输入一个成绩\); score = double.Parse(Console.ReadLine()); if (score >= 90)
Console.WriteLine(\优\); else if (score >= 80) Console.WriteLine(\良\); else if (score >= 70) Console.WriteLine(\中\); else if (score >= 60) Console.WriteLine(\及格\); else
Console.WriteLine(\不及格\);
14.(20)编一个程序,用do-while循环语句来计算PI=4*(1-1/3+1/5+...+1/n),要求当1/n<0.000001时停止计算。(k10041502)
double pi,s=0,x; double n=1; do {
x = Math.Pow(-1,n + 1) / (2 * n - 1); s = s + x;
第 4 页
n++;
} while (1 / n >= 0.000001); pi = s * 4;
Console.WriteLine(\的值为:{0}\,pi);
15.(20)编一个程序,从键盘上输入二个实数,使用Math类中Max()和Min()方法,求出它们中的最大数和最小数。(k10040604)
double d1, d2,max,min;
Console.WriteLine(\请输入两个实数\); d1 = double.Parse(Console.ReadLine()); d2 = double.Parse(Console.ReadLine()); max=Math.Max(d1,d2); min = Math.Min(d1,d2);
Console.WriteLine(\最大值为{0},最小值为{1}\,max,min);
16.(20)编一个程序,利用while循环语句和Math类中的Pow()方法,求出1到10的各个数的平方之和。(k10040602)
double i = 1,s=0; while (i <= 10) {
s = s + Math.Pow(i, 2); i++; }
Console.WriteLine(\和为{0}\,s);
17.(20)编写一个程序,用while语句,求出1+(1+2)+(1+2+3)+...+(1+2+3+...+10)之和。(k10041803)
int i = 1, s = 0,j=1, s1 = 0; while (j <=10) {
while (i <= j) {
s = s + i; i++; } s1=s1+s; j++; }
Console.WriteLine(\, s1);
18.(20)编一个程序,用while循环语句,从键盘输入10个数,要求找出最大数和次大数。(k10041902)
int i=1,max=1,max1=1; int s;
Console.WriteLine(\请输入10个数:\); while (i<=10) {
第 5 页
Console.WriteLine(\大写字母有{0}个,小写字母有{1}个\,n1,n2);
34. (40)编一个程序,定义一个字符数组和一个字符串变量,给这个字符串变量输入一个字符串,然后用foreach语句把这个字符串拷贝到字符数组里,最后输出字符数组。(k10051601)
string s;
Console.WriteLine(\请输入一个字符串\); s = Console.ReadLine(); char[] ch=new char [s.Length]; int n=0;
foreach (char c in s) {
ch[n] = c; n++; }
foreach (char c in ch) {
Console.WriteLine(c); }
35.(20)输入一个字符串,将其中小写字母改成大写字母,把大写字母改成小写字母,其余字符不变,输出该字符串。(k10050222)
string s;
Console.WriteLine(\请输入一个字符串:\); s = Console.ReadLine();
foreach (char ch in s)
if ('a' <= ch && ch <= 'z') Console.Write((char)((int)ch - 32)); else if ('A' <= ch && ch <= 'Z') Console.Write((char)((int)ch + 32)); else Console.Write(ch); Console.WriteLine();
36.(20)编一个程序,输入一个字符串,用ToCharArray()方法把字符串中的内容拷贝到字符数组中,然后用foreach输出该字符数组。(k10040305)
string s;
Console.WriteLine(\请输入一个字符串\); s = Console.ReadLine(); char[] ch = new char[s.Length]; ch = s.ToCharArray(); foreach (char c in ch) {
Console.WriteLine(c); }
37.(20)编一个程序,定义一个字符串变量,输入字符串,然后再输入一个字符,在字符串中查找该字符出现的次数。(k10040307)
string a;
第 11 页
char b; int d = 0;
Console.WriteLine(\请输入一个字符串\); a = Console.ReadLine();
Console.WriteLine(\请输入一个字符\); b = char.Parse(Console.ReadLine()); for (int c = 0; c <= a.Length - 1; c++) {
if (a[c] == b) d++; }
Console.WriteLine(\字符{0}在字符串{1}中出现了{2}次\, b, a, d);
38.(40)编一个程序,定义一个字符串变量,输入字符串,判断有没有连续重复字符出现,统计重复字符出现次数。例如,aaabccdfff,其中a重复出现二次,c重复出现一次,f重复出现二次,共计字符重复五次。(k10053005)
string i; int a = 0;
Console.WriteLine(\输入一个字符串\); i = Console.ReadLine();
for (int b = 1; b <= i.Length - 1; b++) {
if (i[b] == i[b - 1]) a++; }
Console.WriteLine(\, a);
39.(20)编一个程序,利用for语句,打印一个如下形式的一个直角三角形,顶点在屏幕中线上,行数从键盘输入。 * ** *** **** (k10051202)
int i, j, n = 0, m = 40; while (n <= 0) {
Console.WriteLine(\请输入一个正整数:\); n = int.Parse(Console.ReadLine()); }
Console.WriteLine('\\n'); for (i = 1; i <= n; i++) {
Console.Write('\\n');
for (j = 1; j <= m; j++) Console.Write(' ');
第 12 页
for (j = 1; j <= i; j++) Console.Write('*'); }
Console.WriteLine();
40.(40)编一个程序,利用for语句,打印一个如下形式的一个等腰三角形,顶点在屏幕中线上,行数从键盘输入。
* *** ***** *******
int i;
Console.WriteLine(\从键盘上输入一个数\); i = int.Parse(Console.ReadLine()); for (int b = 1; b <= i ; b++) {
for (int a = 1; a <= i - b; a++) {
Console.Write(\); }
for (int c = 1; c <= 2 * b - 1; c++) {
Console.Write (\); }
Console.WriteLine(); }
41.(20)编一个程序,定义一个n行n列的二维整数数组,赋初值,然后求出对角线上的元素之和。
int n = 5; int s=0;
int[,] arr ={ { 1, 2, 3, 4, 5 }, { 11, 12, 13, 14, 15 }, { 21, 22, 23, 24, 25 }, { 31, 32, 33, 34, 35 }, { 41, 42, 43, 44, 45 } }; int i, j;
for (i = 0; i < arr.GetLength(0); i++) {
for (j = 0; j < arr.GetLength(1); j++) {
if (i == j || i + j == n + 1) s = s + arr[i, j]; } }
Console.WriteLine(\对角线上的元素之和{0}\,s);
42.(40)编一个程序,输入一个代表身份证号码的字符串,判断字符串长度(18)是否正确,还要判断输入的每个字符是否为数字。否则要求重新输入。
第 13 页
(k10050225)
string a; bool q = true;
Console.WriteLine(\请输入你的身份证;\); a = Console.ReadLine();
for (int b=0; b <= a.Length - 1; b++) {
if (a[b] >= '0' && a[b] <= '9') { continue; } else q=false; }
if (a.Length == 18) {
if(q==true)
Console.WriteLine(\输入正确\); else if(q==false)
Console.WriteLine(\输入不合法,请重新输入\); } else
Console.WriteLine(\输入不合法,请重新输入\);
43.(40)编一个程序,输入一个正整数n,把它转换为二进制数,并输出。提示:应该利用数组。(k10050226)
int[] a = new int[80]; int i, j, n = 0; while (n <= 0) {
Console.WriteLine(\请输入一个正整数:\); n = int.Parse(Console.ReadLine()); } i = 0;
Console.Write(\正整数{0}转换为二进制数:\, n); while (n > 0) {
a[++i] = n % 2; n = n / 2; }
for (j = i; j > 0; j--) Console.Write(a[j]); Console.WriteLine();
44. (40)所谓“降序数”是指一个自然数的低位数字不大于高位数字的数。例如:64,55,321都认为是降序数,但是623不是降序数。一位数字被认为是降序数。编一个程序,输入一个数,判定它是否为降序数。该程序是循环执行的,当输入
第 14 页
的数为0时,则退出程序运行。(k10051501)
int i, j, m, n; bool pos; while (true) { n = -1; while (n <= 0) {
if (n == 0) return;
Console.WriteLine(\请输入一个正整数或者0:\); n = int.Parse(Console.ReadLine()); }
if (n < 10) pos = true; else { m = n; i = 0; pos = true; while (m > 0) {
j = m % 10; m = m / 10; if (i > j) {
pos = false; break; } i = j; } }
if (pos) Console.WriteLine(\是降序数。\, n); else Console.WriteLine(\不是降序数。\, n); }
45.(40)所谓“回文数”是指读一个自然数,从正方向读和反方向读,结果是一样的。例如:646,1551,891232198都认为是回文数。编一个程序,输入一个正整数,判定它是否为回文数。当输入的数为0时,则退出程序,否则继续循环执行程序。(k10051502)
int s, k; int i, j;
int[] a = new int[20]; bool pos; while (true) { s = -1;
第 15 页
while (s < 0) {
Console.Write(\请输入一个正整数或者只按一个数字0:\); s = int.Parse(Console.ReadLine()); if (s == 0) return; } k = s; pos = true; i = -1; while (k > 0) { i++;
a[i] = k % 10; k = k / 10; }
//注意:数组a的长度为(i+1) for (j = 0; j < (i + 1) / 2; j++) if (a[j] != a[i - j]) {
pos = false; break; }
if (pos) Console.WriteLine(\是回文数。\, s); else Console.WriteLine(\不是回文数。\, s); }
46.(40)编一个程序,定义一个n行n列的二维数组,例如,n=4,输入该数组的全部数据。可以在定义数组时赋于常量值。求二维数组中这样元素的位置:它在行上是最小,在列上也是最小。(注意:它未必是整个数组的最小元素。)
int n = 4;
int[,] a ={ { 25, 12, 22, 14 }, { 15, 16, 17, 18 }, { 19, 20, 21, 13 }, { 23, 24, 11, 26 } }; int i, j, k, temp, min; Console.Write(\二维数组:\); for (i = 0; i < n; i++) {
Console.Write(\);
for (j = 0; j < n; j++) Console.Write(\, a[i, j]); }
Console.WriteLine(\行 列 最小值\); for (i = 0; i < n; i++) for (j = 0; j < n; j++) {
temp = a[i, j]; min = temp;
for (k = 0; k < n; k++)
第 16 页
if (a[i, k] < min) min = a[i, k];//在第i行查找最小值 for (k = 0; k < n; k++)
if (a[k, j] < min) min = a[k, j];//在第j列查找最小值
if (temp == min) Console.WriteLine(\, i, j, temp); }
47.(20)编一个程序,定义类student和它的成员(学号,姓名,年龄和c_sharp程序设计成绩),用类student生成对象s,分别对对象s的成员赋值,然后输出对象s。(k10052401)
class student {
public string 学号; public string 姓名; public int 年龄;
public int c_sharp程序设计成绩; }
static void Main(string[] args) {
student s; s = new student(); s.学号 = \; s.姓名 = \刘云飞\; s.年龄 = 21;
s.c_sharp程序设计成绩 = 95;
Console.WriteLine(\学生学号:{0}\, s.学号); Console.WriteLine(\学生姓名:{0}\, s.姓名); Console.WriteLine(\学生年龄:{0}\, s.年龄);
Console.WriteLine(\程序设计成绩:{0}\, s.c_sharp程序设计成绩);
48.(40)编一个程序,定义类(有姓名,年龄,手机号码三个字段),再定义一个一维数组,使数组元素为类,存入数据,然后依次输出,使用for循环语句进行输入输出操作。(k10052602)
class Contact {
public string name; public int age;
public string telephone; }
class Program {
static void Main(string[] args) {
int i, n = 3;
Contact[] c = new Contact[n];
for (i = 0; i < n; i++) c[i] = new Contact();
第 17 页
for (i = 0; i < n; i++) {
Console.Write(\请输入学生姓名:\); c[i].name = Console.ReadLine(); Console.Write(\请输入学生年龄:\); c[i].age = int.Parse(Console.ReadLine()); Console.Write(\请输入手机号码:\); c[i].telephone = Console.ReadLine(); }
for (i = 0; i < n; i++) {
Console.Write(\姓名:{0},\, c[i].name); Console.Write(\年龄:{0},\, c[i].age);
Console.WriteLine(\手机号码:{0}\, c[i].telephone); }
49. (40)编一个程序,输入三个double类型数据,自定义一个静态方法,把这三个数送给它,返回找出的最大数。(k10060102)
class classname {
public static double compare(double x, double y, double z) {
double temp; if (x > y) temp = x; else temp = y;
if (z > temp) temp = z; return temp; } }
class Program {
static void Main(string[] args) {
Console.Write(\请输入一个实数:\);
double x = double.Parse(Console.ReadLine()); Console.Write(\请输入一个实数:\);
double y = double.Parse(Console.ReadLine()); Console.Write(\请输入一个实数:\);
double z = double.Parse(Console.ReadLine()); double temp = classname.compare(x, y, z);
Console.WriteLine(\比较后得到的最大数为{0}\, temp);
50.(40)编一个程序,利用自定义方法,找出2到100之间的素数。(k10050209)
class primetest {
public bool prime(int x)
第 18 页
{
for (int i = 2; i < x; i++) {
if (x % i == 0) return false; }
return true; } }
class Program {
static void Main(string[] args) {
primetest c = new primetest(); Console.WriteLine(\到100中的素数:\); for (int i = 2; i < 100; i++) if (c.prime(i))
Console.Write(\, i);
51.(40)编一个程序,从键盘上输入三个double类型的数,自定义方法,以从小到大的顺序排序,以引用型参数调用方法,然后返回主方法输出结果。(k10050207)
class compare {
public void swap(ref double x, ref double y, ref double z) {
double temp; if (x > y) { temp = x; x = y; y = temp; double temp; ; if (y > z) { temp = x; y = z; z = temp; double temp; ; if (x > y) { temp = x; x = y; y = temp; } }
第 19 页
} }
class Program {
static void Main(string[] args) {
double x, y, z;
compare c = new compare();
Console.Write(\请输入一个实数:\); x = double.Parse(Console.ReadLine()); Console.Write(\请输入一个实数:\); y = double.Parse(Console.ReadLine()); Console.Write(\请输入一个实数:\); z = double.Parse(Console.ReadLine());
Console.WriteLine(\排序前的三个数依次为{0},{1},{2}\, x, y, z); c.swap(ref x, ref y, ref z); //c.swap(ref x,ref z); //c.swap(ref y,ref z);
Console.WriteLine(\排序后的三个数依次为{0},{1},{2}\, x, y, z); }
52. (40)编一个程序,定义一个数组,再定义类以及方法,用方法(out参数传递数据)找出这组数据中的最大数和最小数。(k10050302)
class ClassName {
public void find(out int max, out int min, params int[] array) {
int n = array.Length, i = 1; max = array[0]; min = array[0]; while (i < n) {
if (array[i] > max) max = array[i]; else
if (array[i] < min) min = array[i]; i++; } } }
class Program {
static void Main(string[] args) {
第 20 页
正在阅读:
C#程序设计(程序阅读和编程题)11-15
2018年法宣在线答案中华人民共和国宪法·学习资料汇编12-05
第二章复式记账09-02
2017年版中国建筑装饰行业分析报告目录04-06
行进间队列队形练习教学06-15
东宝区浏河小学特色体育创新项目04-13
衣服搭配介绍10-30
社团联合会纳新报名表07-28
2014-2015学年度新牛津版八年级英语下学期期末考试试题含答案04-25
儿童画课程教学大纲05-09
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- C#
- 程序设计
- 编程
- 程序
- 阅读
- 2018陕旅版英语六年级下册Unit 2 What Would You Like单元测试卷
- 《少儿十万个为什么》必读书阅读题(有答案,内容全)
- 广东省路桥施工企业名录2018版540家 - 图文
- 青少年犯罪与社会控制
- 铁艺栏杆制作安装施工方案
- 2014年炸材库防盗防抢应急救援演练方案
- 苏教版五年级数学上册 组合图形的面积
- 货币金融学习题及答案
- 山东省专升本《大学语文》模拟试题(23)
- 2013学年市寄宿制高中高三调研考生命科学试卷
- 油封规格表 - 图文
- 大工13春《房屋建筑学》在线作业123及答案
- 会员活动室管理制度及温馨提示语
- 计量经济学第四章习题(龚志民)fixed
- 长江大学计算机基础考试试题
- 小学数学人教2011课标版二年级有余数的除法之找规律
- 讲解词汇总修改稿
- 水泥制品厂项目可行性研究报告(发改立项备案+2013年最新案例范文)详细编制方案
- DQ2.13建筑照明通电试运行记录
- 2018年电大建筑施工技术期末考试资料及答案