C语言程序设计习题4.docx

上传人:b****6 文档编号:9089392 上传时间:2023-02-03 格式:DOCX 页数:13 大小:18.90KB
下载 相关 举报
C语言程序设计习题4.docx_第1页
第1页 / 共13页
C语言程序设计习题4.docx_第2页
第2页 / 共13页
C语言程序设计习题4.docx_第3页
第3页 / 共13页
C语言程序设计习题4.docx_第4页
第4页 / 共13页
C语言程序设计习题4.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

C语言程序设计习题4.docx

《C语言程序设计习题4.docx》由会员分享,可在线阅读,更多相关《C语言程序设计习题4.docx(13页珍藏版)》请在冰豆网上搜索。

C语言程序设计习题4.docx

C语言程序设计习题4

习题4参考解答

1.写出下面函数的运行结果。

#include

voidfx701(intk,intn,floata);

intmain()

{

intk=1,n=5;

floata=3.2,b=8.5;

printf("调用前:

k=%dn=%da=%.2fb=%.2f\n",k,n,a,b);

fx701(k,n,a);

printf("调用后:

k=%dn=%da=%.2fb=%.2f\n",k,n,a,b);

return0;

}

voidfx701(intk,intn,floata)

{

intq=100;

floatb,x=6.2;

k+=q;n*=q;a-=x;b=3.5*a;

printf("函数中:

k=%dn=%da=%.2fb=%.2f\n",k,n,a,b);

}

解:

调用前:

k=1n=5a=3.20b=8.50

函数中:

k=101n=500a=-3.00b=-10.50

调用后:

k=1n=5a=3.20b=8.50

2.编写一个函数,实现从键盘输入一个整数,如果该整数为素数,则返回1,否则返回0。

解:

#include

#include

intIs_prime(inti)

{

intj=0;

for(j=2;j

{

if(0==(i%j))

{

return0;

}

}

return1;

}

intmain()

{

inti;

printf("Pleaseinputanumber:

");

scanf("%d",&i);

if(1==Is_prime(i))

{

printf("%disaprime.\n",i);

}

else

printf("%disnotaprime.\n",i);

system("pause");

return0;

}

程序运行结果如下:

Pleaseinputanumber:

13↙

13isaprime.

Pleaseinputanumber:

8↙

8isnotaprime.

3.设计两个函数,分别求矩形的周长和面积,并在主函数中调用这两个函数。

解:

#include

floatarea(floata,floatb)

{

floats;

s=a*b;

return(s);

}

floatzc(floata,floatb)

{

floatp;

p=2*(a+b);

return(p);

}

intmain()

{

floata,b,s,p;

printf("请输入长方形的边长a,b:

");

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

s=area(a,b);

p=zc(a,b);

printf("长方形的周长为p=%f,长方形的面积为s=%f",p,s);

}

程序运行情况如下:

请输入长方形的边长a,b:

34↙

长方形的周长为p=14.000000,长方形的面积为s=12.000000

4.编写一个函数求一个整数n的阶乘,在主函数中计算并输出10!

的值。

解:

#include

floatfc(intn)

{

floats;

if(n==1||n==0)s=1;

elses=n*fc(n-1);

return(s);

}

intmain()

{

floatk;

k=fc(10);

printf("10!

=%f\n",k);

return0;

}

程序运行结果如下:

10!

=3628800.000000

5.已知函数fun2的原型说明为“longfun2(intm,intn);”,调用该函数计算m~n的和(其中n>m>0),例如:

若m=5,n=20,则计算5+6+7+8+…+20的值。

要求在主函数中通过键盘输入m和n的值,并输出和的值。

解:

#include

longfun2(intm,intn)

{

longs;

inti;

s=0;

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

s=s+i;

return(s);

}

intmain()

{

intn,m,sum;

printf("请输入m,n的值n>m:

\n");

scanf("%d%d",&m,&n);

sum=fun2(m,n);

printf("sum=%d\n",sum);

return0;

}

程序运行结果如下:

请输入m,n的值n>m:

520↙

sum=200

6.编写一个函数重复打印给定的字符n次。

解:

#include

voidfun2(charm,intn)

{

inti;

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

printf("%c",m);

printf("\n");

}

intmain()

{

charm;

intn;

printf("请输入给定的字符\n");

scanf("%c",&m);

printf("请输入打印的次数\n");

scanf("%d",&n);

fun2(m,n);

return0;

}

程序运行结果如下:

请输入给定的字符

*↙

请输入打印的次数

5↙

*****

7.写出程序的运行结果,并上机验证其结果。

#include

voidfun1()

{

intx=5;

printf("x=%d\n",x);

}

voidfun2(intx)

{

printf("x=%d\n",++x);

}

intmain()

{

intx=2;

fun1();

fun2(x);

printf("x=%d\n",x);

return0;

}

解:

x=5

x=3

x=2

8.指出下列程序中各变量的存储属性,并写出程序的执行结果。

(1)#include

voidadd(inti);

intmain()

{

inti=1;

add(i);

printf("main:

i=%d\n",i);

return0;

}

voidadd(inti)

{

i=i+3;

printf("add:

i=%d\n",i);

}

解:

add:

i=4

main:

i=1

其中,i是自动型变量。

(2)#include

inti=1;

voidadd1();

intmain()

{

add1();

printf("i=%d\n",i);

return0;

}

voidadd1()

{

i=i+3;

}

解:

i=4

其中,该变量是外部型变量。

(3)#include

voidadd2(inti);

intmain()

{

inti=2;

add2(i);

add2(i);

return0;

}

voidadd2(inti)

{

staticintj=5;

j=i+j;

printf("j=%d\n",j);

}

解:

j=7

j=9

其中,变量i是静态型变量。

9.编写程序实现以下图形的输出。

解:

#include

voidmain()

{

inti,j,k;

for(i=1;i<=5;i++)//先打印上边的四行

{

for(j=1;j<=5-i;j++)//控制要打印的空格数量

printf("");

for(k=1;k<=2*i-1;k++)//控制要打印的星号数

printf("*");

printf("\n");

}

}

10.写出程序的运行结果。

#include

#defineX5

#defineYX+1

#defineZY*X/2

intmain()

{

inta;

a=Y;

printf("%d%d\n",Z,--a);

return0;

}

解:

75

11.编写一个函数,将一个十进制整数转换为二进制数。

解:

#include

voidmain()

{

longnum;

intozb();

printf("请输入一个十进制数:

");

scanf("%ld",&num);

printf("%ld的二进制数为:

",num);

ozb(num);

}

intozb(longnum)

{

inta[32]={0},i=0;

while(num>=1)

{

a[i]=num%2;

num=num/2;

i++;

}

for(i=i-1;i>=0;i--)

{

printf("%d",a[i]);

}

printf("\n");

return(a[i]);

}

程序运行结果如下:

请输入一个十进制数:

5↙

5的二进制数为:

101

12.编写一个函数,找出任意整数的全部因子。

解:

#include

intN;

voidmain()

{

voidyz();

scanf("%d",&N);/*输入N的值*/

yz(N);

}

voidyz()

{

inti,p=1;

for(i=1;i

{

if(N%i==0)/*判断是否是N的因子,如果是则加上*/

{

p=i;

printf("%d",p);

}

}

}

程序运行结果如下:

15↙

13515

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

当前位置:首页 > 高等教育 > 农学

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

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