西北师范大学期末考试c语言复习笔记代码部分Word文件下载.docx

上传人:b****5 文档编号:19449929 上传时间:2023-01-06 格式:DOCX 页数:15 大小:17.82KB
下载 相关 举报
西北师范大学期末考试c语言复习笔记代码部分Word文件下载.docx_第1页
第1页 / 共15页
西北师范大学期末考试c语言复习笔记代码部分Word文件下载.docx_第2页
第2页 / 共15页
西北师范大学期末考试c语言复习笔记代码部分Word文件下载.docx_第3页
第3页 / 共15页
西北师范大学期末考试c语言复习笔记代码部分Word文件下载.docx_第4页
第4页 / 共15页
西北师范大学期末考试c语言复习笔记代码部分Word文件下载.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

西北师范大学期末考试c语言复习笔记代码部分Word文件下载.docx

《西北师范大学期末考试c语言复习笔记代码部分Word文件下载.docx》由会员分享,可在线阅读,更多相关《西北师范大学期末考试c语言复习笔记代码部分Word文件下载.docx(15页珍藏版)》请在冰豆网上搜索。

西北师范大学期末考试c语言复习笔记代码部分Word文件下载.docx

&

year%100!

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

%d年是闰年.\n"

year);

3、画出各种三角形图案。

(这是用循环嵌套完成的,也可以用二维数组来输出更加直接简单,但是耗费系统资源较多。

{inti,j;

for(i=1;

6;

for(j=1;

30-i;

"

=2*i-1;

*"

4、多项式求和问题

12+22+222+…+2…2

#include<

ints,sum,n,i;

请输入n的值:

n);

sum=0;

s=0;

for(i=1;

=n;

{

s=s+2;

sum=sum+s;

}

sum=%d\n"

sum);

②求1!

+2!

+…+n!

intjc(intn)

inti,s=1;

s=s*i;

return(s);

s=1;

sum=sum+jc(i);

5、猴子摘桃

inti,sum=1;

10;

sum=(sum+1)*2;

5、百钱百鸡

intx,y,z,j=0;

Folleingarepossibleplanstobuy100fowlswith100Yuan.\n"

for(x=0;

x<

=20;

x++)/*外层循环控制鸡翁数*/

for(y=0;

y<

=33;

y++)/*内层循环控制鸡母数y在0~33变化*/

z=100-x-y;

/*内外层循环控制下,鸡雏数z的值受x,y的值的制约*/

if(z%3==0&

5*x+3*y+z/3==100)

/*验证取z值的合理性及得到一组解的合理性*/

%2d:

cock=%2dhen=%2dchicken=%2d\n"

++j,x,y,z);

6、打渔晒网

intmain()

inta[12]={0,31,28,31,30,31,30,31,31,30,31,30},d,m,i,n=0,c,b;

请输入月、日:

%d,%d"

m,&

d);

switch(m)

case1:

case3:

case5:

case7:

case8:

case10:

if(d>

31)

return(0);

case2:

28)

case4:

case6:

case9:

case11:

30)

=m;

n=n+a[i-1];

c=(n+d-1)%5;

b=(n+d-1)%7;

if(c<

=2)

打鱼\n"

else

晒网\n"

switch(b)

case0:

星期日\n"

break;

星期一\n"

星期二\n"

星期三\n"

星期四\n"

星期五\n"

星期六\n"

return(0);

7、利用面积法和随机数概率近似求出圆周率π。

time.h>

stdlib.h>

inti,m,n;

floatx,y,pi;

m=0;

n=0;

srand(time(0));

for(i=0;

=32767;

x=rand()/32767.0;

y=rand()/32767.0;

n++;

if(x*x+y*y<

=1)

m++;

pi=4.0*m/n;

%f\n"

pi);

8、解方程

1迭代法

迭代法开平方:

求平方根的迭代公式:

x1=1/2*(x0+a/x0)

  #include<

  voidmain()

  {

  doublea,x0,x1;

  printf("

Inputa:

  scanf("

%lf"

a);

//为什么在VC6.0中不能写成“scanf("

%f"

a);

”?

  if(a<

0)

Error!

  else

  x0=a/2;

  x1=(x0+a/x0)/2;

  do

  x0=x1;

  }while(fabs(x0-x1)>

=1e-6);

  }

Result:

sqrt(%g)=%g\n"

a,x1);

9、解方程

牛顿迭代法求方程的根2x^5+4x^2+3x-6=0在1附近的根

floatx1,x,f1,d1;

x1=1;

do

f1=2*pow(x1,5)+4*x1*x1+3*x1-6;

d1=10*pow(x1,4)+8*x1+3;

x=x1-f1/d1;

x1=x;

while(fabs(f1)>

1e-6);

x=%f\n"

x);

用二分法求方程2x^5+4x^2+3x-6=0在(0,1)上的根

floatx1,x2,x,y1,y;

x1=0;

x2=1;

y1=2*pow(x1,5)+4*x1*x1+3*x1-6;

x=(x1+x2)/2;

y=2*pow(x,5)+4*x*x+3*x-6;

if(y*y1<

x2=x;

else

{x1=x;

y1=y;

while(fabs(y)>

弦截法

9、排序

冒泡排序法(随即产生10个正整数,并按照从大到小的顺序排序)

inta[10],i,j;

srand(time(0));

原序列为:

for(i=0;

a[i]=rand()%100;

a[i]);

putchar('

\n'

8;

for(j=0;

9-i;

if(a[j]<

a[j+1])

a[j]+=a[j+1];

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

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

printf(“排序后的数列为:

\n”);

选择排序法

注意体会这两种排序法的区别(结合指针中的地址的概念)

inta[10],i,j,p;

排序前:

p=i;

for(j=1+i;

if(a[j]>

a[p])

p=j;

if(p!

=i)

a[i]+=a[p];

a[p]=a[i]-a[p];

a[i]-=a[p];

排序后\n"

10、魔方数

#include<

voidmain()

inta[15][15],i,j,k,n;

请输入一个正整数:

n;

i++)

j++)

a[i][j]=0;

j=n/2;

a[0][j]=1;

for(k=2;

k<

=n*n;

k++)

{i=i-1;

j=j+1;

if((i<

0)&

(j>

n-1))

i=i+2;

j=j-1;

}

{if(i<

i=n-1;

if(j>

n-1)

j=0;

if(a[i][j]==0)

a[i][j]=k;

else

{i=i+2;

}

{for(j=0;

%5d"

a[i][j]);

\n\n"

11、打擂台算法

选猴王

inta[30],i,s,n;

30;

a[i]=1;

i=0;

n=30;

while(n>

1)

s+=a[i];

if(s%3==0&

a[i]==1)

a[i]=0;

n--;

i++;

if(i==30)

if(a[i]==1)

猴王是:

%d\n"

12、关于字符串的统计问题(统计出一行字符串中包含多少大写字母、小写字母、数字、空格等。

voidmain()

charstring[20],i;

inta,b,c,d,j;

gets(string);

a=0;

b=0;

c=0;

d=0;

(i=string[j])!

='

\0'

;

if(i>

a'

z'

a++;

A'

Z'

b++;

0'

9'

c++;

if(i=='

'

d++;

小写字母的个数为:

a);

大写字母的个数为:

b);

数字的个数为:

c);

空格的个数为:

d);

13、汉诺塔问题

voidhanoi(intn,chara,charb,charc)

if(n==1)

%c-->

%c\n"

a,c);

hanoi(n-1,a,c,b);

hanoi(n-1,b,a,c);

hanoi(3,'

'

B'

C'

14、用梯形法求定积分s=dx

doublef(doublex)

doubley;

y=exp(-x*x);

return(y);

doubletxf(doublea,doubleb,intn)

doubleh,s,p=0,x;

inti;

h=(b-a)/n;

s=h*(f(a)+f(b))/2;

x=a+i*h;

p=p+f(x);

s=s+p*h;

returns;

voidmain()

doublea=0,b=1,s;

intn;

s=txf(a,b,1000);

s=%lf\n"

s);

15、递归输出三角形

voidfac(intn)

想想这个打出来的是一个什么样的三角形,如果要将这个三角形倒立输出,则应该怎么改最简单?

if(n>

fac(n-1);

请输入n:

fac(n);

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

当前位置:首页 > 法律文书 > 判决书

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

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