文档详情

数据结构试卷,C语言大题考试.doc

发布:2016-11-28约6.03千字共8页下载文档
文本预览下载声明
2012年度期末考试试卷模拟题 1. 线性查找(注:指的是从数组的第一个元素开始,依次将要查找的数和数组中元素比较,直到找到该数或找遍整个数组为止。) #include stdio.h main() {int i,n,num[]={15,12,4,8,6,7,9,16,20,35}; scanf(%d,n); for(i=0;i10;i++) if(num[i]==n) {printf(数据%d在数组中的位置是%d!\n,n,i+1);exit(0);} printf(数据不存在该数组中!\n); 2、编写一程序,将字符数组S2中的全部字符复制到字符数组S1中,不用Strcpy函数。复制时’\0’也要复制过去,’\0’后面的字符不复制。 #include stdio.h #includestring.h main() {char s1[80],s2[80]; int i; printf(请输入字符串s1:); gets(s1); printf(请输入字符串s2:); gets(s2); for(i=0;istrlen(s2);i++) s1[i]=s2[i]; printf(s1=%s,s1); 1. 打印杨辉三角。(10分) main()? {int?i,j;? int?a[10][10];? printf(\n);? for(i=0;i10;i++)?  {a[i][0]=1;?  a[i][i]=1;}? for(i=2;i10;i++)?  for(j=1;ji;j++)?  a[i][j]=a[i-1][j-1]+a[i-1][j];? for(i=0;i10;i++)?  {for(j=0;j=i;j++)?  printf(%5d,a[i][j]);?  printf(\n);?  }? }? 2. 用递归调用求10! 。#includestdio.h unsigned double fact(unsigned double n) { if (n==0) return 1; return n*fact(n-1); } void main() { printf(%d,fact(10)); } 3.计算一个整数的绝对值 方法一: //用数学函数 #includestdio.h #includemath.h void main() { int a; scanf(%d,a); printf(%d\n,abs(a)); } 方法二: //判断 #includestdio.h void main() { int a; scanf(%d,a); if(a=0) printf(%d\n,a); else printf(%d\n,-a); } 2、下面这个程序的作用是统计公元1年到公元2000年的闰年个数。判断闰年的方法是:能被400整除的年是闰年;除能被400整除的年以外,凡是能被4整除,但不能被100整除的年是闰年。其余年份是平年。 #include stdio.h void main () { int year; printf(请输入年份:); scanf(%d,year); if((year%4==0)(year%100!=0)||(year%400==0)) printf(此年是闰年\n); else printf(此年不是闰年\n); }1、a的行和列元素互换后存到另一个二维数组b中 #include stdio.h #include string.h main() { int a[2][3]={{1,2,3},{4,5,6}}; int b[3][2],i,j; printf(array a:\n); //双引号里的是字符串提示信息,作用是在屏幕上显示提示 for(i=0;i=1;i++) //外循环i遍历a数组的i行 { for(j=0;j=2;j++) //内循环j是在i行遍历该行所有的数组元素 { printf(%5d,a[i][j]); b[j][i]=a[i][j]; //这个就是进行行列转换的关键语句 如 b[2][1]=a[1][2] } printf(\n); } printf(array b:\n); //这个也是 for(i=0;i=2;i++) { for(j=0;j=1;j++) printf(%5d,b[i][j]); //输出转换后b数组的结果 printf(\n); } 1、main() {float i,min
显示全部
相似文档