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

来源:互联网 发布:数控车床编程g代码 编辑:程序博客网 时间:2024/06/05 02:29

一、问题及代码:

/*  * 文件名称: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;}

二、运行结果:


三、心得体会:

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

四、知识点总结:

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

0 0