C语言期末必考题_第1页
C语言期末必考题_第2页
C语言期末必考题_第3页
C语言期末必考题_第4页
C语言期末必考题_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数组 I选用数组元素的下标时,可能造成程序运行出错的下标是_。A. 正实数 B. 整型变量 C. 0 D. -1答案:A做好人力资源,企业无忧指出下面各说明语句中哪些是合法的:A. int abcd0x80; B. char 9ab10; C. char chi-200; int cash4=1,2,3,4,5,6;答案: A下面对数组定义正确的是A) int a ; B)int n=5,an;C) int n, an=1,2,3,4,5; D) int a10/2;设有语句int a=1,2,3,9,8,7;,则表达式a2-a4的值是_。A. -2 B. -4 C. -5 D. -7答案:C运行下列程序的输出结果是_。#include void main() int i,j,k,n2; for(i=0;i2;i+) ni=0; k=2; for(i=0;ik;i+) for(j=0;jk;j+) nj=ni+1; printf(%dn,nk);A. 1 B. 3 C. 程序出错 D. 不确定的值答案:D运行下列程序的输出结果是_。#include #define N 7void main() int i,j,temp,aN=1,2,3,4,5,6,7; for(i=0;iN/2;i+) j=N-i-1; temp=ai;ai=aj;aj=temp; for(i=0;iN;i+) printf(%1d,ai);A. B. C. 1357 D. 246答案:B运行下列程序的输出结果是_。#include void main() int i,x=123,a16=100,50,10,5,2,1,a26; while(x!=0) for(i=0;i6;i+) a2i=0; for(i=0;i6;i+) a2i=x/a1i; x=x%a1i; for(i=0;i6;i+) printf(%d ,a2i); A. 1 2 3 0 0 0 B. 0 2 0 4 0 3 C. 1 0 2 0 1 1 D. 0 0 0 1 2 3答案:C运行下列程序的输出结果是_。#include void main() int a10,a1=1,3,6,9,10,a2=2,4,7,8,15,i=0,j=0,k; for(k=0;k4;k+) if(a1ia2j)ak=a1i+; else ak=a2j+; for(k=0;k4;k+) printf(%1d,ak);A. 1234 B. 1324 C. 2413 D. 4321答案:A根据以下说明,写出正确的说明语句。men是一个有10个整型元素的数组。_1_(2)step是一个有4个实型元素的数组,元素值分别为1.9, -2.33, 0, 20.6。_2_答案:int men10; float step=1.9,-2.33,0,20.6请回答下列问题。(1)array是一个一维整形数组,有10个元素,前6个元素的初值是9,4,7,49,32,-5,请写出正确的说明语句。_1_(2)该数组下标的取值范围是从_到_(从小到大)。_2_(3)如何用scanf函数输入数组的第二个元素。_3_(4)如何用赋值语句把39存入第一个元素。_4_(5)如何表示把第六个和第四个元素之和存入第一个元素。_5_答案: int array10 = 9,4,7,49,32,-5;0 9scanf(%d,&array1);array0 = 39;array0 = array5 + array3;若有以下整型的a数组:int a10=9,4,12,8,2,10,7,5,1,3;aa9的值为_1_aa4+a8的值为_2_答案: 8 8运行下列程序的输出结果是_。#include void main() unsigned short x=83; int i,j,y6=0; for(i=5;i0;i-) yi=x%8; x=x/8; if(x=0)break; for(i=0;i6;i+) if(yi!=0) printf(%1d,yi);答案:123运行下列程序的输出结果是_。 #include void main() int i, k,m; int a8=15,60,75,73,92,87,64,79, s10; for(k=0; k10; k+) sk=0; for(i=0; i8; i+) k=ai/10; sk+; m=s0; k=1; while (km) m=sk; k+; printf(%d, m); 答案:1#2#3#1#1#3运行下列程序的输出结果是_。#include void main() int j, k; int a3=3, 4, 5; for(j=0; j3; j+) for(k=0; k3; k+) printf(%d ,a(j+k)%3); printf(#); 答案:3 4 5 #4 5 3 #5 3 4 #求出a中各相邻两个元素的和,并将这些和存放在数组 b中,按每行3个元素的形式输出。例如: b1=a1+a0,b9=a9+a8。#include void main() int a10,b10,i; printf(nInput 10 numbers: ); for (i=0; i10;i+) /* 数组输入 */ scanf(%d, &ai); for (i=1; i10; i+) bi=_1_; /* 计算b数组中的元素 */ for (i=1; i10; i+) printf(%3d,bi); if (_2_) printf(n);/* 每行打印3个数据 */ 答案:ai+ai-1 i%3=0输入10个整数,将它们存入数组a中,再输入一个数x,然后在数组中查找x,如果找到,输出相应的下标(如有多个元素与x相等,只要输出下标值最小的那个元素的下标),否则,输出“Not Found”。 #include void main( ) int k, sub, x; int a10; for(k=0; k10; k+) scanf(%d, &ak); printf(Input xn); scanf(%d, &x); sub=-1; for(k=0; k10; k+) if(ak=x) (1) if( (2) ) printf(Index is %dn, sub); else printf(Not Foundn); 答案: sub=k; break; sub!=-1编程。数组元素xi、yi表示平面上某点坐标,统计10个点中同处在圆(x-1)*(x-1)+(y+0.5)*(y+0.5)=25与(x-0.5)*(x-0.5)+y*y=36内的点数k。float x=1.1,3.2,-2.5,5.67,3.42,-4.5,2.54,5.6,0.97,4.65; float y=-6,4.3,4.5,3.67,2.42,2.54,5.6,-0.97,4.65,-3.33;答案: #include void main() float x=1.1,3.2,-2.5,5.67,3.42,-4.5,2.54,5.6,0.97,4.65;float y=-6,4.3,4.5,3.67,2.42,2.54,5.6,-0.97,4.65,-3.33;int k=0,i,j;for(i=0;i10;i+) if(xi-1)*(xi-1)+(yi+0.5)*(yi+0.5)=25&(xi-0.5)*(xi-0.5)+yi*yi=36) k+;printf(“%dn”,k); / 运行结果:3编程。在一个由小到大排列的有序数组中插入一个数,插入后数组仍然有序。答案:#include main() int a8=2,16,17,30,44,56,68; int i=0,j,x; printf(“输入一个待插入的整数:);scanf(%d,&x); for(;ix) break; / 寻找x的插入位置 for(j=7;ji;j-) aj=aj-1; / 将x该插入位置后的所有元素后移1位 ai=x; / 写入x for(i=0;i8;i+) / 输入插入x后的数组元素值 printf(%5d,ai); printf(n); d(0)d(1)d(2)d(4)d(3)xi,yi表示点d(i)的平面坐标,求d(0)至d(1)、d(1)至d(2)、.、d(4)至d(0)的连线所构成的5边形面积,并将所求面积以格式%.4f输出。#include #include void main() int i; float s,a,b,c,sdim=0; float x5=-4.5,0.5,4.2,2.7,-3; float y5=2.3,4.7,1.3,-2.5,-3.3; for(i=1;i4;i+)a=sqrt(x0-xi)*(x0-xi)+(y0-yi)*(y0-yi);b=sqrt(xi-xi+1)* (xi-xi+1)+(yi-yi+1)*(yi-yi+1);c=sqrt(x0-xi+1)* (x0-xi+1)+(y0-yi+1)*(y0-yi+1);s=(a+b+c)/2; sdim+=sqrt(s*(s-a)*(s-b)*(s-c); printf(%.4f,sdim); / 运行结果:46.7800 数组元素xi、yi表示平面上某点坐标,统计所有各点间最短距离,并将其值以格式%f输出。#include #include void main() int i,j; float c,minc; float x =1.1,3.2,-2.5,5.67,3.42,-4.5,2.54,5.6,0.97,4.65; float y =-6,4.3,4.5,3.67,2.42,2.54,5.6,-0.97,4.65,-3.33; minc= sqrt(x0-x1)*(x0-x1)+(y0-y1)*(y0-y1); for(i=0;i9;i+) for(j=i+1;j10;j+) if(c=sqrt(xi-xj)*(xi-xj)+(yi-yj)*(yi-yj)minc) minc=c; printf(%fn,minc); / 运行结果: 1.xi,yi分别表示平面上1个点的x、y坐标,求下列5点各点间距离总和,并将该数以格式%.4f输出。#include #include void main() float s,x5=-1.5,2.1,6.3,3.2,-0.7; float y5=7,5.1,3.2,4.5,7.6;int i,j; s=0; for(i=0;i4;i+) for(j=i+1;j5;j+) s+=sqrt(pow(xi-xj,2)+pow(yi-yj,2); printf(%.4f,s); / 运行结果: 45.2985 计算多项式a0+a1*x+a2*x*x+a3*x*x*x+.的值,并将其值以格式%f输出。 #include #include void main() int i; float x=1.279,t=1,y=0; float a10=1.1,3.2,-2.5,5.67,3.42,-4.5,2.54,5.6,0.97,4.65; for(i=0; i10; i+) y+=ai*t; t=t*x; printf(%f,y); / 运行结果:98. 数列各项为1,1,2,3,5,8,13,21,.,求其前40项之和,并将求和的结果以格式%ld输出。 #include void main() long s=0,i,a40=1,1; for(i=2;i40;i+) ai=ai-1+ai-2; for(i=0;i40;i+) s+=ai; printf(%ld,s); / 运行结果: 计算多项式a0-a1*x+a2*x*x/2!-a3*x*x*x/3!+.的值,并将其以格式%f输出。 #include #include void main() int i; float x=1.279,t,y; float a10=1.1,3.2,-2.5,5.67,3.42,-4.5,2.54,5.6,0.97,4.65; t=1; y=0; for(i=0; i10; i+) y=y+ai*t; t=-t*x*1/(i+1); printf(%f,y); / 运行结果:-6. 输入20个整数,输出其中能被组中其它元素整除的那些数组元素。#include main() int a20,i,j,k; printf(Enter the

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论