博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
作业7
阅读量:5840 次
发布时间:2019-06-18

本文共 1129 字,大约阅读时间需要 3 分钟。

第3题  :使用函数输出指定范围内的完数:输入两个正整数m和n(1<=m,n<=1000),输出m~n之间的所有完数,完数就是因子和与它本身相等的数。要求定义并调用函数factorsum(number),它的功能是返回 number的因子和,例如,factorsum(12)的返回值是16(1+2+3+4+6)。试编写相应的程序。

#include<stdio.h>

#include<math.h>
int main(void)
{
 int m,n,i;
 int factorsum(int number);
 printf("输入两个正整数m和n:");
 scanf("%d%d",&m,&n);
 for(i=m;i<=n;i++)
  if(i==factorsum(i))
   printf("%d\n",i);
  return 0;
}
 int factorsum(int number)
{
  int i,sum;
  if(number==1)
   return 1;
  sum=0;
  for(i=1;i<=number/2;i++)
   if(number%i==0)
    sum=sum+i;
   return sum;

}

第6题:

使用函数输出一个整数的逆序数:输入一个整数,将它逆序输出。要求定义并调用函数reverse(number),它的功能是返回number的逆序数,例如,reverse(12345)的返回值是54321。试编写相应的程序。

//*使用函数输出一个整数的逆序数*//

#include<stdio.h>

int main(void)
{
 int i,t;
 int reverse(int number);
 printf("输入一个整数:");
 scanf("%d",&i);
 t= reverse(i);
 printf("%d\n",t);
 return 0;
}
int reverse(int number)
{
 int flag,t;
 if(number>=0)
  flag=1;
 else
 {
  flag=-1;
 number=-number;
 }
 t=0;
 do{
  t=t*10+number%10;
  number=number/10;}
 while
  (number!=0);
 return flag*t;
}

心得:感觉这次作业好难,拿到题目无从下手,做作业的过程中发现自己对这方面的知识掌握的还是不够好,导致作业完成的特别慢,最后还是借助了外界工具才得以完成。要掌握子函数的定义并调用,课下还得多加练习,对课上讲过的程序没有很好的消化。

转载于:https://www.cnblogs.com/mayanyan/p/mayan7.html

你可能感兴趣的文章
JS学习随笔记录1
查看>>
Linux的inode的理解
查看>>
构建大型企业网络-三层交换与VTP协议
查看>>
神啊,6小时30分钟,完成想要的所有Lync测试
查看>>
禁用php函数的设置
查看>>
IOS项目实战-登录解析
查看>>
假期为是否辞职做好数据参考
查看>>
启用ESXi的SSH服务
查看>>
总是弹出visual studio 实时调试器 三种解决办法
查看>>
Java程序员从笨鸟到菜鸟之(九十二)深入java虚拟机(一)——java虚拟机底层结构详解...
查看>>
SpringMVC POST和GET问题
查看>>
perl:warning:Setting locale failed解决办法
查看>>
git学习笔记
查看>>
php中类的继承
查看>>
Tomcat在Linux上的安装与配置--1
查看>>
网银互联获杭州市云计算协会理事单位授牌
查看>>
perl 将XML格式转换为html、txt、pod格式
查看>>
sed基础篇
查看>>
搭建 Apache RocketMQ 单机环境
查看>>
第一章 实体框架入门
查看>>