| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 434 人关注过本帖
标题:帮我看看这源代码的错误
只看楼主 加入收藏
a437453275
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2015-6-25
结帖率:0
收藏
已结贴  问题点数:10 回复次数:2 
帮我看看这源代码的错误
源代码帮我看错误#include<stdio.h>
 #include <math.h>
 bool Isprime(int num){
 if (num<=1)
   return false;
 for(int i=2;i<=sqrt(num);i++)
 {
   if(num%i==0)
    return false;
 }
 return true;
 }
 bool IsDaffodil(int num){
 int a=num/100,b=num/10%10,c=num%10;
 return num == a*a*a+b*b*b+c*c*c;
 }
 bool IsPerfect(int num){
 int n,i,a,b;
 for(b=0,i=1;i<=a/2;i++)
 if(!(a%i))b+=i;
 for(n=0,i=1;i<=b/2;i++)
 if(!(b%i))n+=i;
 if(n==a&&a<b)
 return num=a;
 }
 bool isPalindrome(int num){
 return num%10 == num/100;
 }
 void main(){
 int choose,i;
 while (true)
 {
   printf("==================菜单===============\n");
   printf("1 素数\n2 回文数\n3 水仙花数\n4 亲密数\n0 退出\n");
   printf("======================================\n");
   scanf("%d",&choose);
   switch (choose)
   {
   case 1:
    printf("1-3000之间的素数:\n");
    for (i=1;i<3000;i++)
     if (Isprime(i))
      printf("%-4d",i);
     printf("\n");
    break;
   case 2:
    printf("1-3000之间的回文数:\n");
    for (i=1;i<3000;i++)
     if (isPalindrome(i))
      printf("%-4d",i);
     printf("\n");
    break;
   case3:
    printf("1-3000之间的水仙花数:\n");
    for (i=1;i<3000;i++)
     if (IsDaffodil(i))
      printf("%-4d",i);
     printf("\n");
    break;
   case4:
    printf("1-3000之间的亲密数:\n");
    for (i=1;i<3000;i++)
     if (IsDaffodil(i))
      printf("%-4d",i);
     printf("\n");
    break;
   case 0:
    return;
    break;
   default:
    printf("输入错误!\n");
    break;
   }
 }
 }
搜索更多相关主题的帖子: return 源代码 include false 
2015-06-26 11:44
dq142
Rank: 1
等 级:新手上路
帖 子:12
专家分:7
注 册:2015-6-26
收藏
得分:5 
bool乱用......函数不能return int......

bool IsDaffodil(int num){
int a=num/100,b=num/10%10,c=num%10;
return num == a*a*a+b*b*b+c*c*c;
}

bool isPalindrome(int num){
return num%10 == num/100;
}
2015-06-26 12:08
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:5 
程序代码:
#include<stdio.h>
#include <math.h>
bool Isprime(int num){
if (num<=1)
   return false;
for(int i=2;i<=sqrt(num);i++)
{
   if(num%i==0)
    return false;
}
return true;
}
bool IsDaffodil(int num){
int a=num/100,b=num/10%10,c=num%10;
return num == a*a*a+b*b*b+c*c*c;
}
bool IsPerfect(int num){
int n,i,a,b;
for(b=0,i=1;i<=a/2;i++)
if(!(a%i))b+=i;
for(n=0,i=1;i<=b/2;i++)
if(!(b%i))n+=i;
if(n==a&&a<b)
return num=a;
}
bool isPalindrome(int num){
    if(num<10)return true;
    if(num<100){
        if(num/10==num%10)return true;
    }    
    else if(num<1000){
        if(num/100==num%10)return true;
    }
    return false; 
}                                                      
main(){
int choose,i;
bool flag=true;
while (flag)
{
   printf("==================菜单===============\n");
   printf("1 素数\n2 回文数\n3 水仙花数\n4 亲密数\n0 退出\n");
   printf("======================================\n");
   scanf("%d",&choose);
   switch (choose)
   {
   case 1:
    printf("1-3000之间的素数:\n");
    for (i=1;i<3000;i++)
     if (Isprime(i))
      printf("%-4d",i);
     printf("\n");
    break;
   case 2:
    printf("1-3000之间的回文数:\n");
    for (i=1;i<3000;i++)
     if (isPalindrome(i))
      printf("%-4d",i);
     printf("\n");
    break;
   case 3:
    printf("1-3000之间的水仙花数:\n");
    for (i=1;i<3000;i++)
     if (IsDaffodil(i))
      printf("%-4d",i);
     printf("\n");
    break;
   case 4:
    printf("1-3000之间的亲密数:\n");
    for (i=1;i<3000;i++)
     if (IsDaffodil(i))
      printf("%-4d",i);
     printf("\n");
    break;
   case 0:flag=false;
    break;
   default:
    printf("输入错误!\n");
    break;
   }
}
}

剑栈风樯各苦辛,别时冰雪到时春
2015-06-26 12:09
快速回复:帮我看看这源代码的错误
数据加载中...
 
   



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

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