应用题Word文档下载推荐.docx

上传人:b****5 文档编号:21044758 上传时间:2023-01-27 格式:DOCX 页数:16 大小:18.87KB
下载 相关 举报
应用题Word文档下载推荐.docx_第1页
第1页 / 共16页
应用题Word文档下载推荐.docx_第2页
第2页 / 共16页
应用题Word文档下载推荐.docx_第3页
第3页 / 共16页
应用题Word文档下载推荐.docx_第4页
第4页 / 共16页
应用题Word文档下载推荐.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

应用题Word文档下载推荐.docx

《应用题Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《应用题Word文档下载推荐.docx(16页珍藏版)》请在冰豆网上搜索。

应用题Word文档下载推荐.docx

本题中,数列项的分子是1,分母是奇数数列。

每一项的符号交互改变。

由于不知道计算到哪一项为止,不能用FOR()循环。

可以用While()循环。

算法:

(1)定义一个实数PI,数列项变量q;

(2)定义一个控制变量K,一个符号变量t.

(3)PI=0;

K=1;

t=1;

q=1;

(4)当(q>

1e-7)

{pi=pi+t*q;

k=k+2;

q=1.0/k;

t=-t;

编程:

Main()

{floatpi,q;

Intk,t;

pi=0;

k=1;

q=k;

while(q>

pi=pi*4;

printf(“\npi=%10.8f”,pi);

2、计算sinx=x-x3/3!

+x5/5!

-x7/7!

..........,求sin(x)的近似值,直到最后一项的绝对值小于10-7为止。

X从键盘输入。

算法与前例类似。

只不过要先算分子xn和分母子x!

.

#include"

stdio.h"

main()

{floatx,sinx,xn,xi,q;

inti,k,t;

%f"

x);

xi=1;

xn=1;

t=1;

sinx=0;

q=x;

while(q>

{xi=1;

for(i=1;

i<

=k;

i++)

{xn=xn*x;

计算分子xn和分母子x!

xi=xi*i;

q=xn/xi;

sinx=sinx+t*qi;

printf("

\nx=%5.2f,sinx=%5.2f"

x,sinx);

_

3、计算裴波那契分数序列前n项之和。

N从键盘输入。

裴波那契分数序列的规律性是:

F0=1;

f1=1;

f2=f1+f0;

例如:

对项数列2,3,5,8,13,21……………….

计算前n项之和。

{intf0,f1,f2,xn,n,i;

%d"

n);

f0=2;

f1=3;

xn=f0+f1;

for(i=2;

n;

{f2=f0+f1;

xn=xn+f2;

f0=f1;

f1=f2;

\nf2=%d,xn=%d"

f2,xn);

统计字母、数字个数。

1、从键盘输入一串字符,直到输入一个“*”号为止,统计其中的字母和数字个数。

例:

s[]=”2e5t6gui9”.字母=5,数字=4。

{charch;

intshu=0,zim=0;

while(ch!

*'

{

if(ch>

a'

z'

||ch>

zim++;

0'

9'

shu++;

\nshu=%d,zim=%d"

shu,zim);

}_

求素数

1、求出100—500内所有的素数,并按5个一排打印出来。

Prim(intn)

{intk,fg;

for(k=2;

k<

=n/2;

k++)

if(n%k==0)

{fg=0;

break;

elsefg=1;

returnfg;

{intk,x,cnt=0;

for(k=100;

=500;

if(prim(k))

printf(“%d”,k);

cnt++;

if(cnt%5==0)

printf(“\n”);

}}

2、编一个计算了X的N次方的子程序

Pow(intx,intn)

{intk,s;

s=1;

For(k=1;

=n;

s=s*x;

Returns;

3、编一个计算了X的N阶乘的子程序

X=n!

longFa(intn)

{intk;

longy;

y=1;

y=y*k;

Returny;

}

公倍数与公约数

1、编写求最小公倍数的子程序

a,brr%a=0r%b=0

方法1、

intmin(inta,intb)

{intr;

r=a>

b?

a:

b;

while(r%a!

=0||r%b!

=0)

r++;

returnr;

2、编写求最大公约数的子程序

intmax(inta,intb)

b?

b:

a;

while(a%r!

=0||b%r!

=0)r--;

二重循环

一、图形类

1、打印上三角图案:

*

***

*****

*******

*********

算法:

分析:

要求打5行.

每行打若干的空格,然后打”*”

换行.

细分:

要求打n行.

每行打n-i的空格,然后2i-1”*”

{intI,j,k;

For(i=1;

=5;

{for(k=1;

=5-I;

Printf(““);

For(j=1;

j<

=2*i-1;

j++)

Printf(“*”);

Printf(“\n”);

2、打印下三角图案:

每行打i+1的空格,然后2*(5-i)-1个”*”.

{intI,j;

=4;

{for(j=1;

=I+1;

=2*(4-i)+1;

3、打印实心棱形:

*

先打上三角,后打下三角。

{inti,j,n;

scanf("

for(i=1;

{for(j=1;

=n-i;

"

);

for(j=1;

j++)上三角

*"

\n"

=n-1;

=i;

下三角

=2*(n-i)-1;

4、打印空心棱形:

**

提示:

选按实心上三角与下三角打好棱型。

然后在打“*”号时,如果是第一个(j=1)与最后一个,打“*”,否则打空格。

if(j==1||j==2*i-1)

elseprintf("

if(j==1||j==2*(n-i)-1)

5、数字棱形。

1

123

12345

1234567

11111

222

3

%2d"

j);

将printf(“*”)改成本语句

i);

6、打印实心六边形:

***********

*************

*********

先打上梯型,后打下下梯型。

按打上(下)三角型的方法,把第一行“*“的个数从1开始改成从N开始。

=2*i+n-2;

=2*(n-i)+n-2;

7、打印空心六边形:

**

选按实心打好六边型。

if(i==1)

打印最后一行“*“

elseif(j==1||j==2*i+n-2)printf("

if(i==n-1)printf("

elseif(j==1||j==2*(n-i)+n-2)

二、数组类型

1、

已知一组字符数组a[11]=“a5Bc3bWj9k”;

一组字符数组b[10];

编一程序,请将字符数组a[]中的小写字母放入数组b[]中,并对数组b[]按从大到小顺序排序,(数组b[]中没有值的元素不排)最后打印字符数组b[]。

(20分)

{charb[10],x;

chara[11]="

a5Bc3bwj9k"

;

inti,j,cnt=0;

for(i=0;

=9;

if(a[i]>

a[i]<

b[cnt++]=a[i];

cnt-1;

for(j=i+1;

cnt;

if(b[i]<

b[j])

{x=b[i];

b[i]=b[j];

b[j]=x;

%c,"

b[i]);

结果:

w,k,j,c,b,a

2、已知一组数组a[10]={11,12,9,3,6,8,23,24,33,34};

一组数组b[10];

编一程序,请将数组a[]中的偶数放入数组b[]中,并对数组b[]按从小到大顺序排序,(数组b[]中没有值的不排)最后打印数组b[]。

{intb[10],x;

inta[10]={11,12,9,3,6,8,23,24,33,34};

if(a[i]%2==0)

if(b[i]>

%d"

6,8,12,24,34

三、方程求解类

1、用迭代法求X的平方根Y,X由键盘输入,利用下列迭代公式计算:

初值Y0=X/2,精确到、|yn+1-yn|<

10-7.。

Yn+1=(yn+x/yn)/2

提示:

迭代法是反复代入法,把Yn代入迭代公式的右端,可以算出yn+1,然后把yn+1作为新的yn代入迭代公式,又可以得到新的yn+1.

{floaty1,y2,x;

y1=x/2;

y2=(y1+x/y1)/2;

while(fabs(y2-y1)>

1e-4)

{y1=y2;

y2=(y2+x/y2)/2;

\nx=%5.2f,y=%5.2f"

x,y2);

2、用二分法求方程2*x*x*x*x-4*x*x+3*x=0在(-10,10)附近的根。

#include"

/2*x*x*x-4*x*x*x+3*x=0/

floatf(floatx)

{floatr;

r=2*x*x*x-4*x*x+3*x;

returnr;

{floatx,f(floatx);

floata,b;

a=-10;

b=10;

while((b-a)/2>

{if(f((a+b)/2)==0){x=(a+b)/2;

if(f(a)*f((a+b)/2)>

0)a=(a+b)/2;

elseb=(a+b)/2;

x=(a+b)/2;

\nx=%5.2f,r=%5.2f"

x,f(x));

四、九九乘法口诀表

123456789

4681012141618

9121518212427

16。

36

81

 

{inti,j,k;

for(j=i;

%3d"

i*j);

表2

1*1=1

2*1=22*2=4

3*1=33*2=63*3=9

4*1=4…………………4*4=16

……………………

9*1=92*9=18……………..9*9=81

For(i=1;

{For(j=1;

=I;

Printf(“%d*%d=%d”,I,j,i*j);

五、求解三角面积

1、输入3个实数,编程判断能否构成三角形,若能,说明是何种三角形(等边、等腰、直角、一般)并计算其面积。

利用公式area=sqrt(s(s-a)(s-b)(s-c)),s=(a+b+c)/2).

math.h"

{floata,b,c,area,s;

%f,%f,%f"

a,&

b,&

if(a+b>

c&

a+c>

b&

b+c>

a)

{if(a==b&

b==c)printf("

等边"

elseif(a==b&

b!

=c||a==c&

a!

=b||b==c&

=b)printf("

等腰"

else

if(a*a+b*b==c*c||a*a+c*c==b*b||)c*c+b*b==a*aprintf("

直角"

一般"

s=(a+b+c)/2;

area=sqrt(s*(s-a)*(s-b)*(s-c));

\n%f"

area);

no"

}

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

当前位置:首页 > PPT模板 > 可爱清新

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

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