C语言程序大学学习的程序均有.docx

上传人:b****7 文档编号:9553212 上传时间:2023-02-05 格式:DOCX 页数:123 大小:36.36KB
下载 相关 举报
C语言程序大学学习的程序均有.docx_第1页
第1页 / 共123页
C语言程序大学学习的程序均有.docx_第2页
第2页 / 共123页
C语言程序大学学习的程序均有.docx_第3页
第3页 / 共123页
C语言程序大学学习的程序均有.docx_第4页
第4页 / 共123页
C语言程序大学学习的程序均有.docx_第5页
第5页 / 共123页
点击查看更多>>
下载资源
资源描述

C语言程序大学学习的程序均有.docx

《C语言程序大学学习的程序均有.docx》由会员分享,可在线阅读,更多相关《C语言程序大学学习的程序均有.docx(123页珍藏版)》请在冰豆网上搜索。

C语言程序大学学习的程序均有.docx

C语言程序大学学习的程序均有

一:

顺序结构

实验一顺序结构程序设计

4-1、求半径为10的圆面积。

#include"stdio.h"

main()

{

floatr,s;

printf("\nr:

");

scanf("%f",&r);

s=3.14*r*r;

printf("s=%.2f",s);

}

4-2、华氏温度和摄氏温度的转换(f=9/5*c+32)

[A]摄氏==>华氏

#include"stdio.h"

main()

{

floatc,h;

printf("\nHuaShi:

");

scanf("%f",&h);

c=(h-32)*5/9;

printf("SheShi:

%.2f",c);

}

[B]华氏==>摄氏

#include"stdio.h"

main()

{

floatc,f;

printf("\nHuaShi:

");

scanf("%f",&f);

c=(f-32)*5/9;

printf("SheShi:

%.2f",c);

}

4-3、已知并联电路的两个分电阻,求总电阻。

#include"stdio.h"

main()

{

floatr1,r2,r;

printf("\nr1,r2:

");

scanf("%f,%f",&r1,&r2);

r=r1*r2/(r1+r2);

printf("r=%.2f",r);

}

4-4、已知三角形两边及夹角的角度,求三角形的面积。

#include"stdio.h"

#include"math.h"

#definepi3.1415926

main()

{

floata,b,c,s;

printf("\na,b,c:

");

scanf("%f,%f,%f",&a,&b,&c);

s=a*b*sin(c*pi/180)/2;

printf("s=%.2f",s);

}

4-5、输入一个百位整数,反序输出。

#include"stdio.h"

main()

{

intx,y,gw,sw,bw;

printf("\nx:

");

scanf("%d",&x);

bw=x/100;

sw=(x/10)%10;

gw=x%10;

y=gw*100+sw*10+bw;

printf("%d",y);

}

4-6、交换两个变量中的值。

[?

方法1?

]

#include"stdio.h"

main()

{

inta=1,b=2,t;

t=a;a=b;b=t;

printf("\na=%d,b=%d",a,b);

}

[?

方法2?

]

#include"stdio.h"

main()

{

inta=1,b=2;

a=a+b;b=a-b;a=a-b;

printf("\na=%d,b=%d",a,b);

}

二:

选择结构

实验二选择结构程序设计

5-1、求半径为10的圆面积。

(if结构)

#include"stdio.h"

main()

{

floatr,s;

printf("\nr:

");

scanf("%f",&r);

if(r>0)

{

s=3.14*r*r;

printf("s=%.2f",s);

}

else

printf("rwrong!

");

}

5-2、已知三角形的三边,求其面积。

(if结构)

#include"stdio.h"

#include"math.h"

main()

{

floata,b,c,t,s;

printf("\na,b,c:

");

scanf("%f,%f,%f",&a,&b,&c);

if(a>0&&b>0&&c>0&&a+b>c&&b+c>a&&a+c>b)

{

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

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

printf("s=%.2f",s);

}

else

printf("wrong!

");

}

5-3、求并联电路的总电阻。

要求可以判断0或负电阻的错误。

#include"stdio.h"

main()

{

floatr1,r2,r;

printf("\nr1,r2:

");

scanf("%f,%f",&r1,&r2);

if(r1>0&&r2>0)

{

r=r1*r2/(r1+r2);

printf("r=%.2f",r);

}

else

if(r1<0||r2<0)

printf("-error");

else

printf("0error");

}

5-4、输入一个三位整数,反序输出。

(if结构)

#include"stdio.h"

main()

{

intx,y,gw,sw,bw;

printf("\nx:

");

scanf("%d",&x);

if(x>=100&&x<1000)

{

if(x%10!

=0)

{

bw=x/100;

sw=(x/10)%10;

gw=x%10;

y=gw*100+sw*10+bw;

printf("%d",y);

}

else

printf("wrong0");

}

else

printf("outrange!

");

}

5-5、求两个数的大数。

[?

方法1?

]

#include"stdio.h"

main()

{

inta,b,c;

printf("\na,b:

");

scanf("%d,%d",&a,&b);

if(a>b)

c=a;

else

c=b;

printf("c=%d",c);

}

[?

方法2?

]

#include"stdio.h"

main()

{

inta,b,c;

printf("\na,b:

");

scanf("%d,%d",&a,&b);

c=a;

if(b>a)

c=b;

printf("c=%d",c);

}

5-6、输入三个数,降序输出。

#include"stdio.h"

main()

{

inta,b,c,t;

printf("\na,b,c:

");

scanf("%d,%d,%d",&a,&b,&c);

if(a

if(a

if(b

printf("%d,%d,%d",a,b,c);

}

5-7、根据重量求运输费用(用三种方法)。

[?

方法1?

]并列单分支

#include"stdio.h"

main()

{

floatw,p;

printf("\nw:

");

scanf("%f",&w);

if(w<=0)

printf("weighterror");

if(w>0&&w<=20)

{p=2*w;printf("p=%f",p);}

if(w>20)

{p=2*20+(w-20)*3;printf("p=%f",p);}

}

[?

方法2?

]分支嵌套

#include"stdio.h"

main()

{

floatw,p;

printf("\nw:

");

scanf("%f",&w);

if(w<=0)

printf("weighterror");

else

{

if(w<=20)

p=2*w;

else

p=2*20+(w-20)*3;

printf("p=%f",p);

}

}

[?

方法3?

]阶梯分支

#include"stdio.h"

main()

{

floatw,p;

printf("\nw:

");

scanf("%f",&w);

if(w>20)

{

p=2*20+(w-20)*3;

printf("p=%f",p);

}

elseif(w>0)

{

p=2*w;

printf("p=%f",p);

}

else

printf("weighterror");

}

5-8、将百分制转化为五分制。

#include"stdio.h"

main()

{

floatfs,x;

printf("\nfs:

");

scanf("%f",&fs);

if(fs>=0&&fs<=100)

switch((int)(fs/10))

{

case10:

case9:

printf("A");break;

case8:

printf("B");break;

case7:

printf("C");break;

case6:

printf("D");break;

case5:

case4:

case3:

case2:

case1:

case0:

printf("E");

}

else

printf("Outrange");

}

5-9、输入一个日期,判别该日期为当年的第几天。

#include"stdio.h"

main()

{

intyear,month,day,s;

printf("\nyear,month,day:

");

scanf("%d,%d,%d",&year,&month,&day);

s=day;

switch(month-1)

{

case11:

s=s+30;

case10:

s=s+31;

case9:

s=s+30;

case8:

s=s+31;

case7:

s=s+31;

case6:

s=s+30;

case5:

s=s+31;

case4:

s=s+30;

case3:

s=s+31;

case2:

if((year%4==0&&year%100!

=0)||year%400==0)

s=s+29;

else

s=s+28;

case1:

s=s+31;

}

printf("\ns=%d",s);

}

三:

循环结构

实验三、通项数列、图形、递推数列

1、求s=1+3+5+7+9+...+99的和。

?

方法1:

通项法

#include"stdio.h"

main()

{

inti,s;

s=0;

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

s=s+(2*i-1);

printf("\ns=%d",s);

}

?

方法2:

递推法

#include"stdio.h"

main()

{

inti,s,t;

s=0;t=1;

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

{

s=s+t;

t=t+2;

}

printf("\ns=%d",s);

}

2、求s=1-1/2+1/3-1/4+...,共50项的和。

?

方法1:

通项法

#include"stdio.h"

main()

{

inti;

floats,fh;

s=0;fh=1;

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

{

s=s+fh/i;

fh=-fh;

}

printf("\ns=%f",s);

}

?

方法2:

递推法

#include"stdio.h"

main()

{

inti;

floats,fh,t;

s=0;fh=1;t=1;

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

{

s=s+fh/t;

t=t+1;

fh=-fh;

}

printf("\ns=%f",s);

}

3、已知pi/4=1-1/3+1/5-1/7+...,当最后一项小于1E-6时求pi的近似值。

?

方法1:

通项法

#include"stdio.h"

main()

{

longinti;

floatfh,s;

i=1;s=0;fh=1;

while(1.0/(2*i-1)>1e-6)

{

s=s+fh/(2*i-1);

i++;fh=-fh;

}

printf("\npi=%f",4*s);

}

?

方法2:

递推法

#include"stdio.h"

main()

{

floatfh,s,t;

s=0;t=1;fh=1;

while(1/t>1e-6)

{

s=s+fh/t;

t=t+2;fh=-fh;

}

printf("\npi=%f",4*s);

}

4、求s=1+3+5+7+9+...,一直加到和大于2000时为止,求和在2000以内时的最大项。

?

方法1:

通项法

#include"stdio.h"

main()

{

ints,i;

s=0;i=1;

while(s<2000)

{

s=s+(2*i-1);

i++;

}

printf("\n%d",2*(i-2)-1);

}

?

方法2:

递推法

#include"stdio.h"

main()

{

ints,t;

s=0;t=1;

while(s<2000)

{

s=s+t;

t=t+2;

}

printf("\nt=%d",t-4);

}

5、设计程序求s=1!

+2!

+3!

+...+10!

的和。

?

方法1:

通项法

#include"stdio.h"

main()

{

inti,j;longs,t;

s=0;

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

{

t=1;

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

t=t*j;

s=s+t;

}

printf("\ns=%ld",s);

}

?

方法2:

递推法

#include"stdio.h"

main()

{

inti;longs,t;

s=0;t=1;

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

{

t=t*i;

s=s+t;

}

printf("\ns=%ld",s);

}

6、求s=1/3+(1/3)*(2/5)+(1/3)*(2/5)*(3/7)+(1/3)*(2/5)*(3/7)*(4/9)+...前20项和。

#include"stdio.h"

main()

{

inti;

floats,t,t1=1,t2=3;

t=t1/t2;s=0;

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

{

s=s+t;

t1=t1+1;t2=t2+2;

t=t*t1/t2;

}

printf("\ns=%f",s);

}

7、已知e=1+1/1!

+1/2!

+1/3!

+...+1/n!

(设有10项),求e的值。

#include"stdio.h"

main()

{

inti;floats,t;

s=1;t=1;

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

{

s=s+1/t;

t=t*(i+1);

}

printf("\ns=%f",s);

}

8、已知sin(x)=x-x^3/3!

+x^5/5!

-x^7/7!

+...,求最后一项绝对值小于1e-6为止时的正弦值。

#include"stdio.h"

#include"math.h"

main()

{

inti;

floats,x,t1,t2;

printf("\nx:

");scanf("%f",&x);

i=1;s=0;t1=x;t2=1;

while(fabs(t1/t2)>=1E-6)

{

s=s+t1/t2;

i++;

t1=t1*x*x*(-1);

t2=t2*(2*i-1)*(2*i-2);

}

printf("\ns=%f",s);

}

9、求s=2+22+222+2222+22222+222222。

#include"stdio.h"

main()

{

longs,t;inti;

i=1;s=0;t=2;

while(i<=6)

{

s=s+t;

i++;

t=t*10+2;

}

printf("\ns=%ld",s);

}

10、求费波那契数列前20项的和,并输出该数列。

?

方法1:

平移双项

#include"stdio.h"

main()

{

inti,s,f1,f2;

i=1;f1=f2=1;s=0;

while(i<=10)

{

printf("\n%d\n%d",f1,f2);

s=s+f1+f2;

i++;

f1=f1+f2;

f2=f2+f1;

}

printf("\ns=%d",s);

}

?

方法2:

平移单项

#include"stdio.h"

main()

{

inti,s,t,f1,f2;

f1=f2=1;s=0;

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

{

printf("\n%d",f1);

s=s+f1;

t=f1;

f1=f2;

f2=t+f1;

}

printf("\ns=%d",s);

}

11、求s=2+3/2+5/3+8/5+13/8+21/13+…共20项的和。

#include"stdio.h"

main()

{

inti,fz,fm;

floats,t;

s=0;fz=2;fm=1;

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

{

printf("\n%d/%d",fz,fm);

s=s+(float)fz/fm;

t=fm;

fm=fz;

fz=t+fm;

}

printf("\ns=%f",s);

}

12、求小牛数列前18项和,并输出该数列。

?

方法1:

平移三项

#include"stdio.h"

main()

{

inti,f1,f2,f3,s;

s=0;f1=f2=f3=1;

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

{

printf("\n%d\n%d\n%d",f1,f2,f3);

s=s+f1+f2+f3;

f1=f1+f3;

f2=f1+f2;

f3=f2+f3;

}

printf("\ns=%d",s);

}

?

方法2:

平移双项

#include"stdio.h"

main()

{

inti,f1,f2,f3,s,t;

s=0;f1=f2=f3=1;

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

{

printf("\n%d\n%d",f1,f2);

s=s+f1+f2;

t=f2;

f2=f1+f3;

f1=f3;

f3=t+f2;

}

printf("\ns=%d",s);

}

?

方法3:

平移单项

#include"stdio.h"

main()

{

inti,f1,f2,f3,s,t;

s=0;f1=f2=f3=1;

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

{

printf("\n%d",f1);

s=s+f1;

t=f2;

f2=f3;

f3=f1+f2;

f1=t;

}

printf("\ns=%d",s);

}

13、在屏幕上输出由“*”号组成的n行正三角形。

*

***

*****

*******

*********

***********

#include"stdio.h"

main()

{

inti,j,n;

printf("\nn=");scanf("%d",&n);

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

{

printf("\n");

for(j=1;j<=(80-2*i-1)/2;j++)printf("");

for(j=1;j<=2*i-1;j++)printf("*");

}

}

14、在屏幕上输出由“*”号组成的8行倒三角形。

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

**

**

**

**

**

**

*

#include"stdio.h"

main()

{

inti,j,n;

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

{

printf("\n");

for(j=1;j<=10+i;j++)printf("");

for(j=1;j<=16-(2*i-1);j++)

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

printf("*");

else

printf("");

}

}

15、输出下面的平行四边形数字阵

12345

23456

34567

45678

56789

#include"stdio.h"

main()

{

inti,j;

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

{

printf("\n");

for(j=1;j<=2*i;j++)printf("");

for(j=i;j<=i+4;j++)

printf("%2d",j);

}

}

16、输出下面的数字三角形。

1

23

345

4567

56789

#include"stdio.h"

main()

{

inti,j;

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

{

printf("\n");

for(j=i;j<=2*i-1;j++)

printf("%d",j);

}

}

17、输出下面的数字正三角形。

1

121

12321

1234321

123454321

...

12345678987654321

#include"stdio.h"

main()

{

inti,j;

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

{

printf("\n");

for(j=1;j<=10-i;j++)printf("");

for(j=1;j<=2*i-1;j++)

if(j<=i)

printf("%d",j);

else

printf("%d",2*i-j);

}

}

18、在屏幕正中输出n行的字母三角形。

A

BC

CDE

DEFG

EFGHI

FGHIJK

GHIJKLM

#include

main()

{

inti,k,m,n,j;

printf("n=");

scanf("%d",&n);

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

{

for(j=1;j<=40-i;j++)printf("");

for(j=1;j<=i;j++)printf("%2c",64+i-1+j);

printf("\n");

}

第6章循环程序设计

(2)

1、九九乘法表

main()

{

inti,j;

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

{

printf("\n");

for(j=1

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

当前位置:首页 > PPT模板 > 其它模板

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

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