C试题.docx
- 文档编号:23707086
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:22
- 大小:75.33KB
C试题.docx
《C试题.docx》由会员分享,可在线阅读,更多相关《C试题.docx(22页珍藏版)》请在冰豆网上搜索。
C试题
1,输入五角星的尺寸,打印一个五角星,五角星可以是不规则的,如果下图
答案:
staticvoidMain()
{
Console.WriteLine("输入打印的五角星的尺寸");
intn=int.Parse(Console.ReadLine());
for(intj=0;j<3*n;j++)
{
for(inti=0;i<3*n;i++)
{
if(i==j+n||i==6*j-9*n||i+6*j==9*n||i==n||i+j==4*n)
{
Console.Write("*");
}
else
{
Console.Write("");
}
}
Console.Write("\n");
}
Console.ReadKey();
}
2,打印一个米字形,输入正方形的边长,打印正方型的边框、对角线和中线。
答案:
publicstaticvoidMain()
{
Console.WriteLine("打印一个米字图形,输入边长");
intn=int.Parse(Console.ReadLine());
for(inti=0;i { for(intj=0;j { if(i==j||i+j==n||i==n/2||j==n/2||i==0||i==n-1||j==0||j==n-1) { Console.Write("*"); } else { Console.Write(""); } } Console.Write("\n"); } Console.ReadKey(); } 3,打印抛物线的图形(抛物线的方程式4y=(x-b)(x-b),b为顶点坐标),如下图: 答案: publicstaticvoidMain() { //直线的方程式2y=(x-b)*(x-b); Console.WriteLine("请输入抛物线定点x坐标,显示屏幕区域大小"); intk=int.Parse(Console.ReadLine()); intl=int.Parse(Console.ReadLine()); //(x-r)*(x-r)+(y-r)*(y-r)=r*r; for(inti=0;i {for(intj=0;j { if(4*j-(i-k)*(i-k)==0)//直线的方程式y=kx; { Console.Write("*"); } else { Console.Write(""); } } Console.Write("\n"); } Console.ReadKey(); } 4,打印出如下的数字金子塔,输入层数n,打出n层,最好可以提供连续打印,如下图: 答案: staticvoidMain() { stringc=""; do { Console.WriteLine("请输入打印的层数"); intn=int.Parse(Console.ReadLine()); //作业2: //1 //121 //12321 //1234321 //123454321 //12345654321 //1234567654321 //123456787654321 //12345678987654321 intr; for(inti=0;i { for(intj=0;j<2*n;j++) { if(i+j>=n&&j { r=i+j-n+1; Console.Write(r); } elseif(j==n) { Console.Write(i+1); } elseif(i-j+n>=0&&j>n) { r=i-j+n+1; Console.Write(r); } else { Console.Write(""); } } Console.Write("\n"); } Console.Write("是否继续打印? y/n"); c=Console.ReadLine(); }while(c=="y"); Console.ReadKey(); 5输入三角形的底边长,打印如下交叉的三角形; 答案: staticvoidMain(string[]args) { Console.WriteLine("打印三角形,输入三角形的边长"); intn=int.Parse(Console.ReadLine()); for(inti=0;i<=n/2;i++) { for(intj=0;j<=n;j++) { if(i+j==n/2||j-i==n/2||i==n/2||i==0||i==j||i+j==n) { Console.Write("*"); } else { Console.Write(""); } } Console.Write("\n"); } Console.ReadKey(); } 6,进制转换,输入一个十进制数,和他将要转换的进制数n,输出这个十进制数转换成n进制的数。 例如在屏幕中输入“12,2”,输出“1100”,输入”20,8”输出“24”,如下图: 答案: staticvoidMain(string[]args) { Console.WriteLine("进制转换,输入你要转换的十进制数和转换的进制"); ints=int.Parse(Console.ReadLine()); intn=int.Parse(Console.ReadLine()); //对于十进制以下的进制 //int[]a=newint[100]; stringstr=""; //inti=99; intmod; while(s>0) { mod=s%n; s=s/n; str=mod.ToString()+str; //a[i]=mod; //i--; } Console.Write(str); //for(intj=i+1;j<100;j++) //{ //Console.Write(a[j]); //} Console.ReadKey(); 7,水果摊购物程序,首先显示各个苹果的编号和价格,购买时输入水果的编号和数量,显示出应付的价格。 (请使用ifelse或switch) 答案: staticvoidMain(string[]args) { Console.WriteLine("水果摊价格表: "); Console.WriteLine("水果编号价格"); Console.WriteLine("1,苹果2元/斤"); Console.WriteLine("2,橘子2.5元/斤"); Console.WriteLine("3,香蕉1.5元/斤"); Console.WriteLine("4,葡萄3.2元/斤"); Console.WriteLine("5,桃子3元/斤"); Console.WriteLine("输入你要购买的水果编号和相应的数量"); intb=int.Parse(Console.ReadLine()); doublec=Double.Parse(Console.ReadLine()); doubler; switch(b) { case1: r=2*c;break; case2: r=2.5*c;break; case3: r=1.5*c;break; case4: r=3.2*c;break; case5: r=3*c;break; default: r=-1; } if(r! =-1) { Console.WriteLine("请付款"+r.ToString()+"元"); } else { Console.WriteLine("对不起没有改水果,请选择有效的水果编号"); } Console.ReadKey(); } 8,打印1到100之间的素数,如下图: 答案: publicstaticvoidMain() { Console.WriteLine("1到之间的素数是"); for(inti=3;i<100;i++) { intflag=0; for(intj=2;j { if(i%j==0) { flag=1; } if(flag==0&&j==i-1) { Console.WriteLine(i); } } } Console.Read(); } 或 publicstaticvoidMain() { Console.WriteLine("1到之间的素数是"); for(inti=2;i<100;i++) { for(intj=2;j { if(i%j==0) { gotooutinnerFor; } if(j==i-1) { Console.WriteLine(i); } } outinnerFor: ; } Console.Read(); } } 9,输入两个数,求这个两个数的最小公倍数和最大公约数,如下图: 答案: publicstaticvoidMain() { Console.WriteLine("请输入你要计算的两个数"); inta=int.Parse(Console.ReadLine()); intb=int.Parse(Console.ReadLine()); intmin=a a: b; intmax=a>b? a: b; for(inti=2;i<=min;i++) { if(a%i==0&&b%i==0) { Console.WriteLine("最大公约数是: "+i.ToString()); break; } } intmaxgbs=a*b; for(intj=max;j { if(j%a==0&&j%b==0) { Console.WriteLine("最小公倍数是: "+j.ToString()); break; } } Console.ReadKey(); } 10输入杨辉三角的层数,打印杨辉三角。 如下图(提示: 用二维数组实现,三角的顶点为1,其他的元素为它的左上角元素和右上角元素之和) 答案: staticvoidMain() { //杨辉三角 intn=int.Parse(Console.ReadLine()); int[,]array6=newint[n+1,2*n+1]; //inti=5; //intj=5; //array6[i,j]=10; //Console.Write(array6[i,j]); array6[1,n-1]=1; for(inti=2;i { for(intj=1;j<2*n-1;j++) { array6[i,j]=array6[i-1,j+1]+array6[i-1,j-1]; } } for(inti=0;i { for(intj=0;j<2*n;j++) { if(array6[i,j]! =0) { Console.Write(array6[i,j]); } else { Console.Write(""); } } Console.Write("\n"); } Console.ReadKey(); } 11定义一个一位数组,其值是12,5,13,6,10,55,99,2,87,1,现用冒泡排序法对这些数从小到大进行排序,结果如图: 答案: publicstaticvoidMain() { int[]a={12,5,13,6,10,55,99,2,87,1}; //12,5,13,6,10,55,99,2,87,1 //5,12,6,10,13,55,2,87,1,99 for(inti=0;i { Console.Write("{0},",a[i]); } Console.WriteLine();//换行 for(inti=0;i { for(intj=0;j { if(a[j]>a[j+1]) { inttmp=a[j]; a[j]=a[j+1]; a[j+1]=tmp; } } for(intk=0;k { Console.Write("{0},",a[k]); } Console.WriteLine(); } //Sort(a); for(inti=0;i { Console.Write("{0},",a[i]); } Console.WriteLine();//换行 Console.Read(); } publicstaticvoidSort(int[]a)//功能: 排序数组是引用类型 { intj=1;//外层循环次数,在内层每循环一次少判断一次 boolb=false; while(j { b=true;//假设是个排序 for(inti=0;i { if(a[i]>a[i+1]) { b=false; intt=a[i];//交换数据 a[i]=a[i+1]; a[i+1]=t; } } if(b==true) return; else j++; } } } 12,二维数组的显示和行列转换(用二维数组实现),输入二维数组的长度n,定义一个n*n的二维数组,对角线为0,坐下部的元素为9,右上部为1。 显示转换前后的结果。 答案: staticvoidMain(string[]args) { Console.WriteLine("输入你要输入的二维数组的长度"); intn=int.Parse(Console.ReadLine()); int[,]a=newint[n,n]; for(inti=0;i { for(intj=0;j { if(i { a[i,j]=1; } elseif(i>j) { a[i,j]=9; } Console.Write(a[i,j]); }Console.Write("\n"); } Console.WriteLine("转换过后是"); for(inti=0;i { for(intj=0;j { if(i>j) { inttemp=a[i,j]; a[i,j]=a[j,i]; a[j,i]=temp; } //Console.Write(a[i,j]); }//Console.Write("\n"); } for(inti=0;i { for(intj=0;j { Console.Write(a[i,j]); } Console.Write("\n"); } Console.ReadKey(); } 13,2,2,4,8,32,256,…..请求出第七位数. publicclassSumPlus{ publicstaticvoidmain(String[]args){ intsum=getSum(7); System.out.println("当n=3时=="+sum); } /** *计算: 2,2,4,8,32,256,…..请求出第七位数. */ publicstaticintgetSum(intn){ intsum=0; if(n<=2){ return2; } else{ sum=getSum(n-1)*getSum(n-2); } returnsum; } } 14,求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。 例如2+22+222+2222+22222(此时共有5个数相加) publicclassLeiJia{ publicstaticvoidmain(String[]args){ intsum=getSum(2,5); System.out.println("sum="+sum); } /** *求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。 *例如2+22+222+2222+22222(此时共有5个数相加) */ publicstaticintgetSum(inta,intn){ intsum=0; intt=0; for(inti=1;i<=n;i++){ t*=10; t+=a; sum+=t; } returnsum; } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 试题
![提示](https://static.bdocx.com/images/bang_tan.gif)