版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第71页《C#程序设计基础》习题库程序《C#程序设计基础》习题库程序2010年20分题50个40分题24个1.(20)编一个程序,定义常量Pi=3.14159265,从键盘上输入半径r,求出圆的面积。(k003101)constdoublePi=3.14159265;doubler,s;Console.WriteLine("请输入圆的半径");r=double.Parse(Console.ReadLine());s=Pi*r*r;Console.WriteLine("圆的面积是{0}",s);2.(20)编一个程序,定义三个double类型的变量,分别从键盘上输入值给它们,然后用Console.WriteLine方法把它们输出成一列,小数点对齐,保留3位小数。(k10052703)doublex,y,z;Console.WriteLine("请输入一个数:");x=double.Parse(Console.ReadLine());Console.WriteLine("请输入一个数:");y=double.Parse(Console.ReadLine());Console.WriteLine("请输入一个数:");z=double.Parse(Console.ReadLine());Console.WriteLine("{0,10:f3}",x);Console.WriteLine("{0,10:f3}",y);Console.WriteLine("{0,10:f3}",z);//Console.WriteLine("{0:f3}",x);//Console.WriteLine("{0:f3}",y);//Console.WriteLine("{0:f3}",z);3.(20)编一个程序,从键盘上输入三个数,用三元运算符(?:)把最大数找出来。(k10031505)floatx,y,z,temp;Console.Write("请输入一个实数:");x=float.Parse(Console.ReadLine());Console.Write("请输入一个实数:");y=float.Parse(Console.ReadLine());Console.Write("请输入一个实数:");z=float.Parse(Console.ReadLine());temp=x>=y?x:y;temp=temp>=z?temp:z;Console.WriteLine("最大数为:{0}",temp);4.(20)编一个程序,从键盘上输入三个数,用三元运算符(?:)把最小数找出来。(k10052702)floatx,y,z,temp;Console.Write("请输入一个实数:");x=float.Parse(Console.ReadLine());Console.Write("请输入一个实数:");y=float.Parse(Console.ReadLine());Console.Write("请输入一个实数:");z=float.Parse(Console.ReadLine());temp=x<=y?x:y;temp=temp<=z?temp:z;Console.WriteLine("最大数为:{0}",temp);5.(20)编一个程序,输入一个字符,如果是大写字母,就转换成小写字母,否则不转换。(k1003205)charch;Console.WriteLine("请输入一个字符");ch=char.Parse(Console.ReadLine());if(ch>='A'&&ch<='Z'){ch=(char)(ch+32);}Console.WriteLine(ch);6.(20)输入一个字符,判定它是什么类型的字符(大写字母,小写字母,数字或者其它字符)(k10031802)charch;Console.WriteLine("请输入一个字符");ch=char.Parse(Console.ReadLine());if(ch>='A'&&ch<='Z')Console.WriteLine("大写字母");elseif(ch>='a'&&ch<='z')Console.WriteLine("小写字母");elseif(ch>='0'&&ch<='9')Console.WriteLine("数字");elseConsole.WriteLine("其他字母");7.(20)编一个程序,设圆的半径r=1.2,高h=1.5,定义圆周率常量Pi=3.1415,求出圆柱的体积。(k10032305)constdoublePi=3.1415;doubler=1.2,h=1.5;doublev;v=Pi*r*r*h;Console.WriteLine("圆柱体的体积是{0}",v);8.(20)编一个程序,设园半径r=1.5,园柱高h=3.6,圆周率3.1415定义为常量,求出圆周长、圆面积、圆柱体积。然后用Console.WriteLine方法输出计算结果,输出时要求有文字说明,取小数点后2位数字。例如,圆周长=×××.××。(k10052707)constdoublePi=3.1415;doubler=3,h=5;doublec,s,v;c=2*Pi*r;s=Pi*r*r;v=Pi*r*r*h;Console.WriteLine("圆的周长为{0:f2}",c);Console.WriteLine("圆的面积为{0:f2}",s);Console.WriteLine("圆的体积为{0:f2}",v);9.(20)编一个程序,输入一个字符,如果输入的字符是大写字母,则转换为小写字母;如果输入的字符是小写字母,则转换为大写字母,否则不转换。(k10032601)charch,c;Console.WriteLine("请输入一个字符");ch=char.Parse(Console.ReadLine());if(ch>='A'&&ch<='Z'){c=(char)(ch+32);Console.WriteLine("字符{0}为大写字母,转换为小写字母为{1}",ch,c);}elseif(ch>='a'&&ch<='z'){c=(char)(ch-32);Console.WriteLine("字符{0}为小写字母,转换为大写字母为{1}",ch,c);}elseConsole.WriteLine("{0}既不是大写字母也不是小写字母",ch);10.(20)编一个程序,定义结构类型(有学号、姓名、性别和程序设计成绩四个字段),声明该结构类型变量,用赋值语句对该变量赋值以后再输出。(k10031601)structstudent{publicintno;publicstringname;publicstringsex;publicdoublescore;}classProgram{staticvoidMain(string[]args){studentstu;stu.no=10003;="小小";stu.sex="女";stu.score=89.5;Console.WriteLine("学生的学号是{0},名字叫{1},性别是{2},程序设计的成绩是{3}",stu.no,,stu.sex,stu.score);11.(20)编一个程序,定义一个实数变量,从键盘上输入一个值,如果这个值在闭区间[0,100]里,则加上1000,否则不加。最后输出结果。(k10032304)floatf,g;Console.WriteLine("请输入一个实数变量");f=float.Parse(Console.ReadLine());if(f>=0&&f<=100){g=f+1000;Console.WriteLine("{0}在0-100之间,最后结果为{1}",f,g);}elseConsole.WriteLine("{0}不在0-100之间",f);12.(20)编一个程序,输入一个整数,使用ifelse语句,如果该数大于0,则加上100,否则加上500,输出结果。(k10032301)inti,j;Console.WriteLine("请输入一个整数");i=int.Parse(Console.ReadLine());if(i>0){j=i+100;Console.WriteLine("{0}>0,最后结果是{1}",i,j);}else{j=i+500;Console.WriteLine("{0}<0,最后结果是{1}",i,j);13.(20)编一个程序,用ifelse语句,输入一个整数,如果该数大于0,则输出"这个数大于零。",如果该数等于0,则输出"这个数等于零。",否则输出"这个数小于零。"。(k10032302)inti;Console.WriteLine("请输入一个整数");i=int.Parse(Console.ReadLine());if(i>0){Console.WriteLine("这个数大于0");}elseif(i==0){Console.WriteLine("这个数等于0");}else{Console.WriteLine("这个数小于0");}14.(20)编一个程序,输入一个正数,对该数进行四舍五入到个位数的运算。例如,实数12.56经过四舍五入运算,得到结果13;而12.46经过四舍五入运算,得到结果12。(k10012803)doubled;inti,e;Console.WriteLine("请输入一个正数");d=double.Parse(Console.ReadLine());i=(int)d;if((d-i)>=0.5)e=i+1;elsee=i;Console.WriteLine("{0}四舍五入的结果为{1}",d,e);15.(20)编写一个程序,定义三个float类型的变量,分别从键盘上输入值给它们,然后用ifelse选择语句找出它们中的最小数,最后输出结果。(k10052604)floatx,y,z,min=0;Console.WriteLine("请输入三个float类型的值");x=float.Parse(Console.ReadLine());y=float.Parse(Console.ReadLine());z=float.Parse(Console.ReadLine());if(x<y&&x<z)min=x;elseif(y<x&&y<z)min=y;elsemin=z;Console.WriteLine("这三个数中的最小值为{0}",min);16.(20)编一个程序,输入三个实数,要求使用ifelse语句把它们的中间数找出来,可以使用逻辑运算符。(k10032309)floatx,y,z,second=0;Console.WriteLine("请输入三个float类型的值");x=float.Parse(Console.ReadLine());y=float.Parse(Console.ReadLine());z=float.Parse(Console.ReadLine());if((x>y&&x<z)||(x<y&&x>z))second=x;elseif((y>x&&y<z)||(y<x&&y>z))second=y;elsesecond=z;Console.WriteLine("这三个数中的中间数为{0}",second);17.(20)编一个程序,首先输入一个成绩(0到100的整数),用ifelse语句然后判断该成绩是优、良、中、及格还是不及格。(k10040501)doublescore;Console.WriteLine("请输入一个成绩");score=double.Parse(Console.ReadLine());if(score>=90)Console.WriteLine("优");elseif(score>=80)Console.WriteLine("良");elseif(score>=70)Console.WriteLine("中");elseif(score>=60)Console.WriteLine("及格");elseConsole.WriteLine("不及格");18.(20)编一个程序,输入0—100之间的一个学生成绩分数,用switch语句输出成绩等第(成绩优秀(90-100),成绩良好(80-89),成绩及格(60-79)和成绩不及格(59以下))。(k10032403)intscore;Console.WriteLine("请输入学生成绩");score=int.Parse(Console.ReadLine());score=score/10;switch(score){case10:Console.WriteLine("成绩优秀");break;case9:Console.WriteLine("成绩优秀");break;case8:Console.WriteLine("成绩良好");break;case7:Console.WriteLine("成绩及格");break;case6:Console.WriteLine("成绩及格");break;default:Console.WriteLine("成绩不及格");break;19.(20)编一个程序,利用do-while循环语句,从键盘上输入10个整数,求出它们的和。(k10020105)inti=1,n,sum=0;do{Console.WriteLine("请输入一个整数");n=int.Parse(Console.ReadLine());sum=sum+n;i++;}while(i<=10);Console.WriteLine("这十个整数的和为{0}",sum);20.(20)编一个程序,用while循环语句来计算1+1/2+2/3+3/4+...+99/100之和。(k10052605)doublei=1,s=1;while(i<=99){s=s+i/(i+1);i++;}Console.WriteLine("和为{0}",s);21.(20)编一个程序,用do-while循环语句来计算PI=4*(1-1/3+1/5+...+1/n),要求当1/n<0.000001时停止计算。(k10041502)doublepi,s=0,x;doublen=1;do{x=Math.Pow(-1,n+1)/(2*n-1);s=s+x;n++;}while(1/n>=0.000001);pi=s*4;Console.WriteLine("pi的值为:{0}",pi);22.(20)编一个程序,从键盘上输入二个实数,使用Math类中Max()和Min()方法,求出它们中的最大数和最小数。(k10040604)doubled1,d2,max,min;Console.WriteLine("请输入两个实数");d1=double.Parse(Console.ReadLine());d2=double.Parse(Console.ReadLine());max=Math.Max(d1,d2);min=Math.Min(d1,d2);Console.WriteLine("最大值为{0},最小值为{1}",max,min);23.(20)编一个程序,利用while循环语句和Math类中的Pow()方法,求出1到10的各个数的平方之和。(k10040602)doublei=1,s=0;while(i<=10){s=s+Math.Pow(i,2);i++;}Console.WriteLine("和为{0}",s);24.(20)编一个程序,打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如,153=1*1*1+5*5*5+3*3*3,所以153是“水仙花数”。(k10033106)inta,i,j,k;for(a=100;a<=999;a++){i=a%10;k=a/100;j=a%100/10;if(a==Math.Pow(i,3)+Math.Pow(j,3)+Math.Pow(k,3))Console.WriteLine("{0}是水仙花数",a);25.(20)编写一个程序,用while语句,求出1+(1+2)+(1+2+3)+...+(1+2+3+...+10)之和。(k10041803)inti=1,s=0,j=1,s1=0;while(j<=10){while(i<=j){s=s+i;i++;}s1=s1+s;j++;}Console.WriteLine("{0}",s1);26.(20)编一个程序,输入二个正整数,求出它们的最大公约数。(k10041901)inti,j,k;Console.WriteLine("请输入两个正整数");i=int.Parse(Console.ReadLine());j=int.Parse(Console.ReadLine());k=i<j?i:j;while(!(i%k==0&&j%k==0))k--;Console.WriteLine("最大公约数为{0}",k);27.(20)编一个程序,用while循环语句,从键盘输入10个数,要求找出最大数和次大数。(k10041902)inti=1,max=1,max1=1;ints;Console.WriteLine("请输入10个数:");while(i<=10){s=int.Parse(Console.ReadLine());if(s>max){max1=max;max=s;}elseif(s>max1){s=max1;}i++;}Console.WriteLine("最大值为{0},次大值为{1}",max,max1);28.(40)编一个程序,要求使用while语句,输入用户名和密码,实现用户登录程序的功能,至多允许输入三次,超过三次不允许登录。(k10022507)conststringUserName="admin";conststringPassWord="123456";stringusername,password;inti=1;while(i<=3){Console.WriteLine("请输入用户名");username=Console.ReadLine();Console.WriteLine("请输入密码");password=Console.ReadLine();if(username==UserName&&password==PassWord)break;elseConsole.WriteLine("你输入的用户名或者密码错误,请重新输入用户名和密码");i++;}if(i<=3){Console.WriteLine("正在登录系统");}elseConsole.WriteLine("不能登录系统");29.(20)有关系式1*1+2*2+3*3+...+k*k<2000,编一个程序,求出满足此关系式的k的最大值。(k10052901)intk=1,s=0;while(s<2000){s=s+k*k;k++;}Console.WriteLine("k的值为{0}",k-2);30.(20)编写一个程序,要求用while循环语句,打印1到100的正整数,每行打印5个数,每列右对齐。(k10042004)inti=1;while(i<=100){Console.Write("{0,10:d1}",i);if(i%5==0)Console.WriteLine();i++;31.(20)Fibonacci序列的前二项是0和1,且每一个后继项是前二项的和。编一个程序,输出项值不大于100的Fibonacci序列。(k10033104)intf1=0;intf2=1;intf3;while(f1<100){f3=f1+f2;Console.Write("{0},",f1);f1=f2;f2=f3;}32.(40)编一个程序,输入a,b,c的值,求出一元二次方程a*x*x+b*x+c=0的二个实数根。计算二个实数根必须使用Math类中的Sqrt()方法,计算指定数的开方。计算二个实数根,可以用公式(-b+Math.Sqrt(b*b-4*a*c))/(2*a)和(-b-Math.Sqrt(b*b-4*a*c))/(2*a)(k10042102)inta,b,c;doublex1,x2;Console.WriteLine("请输入a,b,c的值");a=int.Parse(Console.ReadLine());b=int.Parse(Console.ReadLine());c=int.Parse(Console.ReadLine());if(b*b-4*a*c>=0){x1=(-b+Math.Sqrt(b*b-4*a*c))/(2*a);x2=(-b-Math.Sqrt(b*b-4*a*c))/(2*a);Console.WriteLine("这个方程的两个根是{0},{1}",x1,x2);}elseConsole.WriteLine("这个方程没有解");33.编一个程序,利用while循环语句,找出2到100之间的素数。(k10042104)inti=2,j;boolb;Console.WriteLine("2到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("{0}",i);i++;}Console.WriteLine();34.(20)编一个程序,用while循环语句实现下列功能:有一篮鸡蛋,不止一个,有人两个两个数,多余一个,三个三个数,多余一个,再四个四个地数,也多余一个,请问这篮鸡蛋至少有多少个。(k10042105)intnum=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)inti,s=0;for(i=1;i<=100;i=i+2){s=s+i;}Console.WriteLine("1-100之间所有奇数的和为{0}",s);36.(20)编一个程序,利用二重for循环语句,打印出九九乘法口诀表。(k10050306)ints;for(inti=1;i<=9;i++){for(intj=1;j<=i;j++){s=i*j;Console.Write("{0}*{1}={2}",j,i,s);}Console.WriteLine();37.(20)编一个程序,定义一个有10个元素的数组,使用for循环语句,从键盘上输入10名同学的数学成绩,分别求出最高分和最低分,并且求出10名同学的数学平均成绩。(k10042501)double[]math=newdouble[10];Console.WriteLine("请输入10名学生的数学成绩");for(inti=0;i<math.Length;i++){math[i]=double.Parse(Console.ReadLine());}doublemax=math[0],min=math[0],ave,sum=0;for(intj=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)ints=0,jc=1;for(intj=1;j<=10;j++){jc=jc*j;s=s+jc;}Console.WriteLine("1!+2!+3!+4!+5!+6!+7!+8!+9!+10!的和为{0}",s);39.(20)编一个程序,用for循环语句求出1到100之间的奇数之和,以及偶数之和。(k1002601)longi,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("1!+2!+3!+...+10!="+s);40.(20)编一个程序,用for循环语句,从键盘输入10个实数,分别求出它们中的正数之和,以及负数之和。(k10042702)inti;doublesum1=0,sum2=0,x;for(i=1;i<=10;i++){Console.Write("请输入一个实数:");x=double.Parse(Console.ReadLine());if(x>0)sum1+=x;elsesum2+=x;}Console.WriteLine("正数之和:{0},负数之和:{1}",sum1,sum2);41.(20)编一个程序,把一张1元的钞票换成5分,2分和1分的硬币,要求每种至少一枚,并且所换硬币数不超过30枚。请问,有哪几种换法?(k10050218)inti,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("{0}枚\t{1}枚\t{2}枚",i,j,k);42.(20)编一个程序,把一张面值100元的钞票换成5元,1元和5角面值的钞票,要求100元换以上的零钱100张,且要求每种不少于一张。请问,有哪几种换法?(k10050223)inti,j,k;//设5元有i张,1元有j张,5角有k张Console.WriteLine("5元:\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("{0}\t{1}\t{2}",i,j,k);43.(20)编一个程序,解决百钱买百鸡问题。某人有100元钱,要买100只鸡。公鸡5元钱一只,母鸡3元钱一只,小鸡一元钱3只。问可买到公鸡,母鸡,小鸡各为多少只。问题分析:设公鸡x只,母鸡y只,小鸡z只,可以列出两个方程:x+y+z=1005x+3y+z/3=100我们采用“穷举法”来解决此问题。(k10050305)doublez;for(doublex=1;x<=20;x++)for(doubley=1;y<=33;y++){z=100-x-y;if(5*x+3*y+z/3==100){Console.WriteLine("公鸡{0}只,母鸡{1}只,小鸡{2}只",x,y,z);}}44.(20)编一个程序,定义数组,用for循环语句,顺序输入10个实数,然后逆序输出这10个数。(k10042701)inti;int[]a=newint[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("{0}",a[i]);}Console.WriteLine();45.(40)编一个程序,从键盘输入10个实数,存入一个数组,用冒泡法对这个数作升序排序。(k10040603)inti,j,temp;constintn=10;int[]SortArray=newint[n];for(i=0;i<n;i++){Console.Write("\n请输入一个数:");SortArray[i]=int.Parse(Console.ReadLine());}Console.Write("\n等待排序的数据序列为:");for(i=0;i<n;i++){Console.Write("{0}",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;}}}Console.Write("\n已经排序后的数据序列为:");for(i=0;i<n;i++){Console.Write("{0}",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)inti,j,temp,n=10;int[]a=newint[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;}elsebreak;}}Console.Write("\n依次输出数组中的值:");for(i=0;i<n;i++){Console.Write("{0}",a[i]);}Console.WriteLine();47.(20)编一个程序,定义一个数组,用for语句输入10个实数存入这个数组,然后按逆序重新存放后再输出。(k10050219)double[]a=newdouble[10];doubletemp;for(inti=0;i<10;i++){Console.Write("请输入一个实数:");a[i]=double.Parse(Console.ReadLine());}for(inti=0;i<10/2;i++){temp=a[i];a[i]=a[9-i];a[9-i]=temp;}for(inti=0;i<10;i++)Console.Write("{0}",a[i]);Console.WriteLine();48.(20)编一个程序,从键盘输入一个字符串,用foreach循环语句,统计其中大写字母的个数和小写字母的个数。(k10050220)strings;intn1=0,n2=0;Console.WriteLine("请输入一个字符串");s=Console.ReadLine();foreach(charcins){if(c>='A'&&c<='Z')n1++;elseif(c>='a'&&c<='z')n2++;elsecontinue;}Console.WriteLine("大写字母有{0}个,小写字母有{1}个",n1,n2);49.(40)编一个程序,定义一个字符数组和一个字符串变量,给这个字符串变量输入一个字符串,然后用foreach语句把这个字符串拷贝到字符数组里,最后输出字符数组。(k10051601)strings;Console.WriteLine("请输入一个字符串");s=Console.ReadLine();char[]ch=newchar[s.Length];intn=0;foreach(charcins){ch[n]=c;n++;}foreach(charcinch){Console.WriteLine(c);}50.(20)输入一个字符串,将其中小写字母改成大写字母,把大写字母改成小写字母,其余字符不变,输出该字符串。(k10050222)strings;Console.WriteLine("请输入一个字符串:");s=Console.ReadLine();foreach(charchins)if('a'<=ch&&ch<='z')Console.Write((char)((int)ch-32));elseif('A'<=ch&&ch<='Z')Console.Write((char)((int)ch+32));elseConsole.Write(ch);Console.WriteLine();51.(20)编一个程序,输入一个字符串,用ToCharArray()方法把字符串中的内容拷贝到字符数组中,然后用foreach输出该字符数组。(k10040305)strings;Console.WriteLine("请输入一个字符串");s=Console.ReadLine();char[]ch=newchar[s.Length];ch=s.ToCharArray();foreach(charcinch){Console.WriteLine(c);}52.(20)编一个程序,定义一个字符串变量,输入字符串,然后再输入一个字符,在字符串中查找该字符出现的次数。(k10040307)stringa;charb;intd=0;Console.WriteLine("请输入一个字符串");a=Console.ReadLine();Console.WriteLine("请输入一个字符");b=char.Parse(Console.ReadLine());for(intc=0;c<=a.Length-1;c++){if(a[c]==b)d++;}Console.WriteLine("字符{0}在字符串{1}中出现了{2}次",b,a,d);53.(40)编一个程序,定义一个字符串变量,输入字符串,判断有没有连续重复字符出现,统计重复字符出现次数。例如,aaabccdfff,其中a重复出现二次,c重复出现一次,f重复出现二次,共计字符重复五次。(k10053005)stringi;inta=0;Console.WriteLine("输入一个字符串");i=Console.ReadLine();for(intb=1;b<=i.Length-1;b++){if(i[b]==i[b-1])a++;}Console.WriteLine("{0}",a);54.(20)编一个程序,利用for语句,打印一个如下形式的一个直角三角形,顶点在屏幕中线上,行数从键盘输入。**********(k10051202)inti,j,n=0,m=40;while(n<=0){Console.WriteLine("请输入一个正整数:");n=int.Parse(Console.ReadLine());}Console.WriteLine('\n');for(i=1;i<=n;i++){Console.Write('\n');for(j=1;j<=m;j++)Console.Write('');for(j=1;j<=i;j++)Console.Write('*');}Console.WriteLine();55.(40)编一个程序,利用for语句,打印一个如下形式的一个等腰三角形,顶点在屏幕中线上,行数从键盘输入。****************(k10050902)inti;Console.WriteLine("从键盘上输入一个数");i=int.Parse(Console.ReadLine());for(intb=1;b<=i;b++){for(inta=1;a<=i-b;a++){Console.Write("");}for(intc=1;c<=2*b-1;c++){Console.Write("*");}Console.WriteLine();}56.(40)定义一个一维数组,输入任意6个整数,假定为7,4,8,9,1,5。编一个程序,利用for语句,输出如下方阵的内容:748915574891157489915748891574489157(k10050903)int[]a={7,4,8,9,1,5};inttemp;for(inti=0;i<6;i++){Console.Write("{0}",a[i]);}for(inti=0;i<5;i++){Console.WriteLine();temp=a[5];for(intj=5;j>0;j--){a[j]=a[j-1];}a[0]=temp;for(intk=0;k<6;k++)Console.Write("{0}",a[k]);}57.(20)编一个程序,定义一个n行n列的二维整数数组,赋初值,然后求出对角线上的元素之和。(k10052301)intn=5;ints=0;int[,]arr={{1,2,3,4,5},{11,12,13,14,15},{21,22,23,24,25},{31,32,33,34,35},{41,42,43,44,45}};inti,j;for(i=0;i<arr.GetLength(0);i++){for(j=0;j<arr.GetLength(1);j++){if(i==j||i+j==n+1)s=s+arr[i,j];}}Console.WriteLine("对角线上的元素之和{0}",s);58.(40)编一个程序,输入一个正整数,判断它是否为素数。如不是,则输出其所有正约数。(k10050224)Console.WriteLine("请输入一个正整数:");uinti,n,flag;boolf=true;n=uint.Parse(Console.ReadLine());//uint.TryParse(Console.ReadLine(),outn);for(i=2;i<n;i++){if(n%i==0){f=false;break;}}if(f)Console.WriteLine("{0}是一个素数。",n);else{Console.Write("{0}不是一个素数。\n{1}=",n,n);i=2;flag=0;while(i<=n){while(n%i==0){n=n/i;if(flag!=0)Console.Write('*');flag=1;Console.Write("{0}",i);}i++;}}59.(40)编一个程序,输入一个代表身份证号码的字符串,判断字符串长度(18)是否正确,还要判断输入的每个字符是否为数字。否则要求重新输入。(k10050225)stringa;boolq=true;Console.WriteLine("请输入你的身份证;");a=Console.ReadLine();for(intb=0;b<=a.Length-1;b++){if(a[b]>='0'&&a[b]<='9'){continue;}elseq=false;}if(a.Length==18){if(q==true)Console.WriteLine("输入正确");elseif(q==false)Console.WriteLine("输入不合法,请重新输入");}elseConsole.WriteLine("输入不合法,请重新输入");60.(40)编一个程序,输入一个正整数n,把它转换为二进制数,并输出。提示:应该利用数组。(k10050226)int[]a=newint[80];inti,j,n=0;while(n<=0){Console.WriteLine("请输入一个正整数:");n=int.Parse(Console.ReadLine());}i=0;Console.Write("\n正整数{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不是降序数。一位数字被认为是降序数。编一个程序,输入一个数,判定它是否为降序数。该程序是循环执行的,当输入的数为0时,则退出程序运行。(k10051501)inti,j,m,n;boolpos;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("{0}是降序数。",n);elseConsole.WriteLine("{0}不是降序数。",n);}62.(40)所谓“回文数”是指读一个自然数,从正方向读和反方向读,结果是一样的。例如:646,1551,891232198都认为是回文数。编一个程序,输入一个正整数,判定它是否为回文数。当输入的数为0时,则退出程序,否则继续循环执行程序。(k10051502)ints,k;inti,j;int[]a=newint[20];boolpos;while(true){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("{0}是回文数。",s);elseConsole.WriteLine("{0}不是回文数。",s);}63.(40)编一个程序,定义一个n行n列的二维数组,例如,n=4,输入该数组的全部数据。可以在定义数组时赋于常量值。求二维数组中这样元素的位置:它在行上是最小,在列上也是最小。(注意:它未必是整个数组的最小元素。k10050904)intn=4;int[,]a={{25,12,22,14},{15,16,17,18},{19,20,21,13},{23,24,11,26}};inti,j,k,temp,min;Console.Write("\n二维数组:");for(i=0;i<n;i++){Console.Write("\n\t");for(j=0;j<n;j++)Console.Write("{0}",a[i,j]);}Console.WriteLine("\n\n行列最小值");for(i=0;i<n;i++)for(j=0;j<n;j++){temp=a[i,j];min=temp;/*for(k=0;k<n;k++){if(a[i,k]<min)min=a[i,k];if(a[k,j]<min)min=a[k,j];}*/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={0},j={1}{2}",i,j,temp);}64.(40)给定一个m×n的数值矩阵A,如果矩阵A中存在这样的一个元素A[i][j]满足条件:A[i][j]是第i行中值最小的元素,且又是第j列中值最大的元素,则称之为该矩阵的一个马鞍点。编写一个方法计算出m*n的矩阵A的所有马鞍点。(k10052302)inti,j,k,m=4,n=5,max,min;int[,]array=newint[,]{{30,20,25,40,45},{80,19,70,90,11},{24,14,42,91,96},{32,17,82,72,38}};Console.Write("\n{0}行{1}列的数值矩阵为:");for(i=0;i<m;i++){Console.WriteLine();for(j=0;j<n;j++){Console.Write("{0}",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("\n马鞍点是第{0}行,第{1}列的{2}",i,j,array[i,j]);}}65.(40)编一个程序,输入一个整数,判定它为几位数。例如,99是2位数,-100是3位数。(k10050906)intm,n,k=0;Console.Write("请输入一个整数:");m=int.Parse(Console.ReadLine());n=Math.Abs(m);while(n!=0){n=n/10;k++;}Console.WriteLine("{0}是{1}位数。",m,k);66.(40)编一个程序,定义一个字符串数组,输入若干国家名称(所有名称全用大写或者全用小写),设计一个算法按字典顺序将这些国家名称进行排序。(k10051802)inti,j,n=10;string[]SortArray=newstring[n];stringtemp;Console.Write("\n请输入{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("\n已经排序后的国家名称为:");for(i=0;i<n;i++){Console.WriteLine(SortArray[i]);}67.(20)编一个程序,定义类student和它的成员(学号,姓名,年龄和c_sharp程序设计成绩),用类student生成对象s,分别对对象s的成员赋值,然后输出对象s。(k10052401)classstudent{publicstring学号;publicstring姓名;publicint年龄;publicintc_sharp程序设计成绩;}staticvoidMain(string[]args){students;s=newstudent();s.学号="09061234";s.姓名="刘云飞";s.年龄=21;s.c_sharp程序设计成绩=95;Console.WriteLine("学生学号:{0}",s.学号);Console.WriteLine("学生姓名:{0}",s.姓名);Console.WriteLine("学生年龄:{0}",s.年龄);Console.WriteLine("c_sharp程序设计成绩:{0}",s.c_sharp程序设计成绩);68.(20)编一个程序,定义结构(有姓名,年龄,手机号码三个字段),再定义一个一维数组,把结构作为数组元素类型,存入数据,然后依次输出。(k10052303)structContact{publicstringname;publicintage;publicstringtelephone;}classProgram{staticvoidMain(string[]args){Contact[]c=newContact[3];//c[0]=newContact();//此三个语句,对于结构类型可以不用//c[1]=newContact();//c[2]=newContact();c[0].name="刘龙";c[0].age=54;c[0].telephone=;c[1].name="王鸣";c[1].age=42;c[1].telephone=;c[2].name="张星";c[2].age=39;c[2].telephone=;Console.Write("姓名:{0},",c[0].name);Console.Write("年龄:{0},",c[0].age);Console.WriteLine("手机号码:{0}",c[0].telephone);Console.Write("姓名:{0},",c[1].name);Console.Write("年龄:{0},",c[1].age);Console.WriteLine("手机号码:{0}",c[1].telephone);Console.Write("姓名:{0},",c[2].name);Console.Write("年龄:{0},",c[2].age);Console.WriteLine("手机号码:{0}",c[2].telephone);69.(40)编一个程序,定义类(有姓名,年龄,手机号码三个字段),再定义一个一维数组,使数组元素为类,存入数据,然后依次输出,使用for循环语句进行输入输出操作。(k10052602)classContact{publicstringname;publicintage;publicstringtelephone;}classProgram{staticvoidMain(string[]args){inti,n=3;Contact[]c=newContact[n];for(i=0;i<n;i++)c[i]=newContact();for(i=0;i<n;i++){Console.Write("请输入学生姓名:");c[i].name=Console.ReadLine();Console.Write("请输入学生年龄:");c[i].age=int.Parse(Console.ReadLine());Console.Write("请输入手机号码:");c[i].telephone=Console.ReadLine();}for(i=0;i<n;i++){Console.Write("姓名:{0},",c[i].name);Console.Write("年龄:{0},",c[i].age);Console.WriteLine("手机号码:{0}",c[i].telephone);}70.(40)编一个程序,输入三个double类型数据,自定义一个静态方法,把这三个数送给它,返回找出的最大数。(k10060102)classclassname{publicstaticdoublecompare(doublex,doubley,doublez){doubletemp;if(x>y)temp=x;elsetemp=y;if(z>temp)temp=z;returntemp;}}classProgram{staticvoidMain(string[]args){Console.Write("请输入一个实数:");doublex=double.Parse(Console.ReadLine());Console.Write("请输入一个实数:");doubley=double.Parse(Console.ReadLine());Console.Write("请输入一个实数:");doublez=double.Parse(Console.ReadLine());doubletemp=pare(x,y,z);Console.WriteLine("比较后得到的最大数为{0}",temp);71.(40)编一个程序,利用自定义方法,找出2到100之间的素数。(k10050209)classprimetest{publicboolprime(intx){for(inti=2;i<x;i++){if(x%i==0)returnfalse;}returntrue;}}classProgram{staticvoidMain(string[]args){primetestc=newprimetest();Console.WriteLine("2到100中的素数:");for(inti=2;i<100;i++)if(c.prime(i))Console.Write("{0}",i);72.(40)编一个程序,从键盘上输入三个double类型的数,自定义方法,以从小到大的顺序排序,以引用型参数调用方法,然后返回主方法输出结果。(k10050207)classcompare{publicvoidswap(refdoublex,refdoubley,refdoublez){doubletemp;if(x>y){temp=x;x=y;y=temp;doubletemp;;if(y>z){temp=x;y=z;z=temp;doubletemp;;if(x>y){
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 架线维护工岗前测试验证考核试卷含答案
- 期末必考题书面表达专练 课件2022-2023学年人教版英语七年级上册(共23张)
- 七年级语文上册第六单元课外古诗词 夜雨寄北 课件(共21张)
- 2025年出国留学申请时间表
- 2025年内蒙古自治区公需课学习-国家基本公共服务标准1218
- 2026年高校科研管理试题及答案
- 基底节出血的出院指导与随访
- 2026年村卫生室医务人员招聘试题及参考答案
- 2026年四川交通职业技术学院单招职业技能测试题库带答案详解(能力提升)
- 2026年四川现代职业学院单招职业适应性考试题库及完整答案详解
- 正方形复习公开课课件(配相关学案)
- 第四次全国文物普查工作推进情况汇报材料
- 《汽车和挂车光信号装置及系统》(征求意见稿)
- 个人借条模板-电子版
- 2024年江苏农林职业技术学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 职业卫生评价与检测
- 桩基施工危险源辨识表与风险评价表
- word格式模板:离职证明(标准版):免修版模板范本
- 加氢裂化工艺培训
- 春季安全大检查检查表
- 技术交底制度
评论
0/150
提交评论