c语言《程序设计基础》课后习题参考答案与解析 - 下载本文

t= t*10 +a; }

printf(“Sn=%ld\\n”,Sn); }

4、打印出所有的“水花仙数”,所谓“水花仙数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一个水花仙数。 解:程序如下

#include “stdio.h” main( ) {

int t , a , b , c , n ; /*变量n为统计水花仙数的个数*/ n=0 ;

for(t=100 ; t<1000 ; t++) { a = t /100 ; b = ( t – a*100)/10 ; c = t ;

if( a*a*a + b*b*b +c*c*c = = t ) { n++ ; if( n%6 = = 0 ) printf(“\\n”) ; printf(“]” , t ) ; } }

16

}

6、每个苹果0.8元 ,第一天买2个苹果,第二天开始,每天买前一个的2倍,直至购买的苹果个数达到不超过100的最大值。编写程序求每天平均花多少钱? 解: 程序如下 #include “stdio.h” main( ) {

int day , num , sum ; float money , every ; sum = 0 ; num = 2;

for(day=1 ; num<100 ; ) { sum = sum + num ; day++ ; num = num *2 ; }

money = sum * 0.8 ; every = money/day ; printf(“ every = %f \\n” , every ) ; }

7、变成完成用一元人民币换成一分、二分、五分的所有兑换方案,即输出所有满足搭配要求的1分币个数,2分币个数,5分币个数。

17

解:程序如下: #include “stdio.h” main( ) {

int one ,two , five ;

for(one=0 ; one<=100 ; one++) for(two=0 ; two<=50 ; two++) for(five=0 ; five<=20 ; five++)

if( one + two*2 + five *5 = =100)

printf(“one=%d , two=%d , five=%d\\n”,one , two , five); }

第5章 模块化程序设计---函数

一、单选题

1、 B 2、 B 3、 A 4、 A 5、 D 6、 D 7、 B 8、 B 9、 B 10、A 二、编程题

1、已知三角形的三边长,编一实现求三角形面积的功能函数。说明:用海伦公式来求面积,但要注意输入的三边长要符合构成三角形的条件。海伦公式为:

SΔ=

s.(s?a).(s?b).(s?c) (其中:s=(a+b+c)/2)

解:程序如下 #include “stdio.h” #include “math.h”

18

float Area( int a , int b , int c) {

float s , area ; s = (float)( a+ b+ c)/2 ; if( (a+b>c)&&(a-b)

int a , b , c ; float area ;

float Area(int , int , int );

printf(“请输入三角形的三边长\\n”); scanf(“%d%d%d”, &a , &b, &c); area = Area( a , b , c) ; if(area!=0)

printf(“ area=%f\\n”, area); eles

printf( “ error!\\n ”) ;

19

}

2、写一个判断素数的函数,在主函数输入一个整数,输出是否素数的信息。 解:程序如下 #include “stdio.h” int prime( int n ) {

int t , a=1 ;

for(t =2 ; t <= n/2 ; t++) if( n%t = =0) {

a= 0 ; break ; } return a ; } main( ) { int n ;

printf(“ input a number:\\n”) ; scanf(“%d”, &n ) ; if(prime(n)==1)

printf(“ %d is prime\\n” , n ); eles

printf(“%d is not prime\\n” , n) ;

20