c++-求调试一回文数程序,运行老出错

问题描述

求调试一回文数程序,运行老出错
#include
#include
#include
using namespace std;
int Bit(int n);
int CircleNum(int m);
int bit[16];
int ij=0k=0;

int main()
{
int leftright;
cout<<""请输入最小值:"";
cin>>left;
cout<<""请输入最大值:"";
cin>>right;
for(i=left;i {
if(CircleNum(i)&&Bit(i))
{
cout if(i%10==0)
cout }
else
cout }
return 0;
}
int CircleNum(int m)
{
int t=10;
int n=0c=0;
for(t;t {
n+=1;
}
int a[n+1];
for(i=n;i>=0;i--)
{
a[i]=m/((int)pow(10i));
m=m%((int)pow(10i));
}
int mid=(n+1)/2;
for(j=0;j {
if(a[j]==a[n-j])
c+=1;
}
if(c==(n/2)+1)
return true;
else
return false;
}
int Bit(int n)
{
int s;
for(i=0;i {
bit[i]=n%2;
n/=2;
if(n==1)
{
n=0;
}
}
for(i=16;i>=0;--i)
{
s+=bit[i]*((int)pow(10i));
}
if(CircleNum(s))
return true;
else
return false;
}

解决方案

int * a = new int[n+1];

解决方案二:
还有别的错

解决方案三:

 #include<iostream>#include<iomanip>#include<math.h>using namespace std;int main(){    int leftright;    cout<<""请输入最小值:"";    cin>>left;    cout<<""请输入最大值:"";    cin>>right;    char temp[100];    for(int i=left;i<=right;i++)    {        itoa(i temp 10);        int n = strlen(temp);        int j = 0;        for (; j < n / 2; j++)        {            if (temp[j] != temp[n - 1 - j]) break;        }        if (j == n / 2) cout << i << endl;    }    return 0;}
时间: 2024-09-04 10:31:31

c++-求调试一回文数程序,运行老出错的相关文章

求1O~1000之间的回文数

一个数是不是回文数,先将其数字分离,用一数组a存放,然后将相应数字进行比较.为此引入一标志变量flag,其值为1表示是回文数,为0表示不是回文数. 程序如下: /*程序8-1S,求lO~1000之间的回文数*/ main() {int i,X: int a[8],j: int b,e: int flag; for(i=10; i<1000l i++) {j=O:x=i;/*将数字分离,用一数组存放*/ while(x>O) {a[j]=x%10; x/=1O: j++: } flag=1:/*

c语言-C语言求回文数,满足m,m*m和m*m*m均为回文数

问题描述 C语言求回文数,满足m,m*m和m*m*m均为回文数 C语言求回文数,满足m,m*m和m*m*m均为回文数 编程求出11~999之间的回文数 解决方案 http://zhidao.baidu.com/link?url=J6jUedovjtgkY_S7HCLan1mMkWtPOuAMp_UOyQhknhcPebh_fAYjMrATK4snNimhu9gZev0tFUGuTFGCnAGHwa 参考

c++-写一个程序,筛选出10到1000的回文数

问题描述 写一个程序,筛选出10到1000的回文数 能不能帮忙看看,c++的,我是学c#的,不太会,做一个源程序 解决方案 #include <stdio.h> int main() { int m,n,k; for(m=1;m<=1000;m++) { k=m; n=0; while(k>0) { n=n*10+(k%10); k=k/10; } if(m==n) printf("%d ", m); } return 0; } 解决方案二: http://co

c语言-特殊回文数,大神们帮忙看一看,为什么编译通过而不会运行

问题描述 特殊回文数,大神们帮忙看一看,为什么编译通过而不会运行 123321是一个非常特殊的数,它从左边读和从右边读是一样的. 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n . 输入格式 输入一行,包含一个正整数n. 输出格式 按从小到大的顺序输出满足条件的整数,每个整数占一行. 样例输入 52 样例输出 899998 989989 998899 #include int main() { int a,b,c,d,e,f,n,m; scanf("%dn&quo

C++第12周项目4——用函数解决素数、回文数等

课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565 [项目4-回文.素数]  编制一个返回值为bool型的函数isPrimer(),用于判断参数是否为素数,isPalindrome()用于判断参数是否是回文数,调用函数回答以下问题(可以分别编制几个程序完成,也可以在一个main()函数中完成,输出时,用明显的提示语,说明正在完成哪个任务.) (1)输出10000以内的所有素数.(2)输出10000以内的所有回文数.(3)输

利用数组,实现回文数的判断

任务:利用数组,实现回文数的判断 #include<iostream> using namespace std; bool isPalindrome(int); int main() { int m,n; cout<<"求多少以内的回文数?"<<endl; cin>>m; for(n=1;n<=m;++n) if(isPalindrome(n)) cout<<n<<" "; return

C++回文数及素数问题计算方法_C 语言

本文实例讲述了C++回文数及素数问题计算方法.分享给大家供大家参考,具体如下: /* * 作 者: 刘同宾 * 完成日期:2012 年 11 月 16 日 * 版 本 号:v1.0 * * 输入描述: 编制一个返回值为bool型的函数isPrimer(),用于判断参数是否为素数,isPalindrome()用于判断参数是否是回文数,调用函数回答以下问题(可以分别编制几个程序完成,也可以在一个main()函数中完成,输出时,用明显的提示语,说明正在完成哪个任务.) (1)输出10000以内的所有素

javascript-js判断五位数为回文数

问题描述 js判断五位数为回文数 用求余的方法判断一个五位数是否为回文数,num/10000%10,求具体代码 解决方案 function isPlain(num){ var first = parseInt(num/10000); var last = num%10; if(first == last && parseInt((num - first*10000)/1000) == parseInt((num-last)/10)%10){ return true; }else{ retu

C语言中判断一个数是否是回文数

注:回文数即数字顺着和反着是同一个数! 看了郝斌老师的C语言视频,虽然还只看了80多个,但是还是有一些体会,编程应该养成良好的编程风格,至少到现 在为止写的这些小程序都应该有下面这样一个过程: 1,流程:(知道程序是按照怎样的顺序运行的) 2,功能:(理解程序的作用) 3,试数:(我个人简单的理解为测试过程,把自己当作计算机去执行程序) /* 2012年4月20日 10:36:23 判断一个数是否是回文数 */ #include <stdio.h> int main(void) { int v