好文档 - 专业文书写作范文服务资料分享网站

《C#程序设计基础》习题库程序

天下 分享 时间: 加入收藏 我要投稿 点赞

int i = 2, j;

bool b;

Console.WriteLine(\到100中的素数为:\);

while (i <= 100)

{ b = true; j = 2;

while (j <= i - 1)

{

if (i % j == 0)

{ b = false; break; } j++; }

if (b==true) Console.Write(\, i);

i++; }

Console.WriteLine();

34.(20)编一个程序,用while循环语句实现下列功能:有一篮鸡蛋,不止一个,有人两个两个数,多余一个,三个三个数,多余一个,再四个四个地数,也多余一个,请问这篮鸡蛋至少有多少个。(k10042105)

int num=2; while(num<10000)

{

if (num % 2 == 1 && num % 3 == 1 && num % 4 == 1)

{

Console.Write(\这篮鸡蛋至少有{0}个\, num);

break; } num++;

35.(20)编一个程序,用for循环语句求出1到100之间的奇数之和。(k10020110)

int i,s=0;

for (i = 1; i <= 100; i = i + 2)

{ s = s + i;

}

Console.WriteLine(\之间所有奇数的和为{0}\,s);

36.(20)编一个程序,利用二重for循环语句,打印出九九乘法口诀表。(k10050306)

int s;

for (int i = 1; i <= 9; i++)

{

第 11 页

for(int j=1;j<=i;j++)

{ s=i*j;

Console.Write(\,j,i,s);

}

Console.WriteLine();

37.(20)编一个程序,定义一个有10个元素的数组,使用for循环语句,从键盘上输入10名同学的数学成绩,分别求出最高分和最低分,并且求出10名同学的数学平均成绩。(k10042501)

double [] math=new double [10];

Console.WriteLine(\请输入10名学生的数学成绩\);

for (int i = 0; i < math.Length; i++)

{

math[i] = double.Parse(Console.ReadLine());

}

double max=math[0], min=math[0],ave,sum=0; for (int j = 0; j < math.Length; j++)

{

if (max < math[j]) max = math[j]; if (min > math[j]) min = math[j]; sum = sum + math[j];

}

ave = sum / math.Length;

Console.WriteLine(\最高分为{0},最低分为{1},平均分为{2}\,max,min,ave);

38.(20)编一个程序,利用for循环语句,求出1!+2!+3!+...+10!的和。(k10042502)

int s = 0, jc = 1; for (int j = 1; j <= 10; j++)

{ jc = jc * j; s = s + jc;

}

Console.WriteLine(\的和为{0}\, s);

39.(20)编一个程序,用for循环语句求出1到100之间的奇数之和,以及偶数之和。(k1002601)

long i, j, m, s = 0; for (i = 1; i <= 10; i++)

{ m = 1;

for (j = 1; j <= i; j++) m = m * j;

s = s + m;

}

Console.WriteLine(\ + s);

第 12 页

40.(20)编一个程序,用for循环语句,从键盘输入10个实数,分别求出它们中的正数之和,以及负数之和。(k10042702)

int i;

double sum1 = 0, sum2 = 0, x; for (i = 1; i <= 10; i++)

{

Console.Write(\请输入一个实数:\); x = double.Parse(Console.ReadLine());

if (x > 0) sum1 += x; else sum2 += x;

}

Console.WriteLine(\正数之和:{0},负数之和:{1}\, sum1, sum2);

41.(20)编一个程序,把一张1元的钞票换成5分,2分和1分的硬币,要求每种至少一枚,并且所换硬币数不超过30枚。请问,有哪几种换法?(k10050218)

int i, j, k;

Console.WriteLine(\一分:\\t二分:\\t五分:\);

for (i = 1; i <= 100; i++) for (j = 1; j <= 50; j++) for (k = 1; k <= 20; k++)

if (i + 2 * j + 5 * k == 100 && i + j + k <= 30) Console.WriteLine(\枚\\t{1}枚\\t{2}枚\, i, j,

k);

42.(20)编一个程序,把一张面值100元的钞票换成5元,1元和5角面值的钞票,要求100元换以上的零钱100张,且要求每种不少于一张。请问,有哪几种换法?(k10050223)

int i, j, k;//设5元有i张,1元有j张,5角有k张

Console.WriteLine(\元:\\t1元:\\t5角:\);

for (i = 1; i <= 20; i++) for (j = 1; j <= 100; j++) for (k = 1; k <= 100; k++)

if (5 * i + j + (0.5 * k) == 100 && i + j + k == 100) Console.WriteLine(\, i, j,

k);

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

x+y+z=100 5x+3y+z/3=100

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

double z;

for( double x=1;x<=20;x++) for (double y = 1; y <= 33; y++)

{

z = 100 - x - y;

第 13 页

if (5 * x + 3 * y + z / 3 == 100)

{

Console.WriteLine(\公鸡{0}只,母鸡{1}只,小鸡{2}只\,x,y,z);

} }

44.(20)编一个程序,定义数组,用for循环语句,顺序输入10个实数,然后逆序输出这10个数。(k10042701)

int i;

int[] a = new int[10]; for (i = 0; i < 10; i++)

{

Console.Write(\请输入一个数:\); a[i] = int.Parse(Console.ReadLine());

}

Console.WriteLine(); for (i = 9; i >= 0; i--)

{

Console.Write(\, a[i]);

}

Console.WriteLine();

45.(40)编一个程序,从键盘输入10个实数,存入一个数组,用冒泡法对这个数作升序排序。(k10040603)

int i, j, temp; const int n = 10; int[] SortArray = new int[n];

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

{

Console.Write(\请输入一个数:\); SortArray[i] = int.Parse(Console.ReadLine());

}

Console.Write(\等待排序的数据序列为:\);

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

{

Console.Write(\, SortArray[i]);

}

for (i = n - 1; i >= 0; i--)

{

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

{

if (SortArray[j] > SortArray[j + 1])

{

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

SortArray[j + 1] = temp;

第 14 页

} } }

Console.Write(\已经排序后的数据序列为:\);

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

{

Console.Write(\, SortArray[i]);

}

Console.WriteLine();

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

int i, j, temp, n = 10; int[] a = new int[n];

Console.WriteLine(\请输入{0}个整数。\, n);

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

{

Console.Write(\请输入一个整数:\); a[i] = int.Parse(Console.ReadLine());

for (j = i; j >= 1; j--)

{

if (a[j - 1] > a[j])

{

temp = a[j - 1]; a[j - 1] = a[j]; a[j] = temp;

} else break; } }

Console.Write(\依次输出数组中的值:\);

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

{

Console.Write(\, a[i]);

}

Console.WriteLine();

47.(20)编一个程序,定义一个数组,用for语句输入10个实数存入这个数组,然后按逆序重新存放后再输出。(k10050219)

double[] a = new double[10];

double temp;

for (int i = 0; i < 10; i++)

第 15 页

《C#程序设计基础》习题库程序

inti=2,j;boolb;Console.WriteLine(\到100中的素数为:\);while(i<=100){b=true;j=2;while(j<=i-1){if(i%j==0){b=false;
推荐度:
点击下载文档文档为doc格式
03gmt599ez10e609mkkk
领取福利

微信扫码领取福利

微信扫码分享