02.* 文件名称:Ex1-f.cpp 03.* 作 者: 刘杰 04.* 完成日期:2017年 3 月
(一)问题及代码、
(1)问题:
多分数段函数求值
从键盘输入x的值(要求为实型),根据下面的公式计算并输出y的值。
(2)代码
01./* 12 日 05.* 版 本 号:v1.0 06.* 对任务及求解方法的描述部分: 07.* 输入描述:输入X的值 08.* 问题描述: 09.* 程序输出:“y=” 10.* 问题分析:略 11.* 算法设计:略 12.*/ #include<iostream> #include<math.h> using namespace std; int main() { int y,x; cout<<"please input x=": cin>>x; { if(x<2) y=x; else if(2<=x<6) y=x*x+1; else if(6<=x<10) y=sqrt(x+1); else y=1/(x+1); } cout<<"y"<<y<<endl; return 0; } (二)运行结果、
(三)文题及代码、
(1)问题、
【项目7:输出完数】一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3,再如8的因子和是7(即1+2+4),8不是完数。编程找出1000以内的所有完数。(答案:6 28 496) 提示:首先从2到1000构造循环控制变量为i的外层循环。每次循环中,利用内嵌的循环逐个地求出i的因子,并累加起来(为提高效率,可能的因子从1到i/2),如果因子和等于i,则说明是完全数,输出。然后继续循环,考察i+1……
(2)代码、
/* 02.* 文件名称:Ex1-f.cpp 03.* 作 者: 刘杰 04.* 完成日期:2017年 3 月 12 日 05.* 版 本 号:v1.0 06.* 对任务及求解方法的描述部分: 07.* 输入描述:无 08.* 问题描述: 09.* 程序输出:“完数为:” 10.* 问题分析:略 11.* 算法设计:略 12.*/ #include<iostream> #include<math.h> using namespace std; int main() { int i,j,x; for(x=2;x<1000;x++) { for(j=0,i=1;i<x;++i) { if(x%i==0) j+=i; } { if(x==j) cout<<"完数为:"<<x<<endl; } } return 0; }
(四)运行结果、