当前位置:编程学习 > C/C++ >>

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语句

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,