C++第2次实验(函数题)

本文详细介绍了使用C++编写程序,输出100以内的素数、回文数、回文素数和可逆素数的过程。通过函数、循环等核心概念,展示了如何实现这些数学概念的程序化表达。

一、问题及代码:

/*  
* 文件名称:111.cpp  
* 作    者:李锐
* 完成日期:2016 年 3 月 12日  
* 版 本 号:v1.0  
* 对任务及求解方法的描述部分: 
* 输入描述:无  
* 问题描述:要求输出100内的素数、回文数、回文素数和可逆素数。
* 程序输出:略  
* 问题分析:略 
* 算法设计:略  
*/    
#include<iostream.h>
void main()
{
	int sushu(int a);
	int huiwen(int a);
	int huisu(int a);
	int keni(int a);
	int a;
    cout<<"输出100以内的素数:"<<endl;
	for(a=1;a<=100;a++)
		sushu(a);
	cout<<endl<<endl;
	cout<<"输出100以内的回文数:"<<endl;
	for(a=1;a<=100;a++)
		huiwen(a);
	cout<<endl<<endl;
	cout<<"输出100以内的回文素数:";
	for(a=1;a<=100;a++)
	{
		huisu(a);
	}
	cout<<endl<<endl;
	cout<<"输出100以内的可逆素数:"<<endl;
	for(a=1;a<=100;a++)
		keni(a);
	cout<<endl;
}
int sushu(int a)
{
    int b,sum=0;
        if(a==1||a==2)
			cout<<a<<" ";
        else
            for(b=2;b<a;b++)
			{
              if(a%b!=0)
              sum=sum+1;
              if(sum+2==a)
				  cout<<a<<" ";
			}
	return 0;
}

int huiwen(int a)
{
	int c,d;
    if(a<10)
	cout<<a<<" ";
	else
	  c=(a/10);
	  d=a-c*10;
    if(c==d)
	cout<<a<<" ";
	return 0;
}
int huisu(int a)
{
    int c,d;
    if(a<10)
	{
		int b,sum=0;
        if(a==1||a==2)
			cout<<a<<" ";
        else
            for(b=2;b<a;b++)
			{
              if(a%b!=0)
              sum=sum+1;
              if(sum+2==a)
				  cout<<a<<" ";
			}
	}
	else
	  c=(a/10);
	  d=a-c*10;
	  int b,sum=0;
	  for(b=2;b<a;b++)
	  { 
              if(a%b!=0)
              sum=sum+1;
              if(sum+2==a&&c==d)
				  cout<<a<<" ";
	  }
	  return 0;
}
int keni(int a)
{
	int h;int d;int e;
  if(a<10)
  {
	  int b,sum=0;
        if(a==1||a==2)
			cout<<a<<" ";
        else
            for(b=2;b<a;b++)
			{
              if(a%b!=0)
              sum=sum+1;
              if(sum+2==a)
				  cout<<a<<" ";
			}
  }
  else
      h=(a/10);
	  d=a-h*10;
	  e=d*10+h;
	  int b,sum=0,f=0;
	   for(b=2;b<a;b++)
		{
              if(a%b!=0)
              sum=sum+1;
	   }
	   for(b=2;b<e;b++)
	   {
		   if(e%b!=0)
			   f=f+1;
	   }
	   if(sum+2==a&&f+2==e)
		   cout<<a<<" ";
return 0;
}

二、运行结果:


三、心得体会:

在编写这一个程序题的过程中我遇到了许许多多的困难。但是在学长老师的帮助下,我还是得到了最终的结果。只要不放弃,总会写出来的。

四、知识点总结:

这道程序题包含了函数、循环等方面的知识,对我来说有很多的收获。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值