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 页