c - 程序设计课后习题与解答[1] 下载本文

case 4: case 6: case 9: case 11:

days = 30; break; default:

days = 31; break; }

Console.WriteLine(days);

8如果 x=35, y=80,下面代码的输出结果是(报警)

if (x < -10 || x > 30) {

if (y >= 100) {

Console.WriteLine(\危险!\ } else {

Console.WriteLine(\报警!\ } } else {

Console.WriteLine(\安全\}

9.下面代码运行后,s 的值是()。 int s = 0;

for (int i = 1; i < 100;i++) {

if (s > 10) {

break; }

if (i % 2 == 0) {

s += i;

第 17 页 共 88 页

} }

10.若打印如下图案,画线处应填入()。 * * * * * * * * * * * * * * *

for (int i = 1; i <= 5; i++) {

for (int j =____; j <= 5; j++) {

Console.Write(\ }

三、程序设计题

1. 创建图3-20所示Windows窗体应用程序,程序运行时,在“年份”文本框中输入一

个正整数,单击“判断”按钮,就能在标签控件中显示判断结果;单击“退出”按钮则结束程序运行。(闰年的计算规则请自行上网查阅)

图3-20 判断闰年 图3-21 输出星号组成的图案

2.创建控制台应用程序,输入一个正整数之后,输出图3-21所示图案。最顶部一行的星号个数为输入的数。

-6

3.创建控制台应用程序,利用下面多项式公式计算出π值,要求最后一项的值小于10。

?11111 ?1????...??43574n?34n?1-6

4.创建控制台应用程序,利用下面的公式计算e的近似值,要求最后一项的值小于10。

k1e?

n?0n!

5.已知两个3位数abc和cba之和为1333(即abc+cba=1333),编写控制台应用程序,求出3个数字a、b和c。

6.创建控制台应用程序,求解猴子吃桃问题:猴子第一天摘下桃子若干,当即吃了一半后又多吃了一个;第二天又将剩下的桃子吃掉一半后再多吃一个;以后每天都吃掉前

?第 18 页 共 88 页

一天剩下的一半零一个。到第10天想再吃时,只剩下一个桃子。求猴子第一天共摘下多少个桃子。

7.马克思曾经做过这样一道趣味数学题:有30个人在一家小饭馆用餐,其中每个男人花了3先令,每个女人花了2先令,每个孩子花了1先令,总共花了50先令。问男人、女人和孩子各有多少人?本题有多个解,编写控制台应用程序求出所有的解。

8.体操比赛的评分规则是:由7位裁判为每个运动员打分,去掉一个最高分,去掉一个最低分,求出的平均分即为运动员的得分。编写控制台应用程序,计算运动员得分。 9.所谓“水仙花数”,指的就是这样一个三位数:其各位数的立方和等于该数。例如:153=13+53+33。编写控制台应用程序,计算输出所有的水仙花数。 10.所谓“完备数”,指的就是这样一个数:该数的值恰好等于它的因子之和。例如,6的因子为1、2、3,而6=1+2+3,因而6就是完备数。编写控制台应用程序,找出1~1000之间的所有完备数。

11.编写程序,求解以下问题:

(1)在窗体上输出100~500之间的所有奇数,并计算它们的和。 (2)在窗体上输出100~200之间不能被3整数的所有数。

(3)统计1~1000之内既能被5整除,也能被7整除的数的个数,并输出在窗体上。 (4)从300开始,找出连续100个既能被3整数又能被5整除的数。 (5)计算s = 1! + 2! + 3! + ? + n! (其中n是用户输入的正整数)。 (6)计算出不大于1000 的10个最大的素数。

习题3.4 3.5

一、单项选择题

1.下面所列选项中,能够正确定义具有10个数据元素一维整型数组a的是( A )。 (A)int [] a = new int[10]; (B)int a[10];

(C)int [] a = int[10]; (D)int [] a = int(10); 2.下面所列选项中,不能正确定义并初始化一维数组b的是( D )。 (A)double [] b=new double[5]{1,2,3,4,5};

(B)double [] b=new double[]{1,2,3,4,5}; (C)double [] b= {1,2,3,4,5}; (D)double [] b=new {1,2,3,4,5};

3.始化一维数组的语句,指出其中正确的是____?(D) A.int arr1 [ ]={6,5,1,2,3}; B.int [ ] arr1=new int[ ];

C.int[ ] arr1=new int[ ]{6,5,1,2,3}; D.int[ ] arr1;arr1={6,5,1,2,3};

4.下面所列选项中,能够正确定义2行3列二维整型数组a的是( B )。

(A)int [][] a = new int [2][3]; (B)int [ ,] a = new int [2,3];

第 19 页 共 88 页

(C)int [2][3]; (D) int [ ,] a = int [2,3]; 5.下面所列选项中,不能正确定义并初始化二维数组a的是( C )。

(A)int [ ,] a = new int [2,3]{{1,2,3},{4,5,6}}; (B)int [ ,] a = new int [,]{{1,2,3},{4,5,6}}; (C)int [ ,] a = new int [2,3]{1,2,3,4,5,6}; (D)int [ ,] a = {{1,2,3},{4,5,6}};

6.设有C#数组定义语句:int [] a = new int[5]; 对数组a元素的正确引用是( B )

(A)a[5] (B)a[100-100] (C)a(0) (D)a+1

6.设有C#数组定义语句序列:double [] myArr; myArr = new double[10]; 数组元素myArr[5]的值为( A )

(A)0 (B)'0' (C)null (D)随机值

7. 有定义语句:int [,]a=new int[5,6]; 则下列正确的数组元素的引用是____?(C) A.a(3,4) B.a(3)(4) C.a[3][4] D.a[3,4]

8.设有C#数组定义语句:float [ ,] a = new float [5,5]; 对数组a元素的正确引用是( D )。

(A)a[3][2] (B)a[4,5] (C)a[5,0] (D)a[0,0] 9.在C#语言中,表示数组长度属性的关键字是( D )。

(A)Len (B)Size (C)Long (D)Length 10.在C#语言中,数组Array实现一维数组由小到大排序的静态方法是( A )。

(A)Array.Sort (B)Array.Reverse (C)Array.Long (D)Array.Order 12.在C#语言中,Array实现数组逆排序的静态方法Array.Reverse的意思是( D )。

(A)实现一维数组由小到大排序 (B)实现一维数组由大到小排序 (C)实现二维数组反向排序 (D)实现一维数组反向排序

13. 在 C#中,下列哪条语句能创建一个具有 3 个初始值为\的元素的字符串数组? (C) A.string StrList[3](\

B.string[3] StrList = {\C.string[] StrList = {\D.string[] StrList = new string[3];

14. 假定 int 类型变量占用两个字节,若有定义:int [] x=new int[10]{0,2,4,4,5,6,7,8,9,10};

则 数组 x 在内存中所占字节数是___(B)? A.6 B.20 C.40 D.80

15. 以下程序的输出结果是: (C)Class Example1 {

Public Static void main() { int i;

int []a=new int[10];

第 20 页 共 88 页