苏小红C语言第四版第七章课后习题练习(7.3——7.6)

 1 #include<stdio.h>
  2 int Comparenum(int x, int y){
  3     int z;
  4     z=x>=y?x:y;//三元运算符比较大小,条件成立则返回x值,否则返回y值;
  5     return z;
  6 }
  7 int main()
  8 {
  9     int num1, num2;    
 10     printf("please input two numbers:\n");
 11     scanf("%d%d", &num1, &num2);
 12     printf("the max number is:%d\n",Comparenum(num1, num2));
 13 
 14     return 0;
 15 }

 注意:(本次习题答案其实存在缺陷,并没有对输入的值进行类型的判断,如果输入小数会无法比较,等后续学习之后再来完善。)

 

 

  1 #include<stdio.h>
  2 int LCM(int x, int y){
  3     int z = 0;
  4     int l = 0;
  5     z = x>=y?y:x;

  6     for(int i = 1;i <= z;i++){
  7         if(x%i == 0 && y%i == 0){
  8             l = i;
  9         }
 10     }
 11     return l;
 12 }
 13 int main()
 14 {
 15     int a, b;

 16     printf("please input your number:\n");
 17     scanf("%d%d", &a, &b);
 18     printf("The Least Common Multiple is:%d", LCM(a, b));
 19 
 20     return 0;
 21 }

 

 7.5

  1 #include<stdio.h>
  2 int Fact(int x){
  3     int z = 1;
  4     for(int i = 1;i <= x;i++){
  5         z*=i;
  6     }
  7     return z;
  8 }
  9 
 10 int main()
 11 {   
 12     int num;
 13     do{                   //do循环判断输入数字是否为大于 0 的数;
 14         printf("please input a number:\n");
 15         scanf("%d", &num);
 16         printf("the factorial is:%d\n", Fact( num ));
 17     }while(num <= 0);      //条件判断;
 18 
 19     
 20     return 0;
 21 }

 7.6

  1 #include<stdio.h>
  2 int Fact(int x){
  3     int z = 1;
  4     int sum = 0;
  5     int j, i;
  6     for(j = x;j >= 1;j--){   //阶乘数字不断递减直到等于1; 
  7         for(i = 1, z = 1;i <= j;i++){    //相应阶乘数字具体的阶乘算法;
  8             z*=i;
  9         }
 10         sum+=z;     //每个阶乘相加;
 11     }
 12     return sum;
 13 }
 14 
 15 int main()
 16 {
 17     int num;
 18     
 19     do{
 20         printf("please input a number:\n");
 21         scanf("%d", &num);
 22         printf("the factorial sum is:%d\n", Fact( num ));
 23     }while(num <= 0);
 24 
 25     
 26     return 0;
 27 }

 (只需要修改阶乘Fact()函数的内容,增加相加求和的代码即可)

##作为初学者自己练习写的代码,如有错误敬请指正!

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值