C++编程问题,望高手解决
1、编写一个函数判断一个整数是否为素数。在主函数中输入一个整数,输出该整数是否为素数的信息。
2、编写两个函数,分别求两个整数m、n的最大公约数和最小公倍数。在主函数中输入两个整数,分别调用这两个函数求得结果并输出。求两个整数m、n的最大公约数和最小公倍数的算法提示如下:
(1)将m、n中的最大数赋给变量a,最小数赋给变量b。
(2)用大数a除以小数b,若余数c为0,则余数c为最大公约数,否则进行(3)。
(3)将小数b赋给a,余数c赋给b,再进行(2),直到余数等于0为止。
(4)最小公倍数=(m*n)/最大公约数。
例如:求20与14的最大公约数方法:20%14=6,14%6=2,6%2=0,则2为20与14的最大公约数。最小公倍数=20*14/2=140。
3、编写一个函数用递归的方法求1+2+3+4+…+n的值。在主函数中进行输入输出。
4、编写一个程序录入4个学生的语文,数学,外语,化学和物理5门成绩,采用函数的形式处理以下问题:(1)每个学生的平均分(2)按照四个分数段统计各 个分数段的学生人数(x<60)(60<=x<72)(72<=x<85)(85<=x<=100)并输出
5、编写以下对矩阵进行处理的函数:
⑴矩阵相加函数
⑵矩阵相乘函数
⑶将方阵顺时针旋转90°的函数
6、已有一按从小到大次序排序好的数组,现输入一数,要求按原来排序的规律将它插入到数组中。
7、输入一个5行5列的二维数组,编程实现:
(1) 求出其中的最大值和最小值及其对应的行列位置;
(2) 求出对角线上各元素之和。
答案:前3个题目写在一个函数里了!代码如下:
// Note:Your choice is C++ IDE
#include <iostream>
using namespace std;
#include <math.h>
void IsPrime(int n);
void Dlg(int m, int n);
int Sum(int n);
int main()
{
//int n;
//cin>>n;
//IsPrime(n);
//int a,b;
//cin>>a>>b;
//Dlg(a, b);
//cout<<Sum(100);
return 0;
}
void IsPrime(int n)
{
for(int i = 2; i <= sqrt(n)+1; i++)
{
if(n%i == 0)
{
break;
}
}
if(i < sqrt(n)+1)
{
cout<<"no"<<endl;
}
else
{
cout<<"Ok"<<endl;
}
}
void Dlg(int m, int n)
{
int a,b,c;
if(m > n)
{
a = m;
b = n;
}
else
{
a = n;
b = m;
}
while(c != 0)
{
c = a%b;
a = b;
b = c;
}
cout<<"最大公约数为:"<<a<<endl;
cout<<"最小公倍数为:"<<m*n/a<<endl;
}
int Sum(int n)
{
if(n == 1)
{
return 1;
}
else
{
return Sum(n - 1) + n;
}
}
上一个:谁能给些C++编程题目和答案啊!
下一个:菜鸟C++编程遇到的问题,while语句