资源描述:
《c语言源程序试题及答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1.顺序、选择结构的C程序。如符号函数的实现。(10分)要求:熟悉输入输出函数、赋值语句、选择语句的使用;掌握编写、输入、编译连接、运行C程序的过程和操作方法。①根据用户输入的圆的半径,计算圆的周长、面积。floatr=0;//圆的半径floatcircleLength=0;//圆周长floatcircleArea=0;//圆面积constfloatPI=3.1415;//PIprintf("请输入圆的半径:");scanf("%f",&r);circleLength=2*PI*r;circleArea=PI*r*r;printf("圆的周长=%3.1f",circleLengt
2、h);printf("圆的面积=%3.1f",circleArea);②从键盘上输入任意三个数,输出最大数值。inta,b,c,max;if(a>b){max=a;}else{max=b;}if(c>max){max=c;}printf("最大数值为=%d",max);2.用数组作为存储,具有循环结构的C程序.如冒泡排序、选择排序的实现(20分)要求:熟悉数组的定义、初始化、数组元素引用和三种循环语句的使用。①用冒泡排序法对10个整数按照由小到大的顺序进行排序#includevoidmain(){inta[11],i=1,j,t;printf("Input10nu
3、mbers:");while(i<11){scanf("%d",&a[i]);i++;}printf("");for(j=1;j<=9;j++)for(i=1;i<=10-j;i++)if(a[i]>a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}printf("Thesortednumbers:");for(i=1;i<11;i++)printf("%d",a[i]);}②将二维数组行列元素互换,存到另一个数组中#includevoidmain(){inta[2][3]={{1,2,3},{4,5,6}},b[3][2],i,j;p
4、rintf("arraya:");for(i=0;i<=1;i++){for(j=0;j<=2;j++){printf("%5d",a[i][j]);b[j][i]=a[i][j];}printf("");}printf("arrayb:");for(i=0;i<=2;i++){for(j=0;j<=1;j++)printf("%5d",b[i][j]);printf("");}}3.含有函数嵌套调用的C程序,含有函数递归调用的C程序。(20分)要求:熟悉函数的定义、调用的使用,递归调用程序的设计。①定义名称为computeMethod的函数,实现一个计算器的功能(加减乘除
5、运算)。#includeintcomputeMethod(inta,charch,intb){ints;if(ch=='+')s=a+b;if(ch=='-')s=a-b;if(ch=='*')s=a*b;if(ch=='/')s=a/b;returns;}voidmain(){intcomputeMethod(inta,charch,intb);inta,b,s1;charm;scanf("%d%c%d",&a,&m,&b);s1=computeMethod(a,m,b);printf("%d%c%d=%d",a,m,b,s1);}②用递归的方法求n!#includ
6、elongfac(intn);voidmain(){intm;longy;scanf("%d",&m);y=fac(m);printf("%d!=%d",m,y);}longfac(intn){longf;if(n<0){printf("error!");f=-1;}elseif(n==0
7、
8、n==1)f=1;elsef=n*fac(n-1);/*递归调用自己*/returnf;}4.函数参数为指针型的函数调用的C程序。(20分)要求:熟悉指针变量的定义、初始化和引用;掌握函数间用值和地址传送数据的方法。①对输入的三个正数,按照由大到小的顺序输出,要求用指针函数来实现
9、。#includevoidswap(int*p1,int*p2,int*p3){inttemp;if(*p1<*p2)temp=*p1,*p1=*p2,*p2=temp;if(*p1<*p3)temp=*p1,*p1=*p3,*p3=temp;if(*p2<*p3)temp=*p2,*p2=*p3,*p3=temp;}voidmain(){inta,b,c;scanf("%d,%d,%d",&a,&b,