C#小程序练习题及答案(5)

2019-04-23 09:15

是否正确,还要判断输入的每个字符是否为数字。否则要求重新输入。(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(\输入不合法,请重新输入\);

60.(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();

61. (40)所谓“降序数”是指一个自然数的低位数字不大于高位数字的数。例如:64,55,321都认为是降序数,但是623不是降序数。一位数字被认为是降序数。

第 21 页

编一个程序,输入一个数,判定它是否为降序数。该程序是循环执行的,当输入的数为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);

}

62.(40)所谓“回文数”是指读一个自然数,从正方向读和反方向读,结果是一样的。例如:646,1551,891232198都认为是回文数。编一个程序,输入一个正整数,判定它是否为回文数。当输入的数为0时,则退出程序,否则继续循环执行程序。(k10051502)

int s, k; int i, j;

int[] a = new int[20];

bool pos; while (true)

{

第 22 页

s = -1; 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);

}

63.(40)编一个程序,定义一个n行n列的二维数组,例如,n=4,输入该数组的全部数据。可以在定义数组时赋于常量值。求二维数组中这样元素的位置:它在行上是最小,在列上也是最小。(注意:它未必是整个数组的最小元素。k10050904)

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;

第 23 页

/*

for(k=0;k

{

if(a[i,k]

} */

for (k = 0; k < n; k++)

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

}

64.(40)给定一个m×n的数值矩阵A,如果矩阵A中存在这样的一个元素A[i][j]满足条件:A[i][j]是第i行中值最小的元素,且又是第j列中值最大的元素,则称之为该矩阵的一个马鞍点。编写一个方法计算出m*n的矩阵A的所有马鞍点。 (k10052302)

int i, j, k, m = 4, n = 5, max, min;

int[,] array = new int[,] { { 30, 20, 25, 40, 45 }, { 80, 19, 70, 90, 11 }, { 24, 14, 42, 91,

96 }, { 32, 17, 82, 72, 38 } };

Console.Write(\行{1}列的数值矩阵为:\);

for (i = 0; i < m; i++)

{

Console.WriteLine(); for (j = 0; j < n; j++)

{

Console.Write(\, array[i, j]);

} }

for (i = 0; i < m; i++) for (j = 0; j < n; j++)

{

max = array[i, j]; min = array[i, j];

for (k = 0; k < n; k++) if (array[i, k] < min) min = array[i, k]; for (k = 0; k < m; k++) if (array[k, j] > max) max = array[k, j];

if (array[i, j] == max && array[i, j] == min)

{

Console.WriteLine(\马鞍点是第{0}行,第{1}列的{2}\, i, j, array[i, j]);

} }

65.(40)编一个程序,输入一个整数,判定它为几位数。例如,99是2位数,-100是3位数。(k10050906)

第 24 页

int m, n, k = 0;

Console.Write(\请输入一个整数:\); m = int.Parse(Console.ReadLine());

n = Math.Abs(m); while (n != 0)

{ n = n / 10;

k++; }

Console.WriteLine(\是{1}位数。\, m, k);

66.(40)编一个程序,定义一个字符串数组,输入若干国家名称(所有名称全用大写或者全用小写),设计一个算法按字典顺序将这些国家名称进行排序。(k10051802)

int i, j, n = 10;

string[] SortArray = new string[n];

string temp;

Console.Write(\请输入{0}个字符串:\, n);

for (i = 0; i < n; i++)

{

SortArray[i] = Console.ReadLine();

}

for (i = 1; i < n; i++)

{

for (j = 0; j < n - i; j++)

{

if (String.Compare(SortArray[j], SortArray[j + 1]) > 0)

{

temp = SortArray[j]; SortArray[j] = SortArray[j + 1];

SortArray[j + 1] = temp;

} } }

Console.WriteLine(\已经排序后的国家名称为:\);

for (i = 0; i < n; i++)

{

Console.WriteLine(SortArray[i]);

}

67.(20)编一个程序,定义类student和它的成员(学号,姓名,年龄和c_sharp程序设计成绩),用类student生成对象s,分别对对象s的成员赋值,然后输出对象s。(k10052401)

class student

{

第 25 页


C#小程序练习题及答案(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《领袖的风采》9大领袖思维完整解释版

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: