/*
* 文件名称: 上机报告
* 作 者: 唐启智
* 完成日期: 2016 年 4 月 24 日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分: 要求写出1000以内的完数
* 输入描述: 无
* 问题描述: 判断是否是完数
* 程序输出: 输出1000以内所有的完数
* 问题分析:
* 算法设计: for循环语句
*/
#include<iostream>
using namespace std;
int main()
{
<span style="white-space:pre"> </span>int i,k,s(0),n(0);
<span style="white-space:pre"> </span>for(i=1;i<=1000;i++)
<span style="white-space:pre"> </span>{
<span style="white-space:pre"> </span>s=0;
<span style="white-space:pre"> </span>for(k=1;k<=i/2;k++)
<span style="white-space:pre"> </span>{
<span style="white-space:pre"> </span>if(i%k==0) s=s+k;
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>if(s==i)
<span style="white-space:pre"> </span>{
<span style="white-space:pre"> </span>n=n+1;
<span style="white-space:pre"> </span>cout<<i<<"是1000以内的第"<<n<<"个完数"<<"\n";
<span style="white-space:pre"> </span>}
<span style="white-space:pre"> </span>}
return 0;
} <pre name="code" class="cpp">
心得体会
这次编程序过程是非常艰辛的,自己检查了好多遍在那个判断是否为完数放在循环内还是放在循环外的问题上纠结许久,也问了老师很多次,最终两节课写成了这个代码。感觉自己对for循环语句领悟不够,还需要多加练习,多想多尝试。c++不是随便而学就可以搞得非常透彻的学科。仍需努力。
知识点总结