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

问题五十五: 输出10000以内的所有回文数

print?/* 程序头部注释开始(为避免提交博文中遇到的问题,将用于表明注释的斜杠删除了)      
* 程序的版权和版本声明部分      
* All rights reserved.      
* 文件名称: txt.c      
* 作    者: liuyongshui      
* 问    题:  输出10000以内的所有回文数 
* 问题来源:     
* 完成日期: 2013 年4 月17日      
* 版 本 号: V1.0      
*/     
 
#include <stdio.h> 
 
int  isPalindrome(int m);  //是回文数 
 
int main() 

    int i; 
 
    for(i=2; i<10000; i++) 
    { 
       if (isPalindrome(i) ) 
       { 
           printf("是回文素数有:%d\n", i); 
       } 
    } 
    
    return 0; 

 
int isPalindrome(int m) 

    int i=0; 
    int j; 
    int num; 
    int a[5]; 
     
     
    if(m>=10)    //检测大于10的回文数 
    { 
        num=m; 
        while(m)  //m==0时结束,次循环吧m的每一位存入数组中 
        { 
            a[i++]=m%10; 
            m=m/10; 
        } 
 
        for(j=i-1; j>=0; j--)    //检测是否为回文 
        { 
            if(a[j]!= num%10)  
            { 
                return 0;     //若有不同返回0 
            } 
            num=num/10; 
        } 
         
        return 1; 
    } 
     
    else   //小于10,肯定不是回文数 
    { 
         return 0; 
    } 

/* 程序头部注释开始(为避免提交博文中遇到的问题,将用于表明注释的斜杠删除了)    
* 程序的版权和版本声明部分    
* All rights reserved.    
* 文件名称: txt.c    
* 作    者: liuyongshui    
* 问    题:  输出10000以内的所有回文数
* 问题来源: 
* 完成日期: 2013 年4 月17日    
* 版 本 号: V1.0    
*/   

#include <stdio.h>

int  isPalindrome(int m);  //是回文数

int main()
{
    int i;

 for(i=2; i<10000; i++)
 {
    if (isPalindrome(i) )
    {
        printf("是回文素数有:%d\n", i);
    }
 }
  
 return 0;
}

int isPalindrome(int m)
{
    int i=0;
 int j;
 int num;
 int a[5];
   
 
    if(m>=10)    //检测大于10的回文数
 {
  num=m;
     while(m)  //m==0时结束,次循环吧m的每一位存入数组中
  {
      a[i++]=m%10;
   m=m/10;
  }

  for(j=i-1; j>=0; j--)    //检测是否为回文
  {
   if(a[j]!= num%10)
   {
       return 0;     //若有不同返回0
   }
   num=num/10;
  }
       
  return 1;
 }
 
 else   //小于10,肯定不是回文数
 {
      return 0;
 }
}   局部图

 \
 


 

补充:软件开发 , C语言 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,