c++实验1.1

一·问题及代码

/* 
* 文件名称: 素数与回文数的判定.cpp
* 作    者: 汤俊鹏
* 完成日期: 2016年03月11日 
* 平    台: visual c++ 6.0 
* 对任务及求解方法的描述部分:
(1)输出100以内的所有素数。
(2)输出100以内的所有回文数。
(3)输出100以内的所有回文素数。
(4)若一个素数的反序数仍为素数,则称它为可逆素数。求100以内的所有可逆素数。
* 输入描述: 输入一个整数n
* 程序输出: 按要求输出
* 问题分析: 分别编写两个函数并调用
* 算法设计: 注意判定素数和判定回文数的算法
* 程序代码如下:
*/  

#include<iostream>
using namespace std;
int main()
{   int isPrimer(int n);
    int isPalindrome(int n);
    int fun(int n);
	int n,i;
	cin>>n;
	cout<<n<<"以内的所有素数为:"<<endl;
	for(i=2;i<=n;i++)
		if(isPrimer(i)==1)  cout<<i<<" ";
	cout<<endl;

    cout<<n<<"以内的所有回文数为:"<<endl;
	for(i=2;i<=n;i++)
		if(isPalindrome(i)==1)  cout<<i<<" ";
	cout<<endl;

    cout<<n<<"以内的所有回文素数为:"<<endl;
	for(i=2;i<=n;i++)
		if(isPrimer(i)==1&&isPalindrome(i)==1) 
			cout<<i<<" ";
	cout<<endl;

	return 0;
}


int isPrimer(int n)     //判定素数函数,是返回1,不是,返回0
{   int f=1,i;
	for(i=2;i<n;i++)
		if(n%i==0)  { f=0; break;}
	return f;
}


int isPalindrome(int n)    //判定回文数函数,是返回1,不是,返回0,
{
	int a[100],i=0,f=1,m,r,x;
	m=n/10;
	r=n%10;
	while(m!=0)
	{
		a[i++]=r;
		r=m%10;
		m=m/10;
	}    
	a[i]=r;
	x=i;                 //以上将数据的每一位拆开,放入a[100]数组里
	for(i=0;i<=x;i++)
		if(a[i]!=a[x-i])  
		{  f=0; break;  }
	return f;
	
}
二·运行结果

c++实验1.1_第1张图片

三·心得体会

    首先要知道怎么判断素数,怎么判断回文数,根据算法,写出函数,然后调用函数。最后输出。以前写过素数和回文数相关题型,因此对我来说不难。

四·知识点总结

   了解c++的输入输出后,开始用c++编程,目前来说,基本上开头的预处理指令和输入(c>>)输出(c<<)与c不同之外,其他程序步骤形式都一样,以后将要用到类了,继续努力吧!




你可能感兴趣的:(C++)