专转本C语言复习题3Word格式.docx

上传人:b****5 文档编号:19112010 上传时间:2023-01-03 格式:DOCX 页数:6 大小:20.64KB
下载 相关 举报
专转本C语言复习题3Word格式.docx_第1页
第1页 / 共6页
专转本C语言复习题3Word格式.docx_第2页
第2页 / 共6页
专转本C语言复习题3Word格式.docx_第3页
第3页 / 共6页
专转本C语言复习题3Word格式.docx_第4页
第4页 / 共6页
专转本C语言复习题3Word格式.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

专转本C语言复习题3Word格式.docx

《专转本C语言复习题3Word格式.docx》由会员分享,可在线阅读,更多相关《专转本C语言复习题3Word格式.docx(6页珍藏版)》请在冰豆网上搜索。

专转本C语言复习题3Word格式.docx

0.000001),即小于float的表示精度,可认为已经计算到最精确的值了。

大家可以测试,这种方式,其结果为3.141594,非常接近了,如果用double型,其循环条件执行条件应变为>

0.000000000001,可以把精度扩展到小数点后12位。

#include<

stdio.h>

voidmain()

{

floatpi=0;

inti,flag=1;

for(i=0;

1.0/(2*i+1)>

=0.000001;

i++)

{

pi=pi+1.0/(2*i+1)*flag;

flag=flag*-1;

}

pi=pi*4;

printf("

pi=%f"

pi);

}

 

2.已有一个排好序的数组,要求输入一个数后,按原来的规律将它插入数组中。

先把这种抽象的题,具体化后分析,如一个排好序的数组为12567892105,这时候再输入一个数,这个数假如是89,大家看它的放到哪儿去?

其方法是:

先和第一个元素12比较,比12大,再和56比较,还是比56大,再和78比较,还大,再和92比较,比92小,这时候找到它的位置了,就应该让92及其后的数往后面挪一位。

把位置空出来后,再放输入的89。

它分为两个过程,一是寻找位置的过程,这可以用一个for循环,逐个取数组元素来比较,直接找到比当前输入的数大的位置停下来,比如是i。

二是把a[i]及后面的数往后挪的问题,可以用一个for循环,从最后一个数开始,把数往后挪一位,即a[j+1]=a[j]。

位置腾出来后,把输入的数放到寻找到的位置。

inta[6]={12,45,67,89,92};

intb,i,j;

scanf("

%d"

&

b);

//寻找插入位置;

i<

5;

i++)//此处i<

5,,是因为数组中只有5个数。

if(b<

a[i])

{

break;

}

//如果是中途退出,就把后面的数,往后挪一位。

if(i<

5)

for(j=5;

j>

=i;

j--)

a[j]=a[j-1];

a[i]=b;

//输出插入后的数组;

6;

printf("

%d\t"

a[i]);

3.

已有一个排好序的数组,要求输入一个数后,请快速查找其位置。

分析:

用折半查找法最快。

//此方法和中央二台猜价格的方法相似。

比如1000低了,2000,高了,(1000+2000)/2=1500高了,(1000+1500)/2=1250,对了!

inta[10]={12,45,67,89,92,105,378,456,897,900};

intb,i,left=0,right=9,mid;

while(left<

=right)

mid=(left+right)/2;

if(b==a[mid])

printf("

%d在数组的第%d位"

b,mid+1);

return;

elseif(b<

a[mid])

right=mid-1;

else

left=mid+1;

没找到!

\n"

);

4.求100至200间的全部素数。

inti,j;

for(i=100;

=200;

for(j=2;

j<

=i-1;

j++)

if(i%j==0)

break;

if(j==i)

%d是素数!

i);

5.把一个整数按大小顺序插入已排好序的数组中。

(同2题)

6.在二维数组a中选出各行最大的元素组成一个一维数组b。

7.输入五个国家的名称按字母顺序排列输出。

8.输入两个正整数m和n,求其最大公约数和最小公倍数。

(辗转相除法)

9.编程计算100至999之间有多少个数,其各位数字之和是5。

例如:

122、131是满足要求的数的两个例子。

(穷举法)

10.打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。

例如,153是一水仙花数,因为153=13+53+33。

11.求Sn=a+aa+aaa+…+aa…a(n个a)之值,其中a是一个数字。

2+22+222+2222+22222(此时n=5),n由键盘输入。

12.求100~200间的全部素数。

13.定义一个2*3矩阵,输入/输出数值。

14.求一个3*3矩阵对角线元素之和。

15.用二分法求下面方程在(-10,10)之间的根。

2x3-4x2+3x-6=0

16.求Fibonacci数列前40个数。

这个数列有如下特点:

第1,2两个数为1,1。

从第3个数开始,该数是其前面两个数之和。

即:

F1=1(n=1)

F2=1(n=2)

Fn=Fn-1+Fn-2(n>

=3)

17.用起泡法对10个数排序(由小到大)。

18.用选择法对输入的10个整数排序。

19.写程序,判断某一年是否闰年。

20.将一个二维数组行和列元素互换,存到另一个二维数组中。

21.有一个3*4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。

22.输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。

23.用递归方法求n!

24.打印出以下的杨辉三角形(要求打印出10行)。

1

11

121

1331

14641

15101051

25.打印以下图案:

*****

*****

*****

26.打印以下图案:

*

**

***

****

*

27.打印以下图案:

1

121

12321

1234321

123454321

12345654321

28.有一个一维数组,内放10个学生成绩,写一个函数,求出平均分,最高分和最低分,及格率。

29.请编程一个函数实现查找如下字符串“thePeople’sRepublicofChina.”中第一个“of”单词在字符串中的位置,并返回该值;

通过主函数调用该函数,并输出结果。

30.请编程实现如下功能:

从键盘输入一个任意正整数,求其各位数字立方和。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1