计算机思维与C程序设计-第7章扩展实例.docVIP

  • 1
  • 0
  • 约1.71千字
  • 约 4页
  • 2025-01-05 发布于广东
  • 举报

计算机思维与C程序设计-第7章扩展实例.doc

扩展实例7-1:

编写一个函数,将三个数按由小到大的顺序排列并输出。在main函数中输入三个数,调用该函数完成这三个数的排序。

#include?stdio.h?

void?main()?

{

int?a,?b,?c;?

void?paixu(int?a,int?b,int?c);?

printf(输入三个数:);?

scanf(%d%d%d,a,b,c);?paixu(a,b,c);??}???

void?paixu(int?a,int?b,int?c)?{int?flag;??if(ab)????

{??

flag=a;?

a=b;????????

b=flag;

}?

if(ac)?????

{??

flag=a;????????a=c;????????c=flag;??

}?

if(bc)?????

{??

flag=b;????????b=c;????????c=flag;??

}?

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

}?

扩展实例7-2:

#includestdio.h

longFact(intn);

intmain()

{

intm;

longret;

printf(Inputm:);

scanf(%d,m);

ret=Fact(m);

if(ret==-1)/*增加对函数返回值的检验*/

printf(Inputdataerror!\n);

else

printf(%d!=%ld\n,m,ret);

return0;

}

/*函数功能:用迭代法计算n!当n=0时,返回n!的值;否则返回-1*/

longFact(intn)

{

inti;

longresult=1;

if(n0)/*增加对函数入口参数合法性的检查*/

{

return-1;

}

else

{

for(i=2;i=n;i++)

result*=i;

returnresult;

}

}

扩展实例7-3:

#includestdio.h

longFunc(intn);

intmain()

{

inti,n;

printf(Inputn:);

scanf(%d,n);

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

{

printf(%d!=%ld\n,i,Func(i));

}

return0;

}

longFunc(intn)

{

autolongp=1; /*定义自动变量*/

p=p*n;

returnp;

}

扩展实例7-4:

#includestdio.h

longFunc(intn);

intmain()

{

inti,n;

printf(Inputn:);

scanf(%d,n);

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

{

printf(%d!=%ld\n,i,Func(i));

}

return0;

}

longFunc(intn)

{

staticlongp=1; /*定义静态局部变量*/

p=p*n;

returnp;

}

扩展实例7-5:

编程求1+2+……+100的和。

int?add(int);??

main()?

{?

int?num=1,sn;?

sn=add(num);?

printf(%d\n,sn);?getch();?

}

int?add(int?num)?

{?

static?int?sn;?

sn+=num;?

if(num==100)

return?sn;?

add(++num);?

}

文档评论(0)

1亿VIP精品文档

相关文档