#include <iostream>
#include <iomanip> // setw
#include <algorithm> // sort
#include <cmath>
#define pi 3.14159
using namespace std;
void display_01();
void display_02();
void display_03();
void display_04();
void display_05();
void display_06();
void display_07();
void display_08();
void display_09();
void display_10();
void display_11();
void display_12();
int main()
{
//display_01();
//display_02();
//display_03();
//display_04();
//display_05();
//display_06();
//display_07();
//display_08();
//display_09();
//display_10();
//display_11();
display_12();
}
/**
*(找最大数)
* 一个确定一次销售竞赛优胜者的程序,它输入每个销售人员的销售量,销售量最多的销售人员将赢得这次竞赛的胜利。
* 要求编写 C++ 程序,通过一条 while 语句判定和打印用户输入的 10 个数中的最大数。你的程序应用到下面 3 个变量:
* counter:能计数到 10 的计数器(即用于记录已输入数的个数,并用于判断何时处理完了 10 个数);
* number:当前输入到程序的数;
* largest:迄今为止找到的最大数。
*/
void display_01()
{
int counter = 0;
double number = 0.0;
double largest = 0.0;
cin >> number;
largest = number;
while(counter != 9)
{
cin >> number;
largest = number > largest ? (number) : (largest);
// if(number > largest)
// {
// largest = number;
// }
// else
// {
// largest = largest;
// }
counter ++;
}
cout << largest << endl;
}
/**
* 表格输出
* 图中内容如下:(竖割线请忽略)
* N | 10*N | 100*N | 1000*N
* 1 | 10 | 100 | 1000
* 2 | 20 | 200 | 2000
* 3 | 30 | 300 | 3000
* 4 | 40 | 400 | 4000
* 5 | 50 | 500 | 5000
*/
void display_02()
{
cout << "N\t10*N\t100*N\t1000*N" << endl;
int i = 1;
while(i <= 5)
{
cout << i << "\t" << setw(2) << 10 * i << "\t" << setw(3) << 100 * i << "\t" << setw(4) << 1000 * i << endl;
i ++;
}
}
/**
* 找10个数中最大的两个
*/
void display_03()
{
// int a[10];
// for(int i = 0;i < 10;i++)
// {
// cin >> a[i];
// }
// sort(a,a + 10);
// cout << "The largest number is " << a[9] << endl;
// cout << "The second largest number is " << a[8] << endl;
}
/**
* (打印图形)
*/
void display_04()
{
unsigned int count = 1;
while(count <= 10)
{
cout << ( count % 2 ? "****" : "++++++++" ) << endl;
/* If count is odd, count % 2 is non-zero (true), so "****" is printed;
otherwise, count % 2 is zero (false), so "++++++++" is printed.*/
++count;
}
}
/**
* (打印图形)
*/
void display_05()
{
unsigned int row = 10;
while(row >= 1)
{
unsigned int column = 1;
while(column <= 10)
{
cout << (row % 2 ? "<" : ">") ;
++column;
}
--row;
cout << endl;
}
}
/**
* 星号正方形
* 编写一个程序,它能够读入一个正方形的边长,
* 然后打印出一个由星号和空格组成的、边长为刚读入边长的空心正方形。
* 该程序应可以处理边长在1~20之间的所有正方形。
*/
void display_06()
{
int l;
cout << "请输入正方形边长(1~20): ";
cin >> l;
// 边长必须在1~20之间
while(l < 1 || l > 20)
{
cout << "输入错误,请重新输入正方形边长(1~20): ";
cin >> l;
}
for(int i = 0; i < l; ++i)
{
if(i == 0 || i == l - 1)
{
// 打印第一行和最后一行星号
for(int j = 0; j < l; ++j)
{
cout << "*";
}
cout << endl;
}
else
{
// 打印中间部分
cout << "*";
for(int j = 1; j <= l - 2; ++j)
{
cout << " ";
}
cout << "*" << endl;
}
}
}
/**
* 判断是否为回文数(有问题)
*/
void display_07()
{
// int n;
// cout << "Please enter a number: ";
// cin >> n;//12321
// bool isPalindrome;
// int s = 0;
// int l;
// while(n != 0)
// {
// l = n % 10;
// s = s * 10 + l;
// n /= 10;
//
// if(s != 0 && s != n)
// {
// isPalindrome = false;
// break;
// }
// }
//
// if(isPalindrome)
// {
// cout << "是回文数" << endl;
// }
// else
// {
// cout << "不是回文数" << endl;
// }
}
/**
* 将二进制转化为十进制数
*/
void display_08()
{
int n;
cout << "请输入一个二进制数:";
cin >> n;
int s = 0;
int base = 1;
while(n != 0)
{
int l = n % 10;
s += l * base;
n /= 10;
base *= 2;
}
cout << "十进制数为:" << s << endl;
}
/**
* 打印棋盘图案(暴力粘贴)
* * * * * * * * *
* * * * * * * *
* * * * * * * * *
* * * * * * * *
*/
void display_09()
{
for(int i = 1; i <= 8; i++)
{
cout << "* ";
if(i == 8)
{
cout << endl;
}
}
cout << ' ';
for(int i = 1; i <= 8; i++)
{
cout << "* ";
if(i == 8)
{
cout << endl;
}
}
for(int i = 1; i <= 8; i++)
{
cout << "* ";
if(i == 8)
{
cout << endl;
}
}
cout << ' ';
for(int i = 1; i <= 8; i++)
{
cout << "* ";
if(i == 8)
{
cout << endl;
}
}
for(int i = 1; i <= 8; i++)
{
cout << "* ";
if(i == 8)
{
cout << endl;
}
}
cout << ' ';
for(int i = 1; i <= 8; i++)
{
cout << "* ";
if(i == 8)
{
cout << endl;
}
}
for(int i = 1; i <= 8; i++)
{
cout << "* ";
if(i == 8)
{
cout << endl;
}
}
cout << ' ';
for(int i = 1; i <= 8; i++)
{
cout << "* ";
if(i == 8)
{
cout << endl;
}
}
}
/**
* 打印2的整数幂(完整显示前十九个)
*/
void display_10()
{
int i = 1;
while(true)
{
cout << pow(2,i) << " " ;
if(i % 10 == 0)
{
cout << endl;
}
i++;
}
}
/**
* 打印圆的直径周长面积
*/
void display_11()
{
double r;
cout << "Please enter the radius of circle: ";
cin >> r;
cout << "The diameter is " << 2 * r << endl;
cout << "The circumference is " << 2 * pi * r << endl;
cout << "The area is " << pi * r * r << endl;
}
/**
* 阶乘(精度不够)
*/
void display_12()
{
int n;
cin >> n;
if(n == 0)
{
cout << "阶乘: " << 1 << endl;
}
int l = 1;
for(int i = 1;i <= n;i++)
{
l *= i;
}
cout << "阶乘: " << l << endl;
cout << "******************************" << endl;
int m;
cout << "请输入你需要的精度(项数):" << endl;//e = 1 + 1/1! + 1/2! + 1/3! + ……
cin >> m;
double s = 1;
double o = 1;
for(int i = 1; i < m; i++)
{
for(int j = 1; j <= i; j++)
{
o *= j;
}
s += 1 / o;
}
cout << "e 的近似值为:" << s << endl;
cout << "*******************************" << endl;
int x;
cout << "请输入未知数:" << endl;
cin >> x;
int p;
cout << "请输入你需要的精度(项数):" << endl;//e = 1 + 1/1! + 1/2! + 1/3! + ……
cin >> p;
double w = 1;
double r = 1;
for(int i = 1; i < p; i++)
{
for(int j = 1; j <= i; j++)
{
r *= j;
}
w += pow(x ,i) / r;
}
cout << "e^x 的近似值为:" << w << endl;
}
ch04 exercise1(注:07回文数 08进制转化)
最新推荐文章于 2024-08-21 18:16:36 发布