您的位置:首页 > 编程语言 > C语言/C++

【分享】一些经典的C/C++语言基础算法及代码(三)

2017-07-25 20:18 621 查看
阅读到的一些经典C/C++语言算法及代码。在此分享。

简单的四则运算计算器

这个程序小改了一点,添加了Q退出计算功能

#include <iostream>
using namespace std;

int main()
{
float a, b;
char chr;
cout << "Choose operator either + or - or * or / : " << endl;
cin >> chr;
if(chr != 'Q')  //往复循环进行四则运算,若输入Q则退出.
{
cout << "Enter two operands: " << endl;
cin >> a >> b;
switch (chr)
{
case '+':
cout << a << " + " << b << " = " << a + b << endl;
return main();
case '-':
cout << a << " - " << b << " = " << a - b << endl;
return main();
case '*':
cout << a << " * " << b << " = " << a * b << endl;
return main();
case '/':
cout << a << " * " << b << " = " << a / b << endl;
return main();
case 'Q':
break;
default:
cout << "Error: Choose operator again! " << ends; //若有"+、-、*、/、Q"以外的输入,则重新运行程序。
return main();
}
}
return 0;
}

检查一个数能否分解为两个质数的和

列举法把一个数写成两个数之和,再验证哪些加数为质数

#include <iostream>
#include <math.h>
using namespace std;

int check(int n);
int main()
{
int i, n, flag = 0;
cout << "Enter a positive integer: " << endl;
cin >> n;
for(i = 2; i <= n / 2; ++i)
{
if(check(i) != 0)
{
if(check(n - i) != 0)
{
cout << n << " = " << i << " + " << n - i << endl;
flag = 1;
}
}
}
if(flag == 0)
cout << n << " can not be expressed as sum of two prime numbers. " << endl;
return 0;
}

//验证加数是否为质数
int check(int n)
{
int i, flag = 1;
for(i = 2; i <= sqrt(n); ++i)
if(n % i == 0)
flag = 0;
return flag;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: