标题:为什么程序输不出结果呢,求教
只看楼主
lianjiecuowu
Rank: 3Rank: 3
来 自:安徽
等 级:论坛游侠
帖 子:152
专家分:107
注 册:2011-5-20
结帖率:85.71%
 问题点数:0 回复次数:16 
为什么程序输不出结果呢,求教
#include <iostream>
#include <cmath>
using namespace std;
bool number(int a);
int main()
{
    int i;
    int n;
    int s(0);
    cout<<"请输入一个整数:"<<endl;
    cin>>n;
    while(number(n)){
     
    for(i=0;i<10;i++)
    {
        if(n>0)
        {
               
            s=s*10+n%10;
             n/=10;
        }
        else break;
        
   }
   

   }
   
   if(n==s)
   cout<<n<<"\t"<<s<<endl;
   
    system("pause");
    return 0;
}
bool number(int a)
{
     if(a<=1)
     return false;
     else
     {
          for(int i=2;i<sqrt(a);i++)
          {
             if(a%i==0)
             return false;
          }
         
     }
     return true;
     
     
}

本程序已经测试过,没语法错误
搜索更多相关主题的帖子: system return 
2011-05-20 09:12
其实、不想说
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:122
专家分:156
注 册:2011-3-3
得分:0 
这是C++吧,好像看不太懂,
2011-05-20 09:16
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
得分:0 
目的是什么,这代码是C++的啊。

My life is brilliant
2011-05-20 09:16
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
得分:0 
这说明 s 始终不等于 n,那就是循环那里出了问题。自己看吧,这种问题还需要发贴?

My life is brilliant
2011-05-20 09:22
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
得分:0 
我看了半天不知道楼主到底要什么功能

我只知道那个子函数是判断是不是素数

还请楼主阐述一下你的程序的功能

                                         
===========深入<----------------->浅出============
2011-05-20 09:41
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
得分:0 
回复 5楼 laoyang103
楼主的意思有可能是:输入一个数,判断它是否为素数,倒序是不是和本身一样,例如:11,倒着输出也是11,相同,则输出,而13,倒着输出是31,不相同,则不输出。
我不懂c++,所以不知道哪里出问题了。
2011-05-20 10:03
zaixuexi
Rank: 12Rank: 12Rank: 12
来 自:上海
等 级:火箭侠
威 望:8
帖 子:858
专家分:3233
注 册:2010-12-1
得分:0 
程序代码:
#include <stdio.h>
#include <math.h>

unsigned char IsPrimeNumber(int a);

int main()
{
    int i;
    int n;
    int s = 0;
    printf("input your number");
    scanf("%d", &n);
    __asm push n
    while (IsPrimeNumber(n)) {
        for(i=0; i<10; i++) {
            if(n>0) {
                s=s*10+n%10;
                n/=10;
            }
            else break;
        }
    }
    __asm pop n
    if (n==s)
        printf("%d\t%d", n, s);
    else
        printf("not special prime num");
    getchar();
    return 0;
}

unsigned char IsPrimeNumber(int a)
{
    int i;
    if(a<=1)
        return 0;
    else {
        for (i=2; i<sqrt(a); i++) {
            if (a%i==0)
                return 0;
        }
    }
    return 1;
}

技术问题,请不要以短消息方式提问
2011-05-20 10:59
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
得分:0 
姜还是老的辣

My life is brilliant
2011-05-20 11:03
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
得分:0 
哦  如果判断一个数的倒序就要用字符串 来判断

不要求余 除10之类的东西了

                                         
===========深入<----------------->浅出============
2011-05-20 11:10
lianjiecuowu
Rank: 3Rank: 3
来 自:安徽
等 级:论坛游侠
帖 子:152
专家分:107
注 册:2011-5-20
得分:0 
回复 6楼 hjywyj
是啊,就是这个目的,

Sharp your mind!
2011-05-20 11:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-340504-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.171200 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved