C++作业7

原创 2016年06月02日 12:50:09

项目一:素数和回文

</pre><pre name="code" class="cpp">/*    
* 文件名称:kpii    
* 作    者:张宇恒       
* 完成日期:2016  年  6   月  2  日      
* 版 本 号:v1.0      
* 对任务及求解方法的描述部分:编制2个返回值为int型的函数,用于判断参数是否为素数和回文,调用函数回答以下问题(请包括在一个main()函数中完成,输出时,用明显的提示语,说明正在完成哪个任务。)
* 问题描述:求素数,回文数,回文素数。   
* 程序输出:素数,回文数,回文素数   
* 问题分析:判断素数,回文数,回文素数   
* 算法设计:略   
*/      
#include<iostream>
using namespace std;
int isprimer(int i)
{
	int n=0;
	for(int j=1;j<=i;j++)
		if(i%j==0)
			n++;
		if(n==2)
			return 1;
		else
			return 0;
}
int ispalindrome(int n)
{
	int t,s,a,b;
	if(n<10)
		return 1;
	if(n<100&&n>9)
	{
		t=n/10;
		s=n%10;
		if(t==s)
			return 1;
		else
			return 0;
	}
	if(n<1000&&n>99)
	{
		a=n/100;
		b=n%10;
		if(a==b)
			return 1;
		else
			return 0;
	}
}
void main()
{
	int n,m,k=0,f,q=0,a[100],b[100];
	cin>>n;
	cout<<"素数是:"<<endl;
	for(int i=1;i<n;i++)
	{
		m=isprimer(i);
		if(m==1)
		{
			cout<<i<<" ";
			cout<<"\t";
			b[k]=i;
			k++;
			if(k%7==0)
				cout<<endl;
			f=ispalindrome(i);
			if(f==1)
			{
				a[q]=i;
				q++;
			}
		}
	}
	cout<<endl;
	cout<<"回文数是:"<<endl;
	int g=0;
	for(int j=0;j<n;j++)
	{
		f=ispalindrome(j);
		if(f==1)
		{
			cout<<j<<" ";
			cout<<"\t";
			g++;
			if(g%7==0)
				cout<<endl;
		}
	}
	cout<<endl;
	cout<<"回文素数是:"<<endl;
	int h=0;
	for(i=0;i<q;i++)
	{
		cout<<a[i]<<" ";
		cout<<"\t";
		h++;
		if(h%7==0)
			cout<<endl;
	}
	cout<<endl;
	cout<<"逆素数是:"<<endl;
	int e,p,c,d;
	for(i=0;i<k;i++)
	{
		if(b[i]<10)
			cout<<b[i]<<"\t";
		if(b[i]<100&&b[i]>9)
		{
			e=b[i]/10;
			p=b[i]%10;
			c=10*p+e;
			for(j=0;j<k;j++)
			{
				if(c==b[j])
					cout<<b[i]<<"\t";
			}
		}
		if(b[i]>99)
		{
			e=b[i]/100;
			p=b[i]/10-10*e;
			c=b[i]%10;
			d=100*c+10*p+e;
			if(isprimer(d)==1)
				cout<<b[i]<<"\t";
		}
	}
}


项目2:最大公约和和最小公倍数


/*    
* 文件名称:kpii    
* 作    者:张宇恒       
* 完成日期:2016  年  6   月  2  日      
* 版 本 号:v1.0      
* 对任务及求解方法的描述部分:从键盘中输入两个整数,求这两个整数的最大公约数和最小公倍数,最大公约数采用的算法是辗转相除法(具体算法可用百度)。其中编写自定义函数实现求最大公约数和最小公倍数
* 问题描述:求最大公约数和最小公倍数;   
* 程序输出:最大公约数和最小公倍数  
* 问题分析:略   
* 算法设计:略   
*/      
#include<iostream>
using namespace std;
int f(int m,int n)
{
	int t;
	if(m<n)
	{
		f(n,m);
	}
	else
	{
		while(n!=0)
		{
			t=m%n;
			m=n;
			n=t;
		}
		return m;
	}
}
void main()
{
	int a,b,c,d;
	cout<<"输入两个整数a,b:";
	cin>>a>>b;
	c=f(a,b);
	d=a*b/c;
	cout<<"最大公约数"<<c<<endl;
	cout<<"最小公倍数"<<d<<endl;
}





算法设计作业7

第七周作业: 338. Counting Bits 解题思路: 338. Counting Bits Given a...
  • sachikossr
  • sachikossr
  • 2017年04月15日 21:09
  • 81

C++上机作业7

1.特殊三位数 #include using namespace std; int fun(int x) { int i,m=1; for(i=x;i>0;i--) ...
  • challengexin
  • challengexin
  • 2016年06月06日 00:27
  • 180

C++上机作业7

项目3:特殊三位数 #include int fun(int x) { int i,m=1; ...
  • yangliu1995
  • yangliu1995
  • 2016年06月05日 20:50
  • 106

2013年大一上学期的C++大作业 学生信息管理系统

main.cpp #include #include #include #include "function.h" using namespace std; int main() { p...
  • u012725244
  • u012725244
  • 2015年04月11日 19:47
  • 1546

C++课程设计作业

4、模拟智能交通信号灯系统  设计一个智能信号灯系统,在十字路口控制东西南北四个方向交通信号,当然是红灯停绿灯行了, 一般情况是四个方向每次绿灯亮30秒,只不过在绿灯熄灭后亮3秒黄灯再转红...
  • u014042940
  • u014042940
  • 2014年06月11日 15:32
  • 969

C++期末大作业

实现一个工资管理系统 一、内容 1.题目《小型公司工资管理系统》设计 2.设计说明与要求 (1) 公司主要有5类人员:文秘、技术经理、技术员、销售员、销售经理。要求存储这些...
  • u013928645
  • u013928645
  • 2014年06月21日 20:57
  • 1461

C++ 作业7 函数复习

一、项目一 数组素数排序#include using namespace std; void sort(int p[], int n); //数组排序 bool prime...
  • LSL469683874
  • LSL469683874
  • 2016年06月05日 23:17
  • 117

OJ刷题---弟弟的作业

题目要求: 输入代码: #include #include//strlen必备头文件 #include//atoi(char )必备头文件 #include//isdigit(st...
  • linhaiyun_ytdx
  • linhaiyun_ytdx
  • 2015年08月20日 20:41
  • 846

c++大作业之ATM的模拟程序

#include #include using namespace std; int main() { int x=123456; char y[20]="123456",b[20],...
  • u013930762
  • u013930762
  • 2014年06月21日 13:43
  • 545

c++第四次作业 继承和派生

[cpp] view plain copy 在CODE上查看代码片派生到我的代码片   /*     * 文件名称:hj.cpp     * 作    者:仲海亮  * 完成日期:2015 年...
  • zhllf
  • zhllf
  • 2016年05月06日 10:29
  • 332
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++作业7
举报原因:
原因补充:

(最多只允许输入30个字)