数据结构试卷,C语言大题考试.doc
文本预览下载声明
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
显示全部