《c#小程序练习题及答案.pdf》由会员分享,可在线阅读,更多相关《c#小程序练习题及答案.pdf(53页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C#小程序练习题及答案 c#程序设计基础习题库程序x x 年6 月3日提供给信息中心的原稿 2 0分 题 5 0个 4 0分 题24个1.(2 0)编一个程序,定义常量P i=,从键盘上输入半径r,求出圆的面积。(k 003 101)c o ns t d o u b l e P i =;d o u b l e r,s;(请输入圆的半径);r=();s =P i *r*r;(圆的面积是0,s);2 .编一个程序,定义三个d o u b l e 类型的变量,分别从键盘上输入值给它们,然后用方法把它们输出成一列,小数点对齐,保留3 位小数。d o u b l e x,y,z;(请输入一个数:);x
2、=();(、请输入一个数:);y=();(请输入一个数:);z=(0);(,x);(,y);(,z):/(/(/(3 .编一个程序,从键盘上输入三个数,用三元运算符把最大数找出来。(R 1003 15 05)f l o a t x,y,z,t e mp;(请输入一个实数:);x=();(请输入一个实数:);y =(0);(请输入一个实数:);第1页z =(0);t e mp =x =y?x :y;t e mp =t e mp =z?t e mp :z;(最大数为:0,t e mp);4.编一个程序,从键盘上输入三个数,用三元运算符把最小数找出来。(k l 005 2 7 02)f l o a
3、t x,y,z,t e mp;(请输入一个实数:);x =();(请输入一个实数:);y =(0);(请输入一个实数:);z =(0);t e mp =x (、最大数为:0,t e mp);5 .编一个程序,输入一个字符,如果是大写字母,就转换成小写字母,否则不转换。(k l 003 2 05)c h a r c h;(请输入一个字符);c h =();i f (c h =A&c h c h =(c h a r)(c h +3 2);(c h);6 .输入一个字符,判定它是什么类型的字符(k l 003 18 02)c h a r c h;(请输入一个字符);c h =();i f (c h
4、=A&c h =a&c h =O&c h (数字);e l s e(其他字母);7 .编一个程序,设圆的半径r=,高h=,定义圆周率常量P i=,求出圆柱的体积。(0003 2 3 05)c o ns t d o u b l e P i =;d o u b l e r=,h=;d o u b l e v;v =P i *r*r*h;第2页(圆柱体的体积是0,v);8 .(2 0)编一个程序,设园半径r二,园柱高卜=,圆周率定义为常量,求出圆周长、圆面积、圆柱体积。然后用方法输出计算结果,输出时要求有文字说明,取小数点后2位数字。例如,圆周长=X X X.X Xoc o ns t d o u b
5、 l e P i =;d o u b l e r=3,h =5;d o u b l e c,s,v;c =2 *P i *r;s =P i *r*r;v =P i *r*r*h;(、圆的周长为0:f 2 ,c);(圆的面积为0:f 2 ,s);(、圆的体积为0:f 2 ,v);9.编一个程序,输入一个字符,如果输入的字符是大写字母,则转换为小写字母;如果输入的字符是小写字母,则转换为大写字母,否则不转换。(0003 2 6 01)c h a r c h,c;(请输入一个字符);c h =();i f (c h =A&c h c =(c h a r)(c h +3 2);(字符0为大写字母,转换
6、为小写字母为口,c h,c);e l s e i f (c h =a&c h c 二 (c h a r)(c h -3 2);(字符0为小写字母,转换为大写字母为口,c h,c);e l s e(既不是大写字母也不是小写字母,c h);10.编一个程序,定义结构类型,声明该结构类型变量,用赋值语句对该变量赋值以后再输出。(k l 003 16 01)s t ru c t s t u d e ntp u b l i c i nt no;p u b l i c s t ri ng na me;p u b l i c s t ri ngs e x;p u b l i c d o u b l e s
7、c o re;c l a s s P ro g ra ms t a t i c v o i d Ma i n(s t ri ng a rg s)第3页 s t u d e nt s t u;=10003;=小小;=、女;-;(学生的学号是0,名字叫1,性别是2,程序设计的成绩是11.编一个程序,定义一个实数变量,从键盘上输入一个值,如果这个值在闭区间 0,100里,则加上1000,否则不加。最后输出结果。(0003 2 3 04)f l o a t f,g;(请输入一个实数变量);f =(0);i f (f =0&f g =f +1000;(在0-100之间,最后结果为1,f,g);e l s
8、 e(不在0 T 0 0之间,f);12 .(2 0)编一个程序,输入一个整数,使 用i f e l s e语句,如果该数大于0,则加上100,否则加上5 00,输出结果。i nt i,j;(请输入一个整数);i =(0);i f (i 0)j =i +100;(最后结果是1,i,j);e l s e j =i +5 00;(最后结果是1,i,j);13.编一个程序,用 i f e l s e 语句,输入一个整数,如果该数大于0,则输出这个数大于零。,如果该数等于0,则输出这个数等于零。否则输出这个数小于零。o(k l 003 2 3 02)i nt i;(请输入一个整数);i =(0);i
9、f (i 0)(这个数大于0);第 4页e l s e i f (i-0)(这个数等于0);e l s e (这个数小于0);14.(2 0)编一个程序,输入一个正数,对该数进行四舍五入到个位数的运算。例如,实数经过四舍五入运算,得到结果13;而经过四舍五入运算,得到结果120(kl0012803)double d;int i,e;(请输入一个正数);d=();i=(int)d;if(d-i)=)e=i+1;else e=i;(、四舍五入的结果为1,d,e);15.(20)编写一个程序,定义三个float类型的变量,分别从键盘上输入值给它们,然后用if else选择语句找出它们中的最小数,最后
10、输出结果。float x,y,z,min=0;(请输入三个float类型的值);x=(0);y=(0);z=();if(x min=x;else if(y min=y;else min=z;(、这三个数中的最小值为0,min);16.(20)编一个程序,输入三个实数,要求使用if else语句把它们的中间数找出来,可以使用逻辑运算符。(kl003 23 09)float x,y,z,second=0;(请输入三个float类型的值、);x=(0);y=(0);z=();if(xy&xz)s e c o nd =x;第5页e l s e i f (y x&y z)s e c o nd =y;e
11、l s e s e c o nd =z;(这三个数中的中间数为0,s e c o nd);17 .编一个程序,首先输入一个成绩(0到100的整数),用i f e l s e语句然后判断该成绩是优、良、中、及格还是不及格。(0004 05 01)d o u b l e s c o re;(请输入一个成绩);s c o re =();i f (s c o re =9 0)(优);e l s e i f (s c o re =8 0)(良、);e l s e i f (s c o re =7 0)(、中);e l s e i f (s c o re =6 0)(及格);e l s e(不及格);18
12、 .编一个程序,输 入0100之间的一个学生成绩分数,用s w i t c h语句输出成绩等第,成绩良好,成绩及格和成绩不及格)。i nt s c o re;(请输入学生成绩);s c o re =();s c o re =s c o re /10;s w i t c h (s c o re)c a s e 10:(成绩优秀);b re a k;c a s e 9:(成绩优秀);b re a k;c a s e 8:(成绩良好);b re a k;c a s e 7:(成绩及格);b re a k;c a s e 6:(成绩及格);b re a k;第6页d e f a u l t:(成绩不及
13、格);b re a k;19.(2 0)编一个程序,利用d o-w h i l e循环语句,从键盘上输入10个整数,求出它们的和。(k l 002 0105)i nt i=l,n,s u m=0;d o (请输入一个整数);n=();s u m=s u m+n;i+;while(i(这十个整数的和为0,sum);2 0.编 一 个 程 序,用 while循 环 语 句 来计算1+1/2+2/3+3/4+.+99/100 之和。(kl0052605)double i=l,s=l;while(i s=s+i/(i+1);i+;)(和为0,s);21.(20)编一个程序,用 do-while循环语句
14、来计算PI=4*(1T/3+1/5+.+l/n),要求当 1/n doublepi,s=0,x;double n=l;do x=(-1,n+1)/(2*n-1);s=s+x;n+;while(1/n =);pi=s*4;(的值为:0,pi);22.(20)编一个程序,从键盘上输入二个实数,使用Math类中Max。和Min()方法,求出它们中的最大数和最小数。double dl,d2,max,min;(请输入两个实数);dl=();d2=();max=(dl,d2);min=(dl,d2);(最大值为0,最小值为“,max,min);第 7 页23.(20)编一个程序,利用while循环语句和M
15、ath类中 的 Pow()方法,求 出 1 到 1 0 的各个数的平方之和。(kl0040602)double i=1,s=0;while(i s=s+(i,2);i+;)(和为0,s);24.(20)编一个程序,打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例 如,153=1*1*1+5*5*5+3*3*3,所以 153 是“水仙花数”。int a,i,j,k;for(a=100;a i=a%1 0;k=a/100;j=a%100/10;if(a=(i,3)+(j,3)+(k,3)(是水仙花数、,a);25.编 写 一 个 程 序,用while语 句
16、,求出1+(1+2)+(1+2+3)+.+(1+2+3+.+10)之和。(R10041803)int i=1,s=0,j=l,si=0;while(j while(i s=s+i;i+;sl=sl+s;j+;(,si);2 6.(2 0)编一个程序,输入二个正整数,求出它们的最大公约数。1 0 0 4 1 9 0 1)i nt i,j,k;(、请输入两个正整数);i =(0);j =(0);k =i wh i l e(!(i%k =0&j%k =0)k ;(最大公约数为 0 ,k);第8页2 7.(2 0)编一个程序,用wh i l e循环语句,从键盘输入1 0个数,要求找出最大数和次大数。(
17、k l 0 0 4 1 9 0 2)i nt i=l,m ax=l,m ax l=l;i nt s;(请输入1 0个数:);wh i l e(i s=(0);i f(s m ax)m ax i =m ax;m ax =s;el se i f(s m ax i)s=m ax i;i+;(最大值为 o,次大值为为,m ax,m ax i);2 8.(4 0)编一个程序,要求使用wh i l e语句,输入用户名和密码,实现用户登录程序的功能,至多允许输入三次,超过三次不允许登录。const stri ng UserN am e=;const stri ng P assWord=;stri ng u
18、sernam e,password;i nt i=l;wh i l e(i (请输入用户名);u sernam e=();(、请输入密码);password=();i f(u sernam e=UserN am e&password=P assWord)break;el se(你输入的用户名或者密码错误,请重新输入用户名和密码);i+;i f(i (正在登录系统);el se第 9页(不能登录系统);2 9.(2 0)有关系式 l*l+2*2+3*3+.+k*k i nt k 二1,s=0;wh i l e(s s=s+k *k;k+;(的值为 0 ,k-2);3 0.(2 0)编写一个程序,
19、要求用wh i l e循环语句,打印1 到 1 0 0 的正整数,每行打印5 个数,每列右对齐。i nt i =1;wh i l e(i (,i);i f(i%5 =0)();i+;3 1.F i bonacci 序列的前二项是0和 1,且每一个后继项是前二项的和。编一个程序,输出项值不大于1 0 0 的F i bonacci 序列。(k l 0 0 3 3 1 0 4)i nt fl =0;i nt f2 =1;i nt f3;wh i l e(fl f3=fl+f2;(,fl);fl=f2;f2=f3;3 2.编一个程序,输入a,b,c的值,求出一元二次方程a*x*x+b*x+c=0 的二
20、个实数根。计算二个实数根必须使用M ath 类中的Sqrt()方法,计算指定数的开方。计算二个实数 根,可 以 用 公 式(-b+(b*b-4*a*c)/(2*a)和(-(b*b-4*a*c)/(2*a)(k l 0 0 4 2 1 0 2)i nt a,b,c;dou bl e x l,x 2;(请 输入 a,b,c 的值);a=(0);b=();c=(0);i f(b*b-4 *a*c=0)x l =(-b+(b*b-4 *a.*c)/(2 *a);第 1 0 页x 2 =(-b 一(b*b -4*a*c)/(2*a);(这个方程的两个根是 0 ,1 ,x l,x 2);el se(这个方
21、程没有解);3 3.编一个程序,利用 wh i l e循环语句,找 出 2到 1 0 0之间的素数。i nt i =2,j;bool b;(、到 1 0 0 中的素数为:);wh i l e(i b=tru e;j =2;wh i l e(j i f(i%j =0)b=fal se;break;j+;i f(b-tru e)(,i);i+;)0;3 4.编一个程序,用 wh i l e循环语句实现下列功能:有一篮鸡蛋,不止一个,有人两个两个数,多余一个,三个三个数,多余一个,再四个四个地数,也多余一个,请问这篮鸡蛋至少有多少个。(0 0 0 4 2 1 0 5)i nt nu m=2;wh i
22、 l e(nu m i f(nu m%2 =1&nu m%3 =1&nu m%4 =1)(这篮鸡蛋至少有 0 个,nu m);break;nu m+;3 5.编一个程序,用 for循环语句求出1 到 1 0 0 之间的奇数之和。i nt i,s=0;for(i=l;i s=s+i;第 1 1 页(之间所有奇数的和为 0 ,s);3 6.编一个程序,利用二重for循环语句,打印出九九乘法口诀表。(k l 0 0 5 0 3 0 6)i nt s;for(i nt i =1;i for(i nt j=l;j s=i*j;(,j,i,s);0;3 7.编一个程序,定义一个有1 0个元素的数组,使用f
23、or循环语句,从键盘上输入10名同学的数学成绩,分别求出最高分和最低分,并且求出1 0名同学的数学平均成绩。(kl0042501)double math=new double 10;(请输入10名学生的数学成绩);for(int i=0;i mathi=();double max=mathC O,min=math0,ave,sum=0;for(int j=0;j if(max mathj)min=mathj;sum=sum+mathj;ave=sum/;(最 高 分 为0,最 低 分 为 1 ,平 均 分 为2,max,min,ave);3 8.编 一 个 程 序,利 用f o r循 环 语
24、句,求出1!+2!+3!+.+1。的和。(R10042502)int s=0,jc=1;for(int j=1;j jc=jc*j;s=s+jc;(的和为 0 ,S);3 9.编一个程序,用 for循环语句求出1 到 1 0 0 之间的奇数之和,以及偶数之和。(k l 0 0 2 6 0 1)l ong i,j,m,s=0;for(i =1;i 第 1 2 页 m =1;for(j =1;j s=s+m;(+s);4 0.编一个程序,用 for循环语句,从键盘输入1 0 个实数,分别求出它们中的正数之和,以及负数之和。(k l 0 0 4 2 7 0 2)i nt i;dou bl e su
25、m l =0,su m 2 =0,x;for(i =1;i (请输入一个实数:);x =();i f(x 0)su m l +=x;el se su m 2 +=x;(、正数之和:0 ,负数之和:1 ,su m l,su m 2);4 1.编一个程序,把一张1 元的钞票换成5 分,2 分和1分的硬币,要求每种至少一枚,并且所换硬币数不超过3 0枚。请问,有哪几种换法?i nt i,j,k;(一分:t 二分:t 五分:);for(i=l;i if(i+2*j+5*k=1 0 0&i +j +k k);4 2.编一个程序,把一张面值1 0 0元的钞票换成5元,1元和5角面值的钞票,要求1 0 0元
26、换以上的零钱1 0 0张,且要求每种不少于一张。请问,有哪几种换法?/1 0 0 5 0 2 2 3)i nt i,j,k;设5元有i张,1元有j张,5角有k张(、元:tl 元:t5 角:);for(i =1;i i f(5 *i +j +(*k)=1 0 0&i +j +k =1 0 0)(,i,j,k);4 3.编一个程序,解决百钱买百鸡问题。某人有1 0 0元钱,要买1 0 0只鸡。公鸡5元钱一只,母鸡3元钱一只,小鸡一元钱3只。问可买到公鸡,母鸡,小鸡各为多少只。问题分析:设公鸡x只,母鸡y只,小鸡z只,可以列出两个方程:x+y+z=1 0 0 5 x+3y+z/3=1 0 0第1 3
27、页我们采用“穷举法”来解决此问题。do u ble z;fo r (do u ble x=l;x z=1 0 0 -x -y;if(5*x+3*y+z/3=1 0 0)(公鸡0 只,母鸡1 只,小鸡2 只,x,y,z);)44.编一个程序,定义数组,用fo r循环语句,顺序输入1 0个实数,然后逆序输出这1 0个数。(0 0 0 4 2 70 1)int i;int a =new int 1 0 ;fo r (1=0;i(请输入一个数:);a i=();();fo r (i=9;i=0;i一)(,a i);0;4 5 .编一个程序,从键盘输入1 0个实数,存入一个数组,用冒泡法对这个数作升序排
28、序。(k l0 0 4 0 6 0 3)int i,j,t emp;co ns t int n=1 0;int S o r t Ar r a y=new int n;fo r (i=0;i(请输入一个数:);S o r t Ar r a y i=();(等待排序的数据序列为:);fo r (i=0;i(,S o r t Ar r a y i);fo r (i=n-1;i=0;i一)fo r (j =0;j 第 1 4 页(if(S o r t Ar r a y j S o r t Ar r a y j +1 1)(t emp =S o r t Ar r a y j ;S o r t Ar r
29、a y j =S o r t Ar r a y j +1 ;S o r t Ar r a y j +1 =t emp;(已经排序后的数据序列为:);fo r (i=0;i(,S o r t Ar r a y i);0;4 6.编一个程序,定义一个有1 0 个元素的一维数组a,在键盘上输入时没有大小次序,但是存入数组时要按小到大的顺序存放。例如,输 入 第 1 个 数 1 时,存 入 a 0 ;假如第2个数是5,则数存入a l;假如第3 个数是4,那么把前面输入的5向后面移动到a 2 ,把 4插 入 到 的 位 置上,这样使得每输入一个数,保持从小到大的顺序排列。(k l0 0 4 0 31 0
30、)int i,j,t emp,n=1 0;int a =new int n;(请输入0 个整数。,n);fo r (i=0;i(、请输入一个整数:);a i=();fo r (j =i;j =1;j)(if(a j -1 a j )t emp =a j -1 ;a j -1 =a j ;a j :t emp;els e br ea k;(依次输出数组中的值:);fo r (i=0;i(,a i);第 1 5 页0;4 7.编一个程序,定义一个数组,用 fo r 语句输入1 0个实数存入这个数组,然后按逆序重新存放后再输出。(kl0050219)double a=new double10;dou
31、ble temp;for(int i=0;i(请输入一个实数:);ai=();for(int i=0;i temp=ai;ai=a9-i;a9-i=temp;for(int i=0;i ();48.编一个程序,从键盘输入一个字符串,用 foreach循环语句,统计其中大写字母的个数和小写字母的个数。string s;int nl=0,n2=0;(请输入一个字符串);s=();foreach(char c in s)if(c=A&c nl+;else if(c=a&c n2+;else continue;(、大写字母有0个,小写字母有1个、,nl,n2);49.编一个程序,定义一个字符数组和一个
32、字符串变量,给这个字符串变量输入一个字符串,然后用fo r ea ch语句把这个字符串拷贝到字符数组里,最后输出字符数组。(k l0 0 5 1 6 0 1)s t r ing s;(请输入一个字符串);s =();cha r ch=new cha r ;int n=0;fo r ea ch(cha r c in s)第1 6页ch n =c;n+;fo r ea ch(cha r c in ch)(c);5 0.输入一个字符串,将其中小写字母改成大写字母,把大写字母改成小写字母,其余字符不变,输出该字符串。s t r ing s;(请输入一个字符串:);s =0 ;fo r ea ch(ch
33、a r ch in s)if(a els e(ch);();5 1.编一个程序,输入一个字符串,用 T o Cha r Ar r a y()方法把字符串中的内容拷贝到字符数组中,然后用fo r ea ch输出该字符数组。1 0 0 4 0 30 5)s t r ing s;(请输入一个字符串);s =();cha r ch=new cha r;ch=();fo r ea ch(cha r c in ch)(c);5 2.编一个程序,定义一个字符串变量,输入字符串,然后再输入一个字符,在字符串中查找该字符出现的次数。(k l0 0 4 0 30 7)s t r ing a;cha r b;int
34、 d=0;(请输入一个字符串);a =();(请输入一个字符);b=();fo r (int c=0;c(if(a c =b)d+;第 1 7 页(字符 0 在字符串 1 中出现了次,b,a,d);5 3.编一个程序,定义一个字符串变量,输入字符串,判断有没有连续重复字符出现,统计重复字符出现次数。例如,a a a bccdfff,其中a重复出现二次,c 重复出现一次,f重复出现二次,共计字符重复五次。(k l0 0 5 30 0 5)s t r ing i;int a =0;(输入一个字符串);i=();fo r (int b=1;b if(i=i b-1 1)a+;(,a);5 4 .编一
35、个程序,利用fo r 语句,打印一个如下形式的一个直角三角形,顶点在屏幕中线上,行数从键盘输入。*(k l0 0 5 1 2 0 2)int i,j,n=0,m=4 0;w hile(n(请输入一个正整数:);n=();(n);fo r (i=1;i (n);fo r (j =1;j0;5 5.编一个程序,利 用fo r语句,打印一个如下形式的一个等腰三角形,顶点在屏幕中线上,行数从键盘输入。*l*l*l*X J X *7*int i;第1 8页(从键盘上输入一个数);i=(0);fo r (int b=1;bfo r (int a =1;afo r (int c=1;c0;5 6 .定义一个
36、一维数组,输入任意6个整数,假定为7,4,8,9,1,5 o编一个程序,利 用fo r语句,输出如下方阵的内容:74 8 9 1 55 7 4 8 911 5 74 8 991 5 7 4 88 9 15744 8 9 1 5 7(k l0 0 5 0 9 0 3)int a =7,4,8,9,1,5);int temp;for(int i=0;i(,ai);for(int i=0;i 0;temp=a5;for(int j=5;j 0;j)aj=aj-1;a0=temp;for(int k=0;k 5 7.编一个程序,定义一个n行n列的二维整数数组,赋初值,然后求出对角线上的元素之和。(00
37、0523 01)第1 9页int n=5;int s=0;int,arr=1,2,3,4,5,11,12,13,14,15,21,22,23,24,25,3 1,3 2,3 3,3 4,3 5,41,42,43,44,45 ;int i,j;for(i=0;i for(j=0;jif(i=j I I i+j =n+1)s =s +a r r i,j ;(对角线上的元素之和0 ,s);5 8.编一个程序,输入一个正整数,判断它是否为素数。如不是,则输出其所有正约数。(请输入一个正整数:);u int i,n,fla g;bo o l f=t r u e;n=();/(),o u t n);fo
38、r (i=2;i if(n%i=0)f=fa ls e;br ea k;if(f)(是一个素数。,n);els e(不是一个素数。nl=,n,n);i=2;fla g=0;w hile(i w hile(n%i=0)n=n/i;if(fla g!=0)(*);fla g=1;(,i);i+;)5 9.编一个程序,输入一个代表身份证号码的字符串,判断字符串长度(18)第2 0页是否正确,还要判断输入的每个字符是否为数字。否则要求重新输入。(00050225)s t r ing a;bo o l q =t r u e;(请输入你的身份证;);a=();fo r (int b=0;b if(a=O&
39、a co nt inu e;els e q=fals e;if(=18)if(q=t r u e)(输入正确);els e if(q=fals e)(输入不合法,请重新输入);els e(输入不合法,请重新输入);60.(40)编一个程序,输入一个正整数n,把它转换为二进制数,并输出。提示:应该利用数组。int a=new int 80 ;int i,j,n=0;w hile(n(请输入一个正整数:);n=();i=0;(正整数 0转换为二进制数:,n);w hile(n 0)a+i =n%2;n=n/2;fo r (j =i;j 0;j)(a j );0;61.(40)所谓“降序数”是指一个
40、自然数的低位数字不大于高位数字的数。例如:64,55,321都认为是降序数,但是623不是降序数。一位数字被认为是降序数。第2 1页编一个程序,输入一个数,判定它是否为降序数。该程序是循环执行的,当输入的数为。时,则退出程序运行。int i,j,m,n;bo o l p o s;w hile(t r u e)n=-1;w hile(n if(n=0)r et u r n;(请输入一个正整数或者0:);n=(0);if(n els e m =n;i=0;p o s =t r u e;w hile(m 0)j =m%10;m =m /10;if(i j)p o s =fals e;br eak;i
41、=j;if(p o s)(是降序数。,n);els e(、不是降序数。,n);62.(40)所谓“回文数”是指读一个自然数,从正方向读和反方向读,结果是一样的。例如:646,1551,89 123219 8都认为是回文数。编一个程序,输入一个正整数,判定它是否为回文数。当输入的数为。时,则退出程序,否则继续循环执行程序。(00051502)int s,k;int i,j;int a=new int 20;bo o l p o s;w hile(t r u e)第2 2页s =-1;w hile(s (请输入一个正整数或者只按一个数字0:);S =(0);if(s =0)r et u r n;k
42、=s;pos=true;i=T;while(k 0)i+;ai=k%10;k=k/10;注意:数组a的长度为(i+1)for(j=0;j if(aj!=ai-j)pos=false;break;if(pos)(、是回文数。,s);else(、不是回文数。,s);63.(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,m
43、 i n;(二维数组:);for(1=0;i();for(j=0;j(行 列 最 小 值 );fo r (i=0;i t em p =a i,j ;m in=t em p;第2 3页/*fo r (k=0;k if(a i,k */fo r (k =0;k if(a i,k fo r (k =0;kif(a k,j if(t em p =m in)(,i,j,t em p);64.给定一个mXn的数值矩阵A,如果矩阵A中存在这样的一个元素A i j 满足条件:A i j 是第i行中值最小的元素,且又是第j列中值最大的元素,则称之为该矩阵的一个马鞍点。编写一个方法计算出m*n的矩阵A的所有马鞍点
44、。int i,j,k,m =4,n=5,m ax,m in;int ,ar r ay=new int ,30,20,25,40,45 ,80,19,70,9 0,11 ,24,14,42,9 1,9 6 ,32,17,82,72,38 ;(行 1列的数值矩阵为:);fo r (i=0;i();fo r (j =0;j (,ar r ay i,j );fo r (i=0;i m ax =ar r ay i,j ;m in=ar r ay i,j ;fo r (k =0;k m ax)m ax =ar r ay k,j ;if(ar r ay i,j =m ax&ar r ay i,j =m in
45、)(马鞍点是第 0行,第列的 2 ,i,j,ar r ay i,j );65.编一个程序,输入一个整数,判定它为几位数。例如,9 9是2位数,TOO是3位数。第2 4页int m,n,k =0;(请输入一个整数:);m =();n=(m);w hile(n!=0)n=n/10;k+;(是 1位数。,m,k);6 6.编一个程序,定义一个字符串数组,输入若干国家名称,设计一个算法按字典顺序将这些国家名称进行排序。(k l0051802)int i,j,n=10;s t r ing S o r t Ar r ay=new s t r ing n;s t r ing t em p;(请输入 0个字符
46、串:,n);fo r (i=0;i S o r t Ar r ay i=();fo r (i=1;i fo r (j =0;j if(S o r t Ar r ay j ,S o r t Ar r ay j +1)0)(t em p =S o r t Ar r ay j ;S o r t Ar r ay j =S o r t Ar r ay j +1;S o r t Ar r ay j +1 =t em p;(已经排序后的国家名称为:);fo r (i=0;i(S o r t Ar r ay i);67.编一个程序,定 义 类s t u dent和它的成员,用类s t u dent生成对象s,
47、分别对对象s的成员赋值,然后输出对象 s。(k l0052401)clas s s t u dent第2 5页p u blic s t r ing 学号;p u blic s t r ing 姓名;p u blic int年龄;p u blic int c_ s har p程序设计成绩;s t at ic v o id M ain(s t r ing ar gs)s t u dent s;s =new s t u dent ();s.学 号=;s.姓名 二 刘云飞;s.年 龄=21;_ s har p程序设计成绩=9 5;(学生学号:0 ,s.学号);(学生姓名:0 ,s.姓名);(学生年龄:
48、0 ,s.年龄);(程序设计成绩:0 ,_ s har p程序设计成绩);6 8.编一个程序,定义结构(有姓名,年龄,手机号码三个字段),再定义一个一维数组,把结构作为数组元素类型,存入数据,然后依次输出。(k l 005 2 3 03)s t r u c t C o n t a c tp u b l i c s t r i n g n a m e;p u b l i c i n t a g e;p u b l i c s t r i n gt e l e p h o n e;c l a s s Pr o g r a mstatic void Main(string args)C ontact
49、 c=new C ontact3;/c0=new C ontact();此三个语句,对于结构类型可以不用/cl=new C ontact();/c2=new C ontact();c 0.name=刘龙、;c0.age=54;c 0.telephoned;cl.name=、王鸣;cl.age=42;c 1.telephone:;c2.name=张星;c2.age=3 9;c 2.telephone=、;(姓名:0,c 0.name);(年龄:0,c0.age);第 2 6 页(手机号码:0,c 0.telephone);(姓名:0,cl.name);(年龄:0,cl.age);(手机号码:0,
50、c 1.telephone);(姓名:0,c 2.name);(年龄:0,c 2.age);(、手机号码:0,c2.telephone);69.编一个程序,定义类(有姓名,年龄,手机号码三个字段),再定义一个一维数组,使数组元素为类,存入数据,然后依次输出,使用for循环语句进行输入输出操作。class C ontactpublic string name;public int age;public stringtelephone;class Programstatic void Main(string args)int i,n=3;C ontact c=new C ontactn;for(i