c语言上机试卷

发布 2021-04-23 12:12:28 阅读 6138

1、编写子函数sjx(int n )打印下列图案:图案的行数在main()中通过键盘输入。

#include<>

int sjx(int n)

int i,j;

for(i=1;i<=n;i++)

void main()

int n;

scanf("%d",&n);

sjx(n);

getch();

2、程序功能:顺序查找法。设计要求:

1) 编写函数int search(int a,int n,int x),其功能是在长度为n的数组中查找整数x是否存在,若存在函数返回x在数组中的下标位置,否则返回0值。

2) 编写函数main,定义并初始化一个数组a,接受从键盘上输入的整数x,调用函数search若找到,输出x所在的下标,否则输出“not found!”。

#include<>

int search(int a,int n,int x)

int i;

for(i=1;i if(a[i]==x) break;

if(i return i;

elsereturn 0;

void main()

int a[10]=;

int x,t;

scanf("%d",&x);

if(x==a[0]) printf("%d",0);

elsegetch();

3、程序功能:冒泡排序法。设计要求:

1) 编写函数int sort(float b,int n),其功能是将长度为n的数组按由小到大进行排列。

2) 编写函数main,定义一个数组a,从键盘上输入10个数给数组,调用函数sort对b数组排序,并输出排序后的数组。

#include<>

int sort(float b,int n)

int i,j,k;

for(i=0;i

void main()

float a[10];

int i;

for(i=0;i<10;i++)

scanf("%f",&a[i]);

sort(a,10);

for(i=0;i<10;i++)

printf("%0f ",a[i]);

getch();

4、程序功能:选择排序法。设计要求:

1) 编写函数int sort(int a,int n),其功能是将长度为n的数组按由大到小进行排列。

2) 编写函数main,定义一个数组a,从键盘上输入10个数给数组,调用函数sort对a数组排序,并输出排序后的数组。

#include<>

int sort(int a,int n)

int i,j,k,t;

for(i=0;i

void main()

int a[10];

int i;

for(i=0;i<10;i++)

scanf("%d",&a[i]);

sort(a,10);

for(i=0;i<10;i++)

printf("%d",a[i]);

getch();

5、已知正弦值的近似的多项式计算公式为:

sin(x)=x-x3/3!+x5/5!-x7/7!+…1)nx2*n+1/(2*n+1)!+

输入x和ε,编写按上述公式计算sin(x)近似值且误差小于ε的程序。

设:x=1.57 ε=0.00001

6、通过键盘输入一个十进制整数,并转换成二进制数,所得二进制数的每一位放在一维数组中,输出此二进制数。要求:(1)编写函数dtob(int a,n)完成十进制整数转换成二进制数, 二进制数的最低位放在数组的第一个元素中。

(2)在主函数中通过键盘输入一个十进制数。

#include<>

dtob(int a,int n)

int k,r;

k=-1;do

while(n!=0);

return k;

main()

int a[10],x,i,t;

scanf("%d",&x);

t=dtob(a,x);

for(i=0;i<=t;i++)

printf(" d",a[i]);

getch();

7、用二分法求方程3x3-3x2+x-1=0在x0=2附近的实根。精确到|f(x)|<0.0001为止。要求:

1)用函数float eff(float x)求方程在x附近的根;

2)在主函数中输入x0,调用函数求得方程的近似根,并输出结果。

8.用牛顿迭代法求方程3x3-3x2+x-1=0在x0=2附近的实根。要求:

1)用函数float newtoon(float x)求方程在x附近的根;

2)用函数float f(float x)求x处的函数值,用函数float f1(float x)求f(x)在x处的导数;

3)在主函数中输入x0,调用函数求得方程的近似根(精度要求为10-5),并输出结果。

#include<>

#include<>

float f(float x)

return 3*x*x*x-3*x*x+x-1;

float f1(float x)

return 9*x*x-6*x+1;

float newtoon(float x)

float f,f1,x0;

dowhile(fabs(x-x0)>=1e-5);

return x;

void main()

float x0;

scanf("%f",&x0);

printf("the result=%.2f",newtoon(x0));

getch();

9.请设计程序,用牛顿迭代法求f(x)=cos(x)-x的近似根,要求精确到10-6。

1)用函数float newtoon(float x)求方程在x附近的根;

2)用函数float f(float x)求x处的函数值,用函数float f1(float x)求f(x)在x处的导数;

3)在主函数中输入x0,调用函数求得方程的近似根(精度要求为10-5),并输出结果。

#include<>

#include<>

float f(float x)

return cos(x)-x;

float f1(float x)

return -sin(x)-1;

float newtoon(float x)

float f,f1,x0;

dowhile(fabs(x-x0)>=1e-6);

return x;

void main()

float x0;

scanf("%f",&x0);

printf("the result=%.2f",newtoon(x0));

getch();

10.已知f(x)=lnx+x2在(1/e, 1)内有唯一的一个实根。请设计程序,用二分法求该近似实根。精确到|f(x)|<0.0001为止。

1)用函数float eff(float x)求方程在x附近的根;

2)在主函数中输入x,调用函数求得方程的近似根,并输出结果。

#include<>

#include<>

float eff(float x)

void main()

float m=1/2.7,n=1,r;

r=(m+n)/2.0;

while(r)

if(fabs(eff(r))<1e-4) break;

if(eff(r)*eff(m)<0) n=r;

else m=r;

r=(m+n)/2.0;}

printf("the result is %6.3f", r);

getch();

11、编写子函数yhsj( int a[int n )打印杨辉三角形:要求通过键盘在main()中输入打印的行数。

#include<>

void yhsj(int a[20][20],int n)

C语言上机试卷C

本试卷完成时间 90分钟 一 改错题 16分 程序功能 函数findword的功能是 在s指向的由若干个英文句子组成的字符串中搜索包含t指向子串的单词,将找到的所有包含t子串的单词复制到ch指向的二维数组中,函数返回找到的单词个数。称s字符串为 被搜索字符串 t子串为 搜索字符串 测试数据与运行结果...

C语言上机试卷C

一 改错题 16分 程序功能 对一个二维数组中的数据排序。排序规则如下 将整个数组中值最小的元素所在行调整为数组第1行 行下标为0 将除第1行外剩余行中值最小的元素所在行调整为数组第2行,将除第 行外剩余行中值最小的元素所在行调整为数组第3行,其它以此类推。测试数据与运行结果 数组初始化数据 输出 ...

C语言上机试卷

桂林电子科技大学试卷。2010 2011学年第 2 学期。课程名称 c语言程序设计适用年级 10 考试时间 60 分钟 试卷编号 001 考前准备 请在e盘根目录下建一个以自己学号命名的文件夹,试题中的所有程序所对应的工程目录都创建在学号文件夹下。第1题 改错题 30分 要求 该程序文件中有1 5个...