爱问知识人 爱问教育 医院库

我编的C 程序帮忙看下错再哪了

首页

我编的C++程序帮忙看下错再哪了

/*求1~10000之间所有满足各位数字的立方和等于他本身的数。e.g153=1^3+5^3+3^3*/
#include<stdio.h>
main(void)
{
 int m,x,y,n,p,g;
 p=0,m=n=1,x=1,y=1,g=0;
 while(m<=10000)
 {
  x=m;
  while(n)
  {
   n=x/10;
   y=x%10;
   g=y*y*y;
   p=p+g;
   x=n; 
  }
  if (p==m)
  {
   printf ("%d",m);
  }
  m++;
 }
} 




问题补充:还有这个,谢谢了
/*输入正整数n,输出2/1+3/2...的前N项的和,保留两位小数(该序列的从第2项起,每一项的分子是前一项分子与分母的和,分母是钱一项的分子)*/
#include<stdio.h>
int main(void)
{
 int a=2,b=1,x,n,m=1;
 double i,p=0;
 scanf("%d",&n);
 while(m<=n);
 {
  i=a*1.0/b;
  x=a;
  a=a+b;
  b=x;
  p=i+p;
  m++;
 }
 printf("%.2f",p);
 return 0;
}

提交回答
好评回答
  • 2009-10-17 09:03:39
    都是细节方面的问题。。。
    第一段代码,在while(n)上面要加一句p=0;  因为你缺少这一句,p值没有重置,所以p就不断地累加数值上去了,下面p==m这个条件语句基本上就不能符合了。
    第二段代码,while(m 
    main(void) 
    { 
    int m,x,y,n,p,g; 
    p=0,m=n=1,x=1,y=1,g=0; 
    while(m 
    int main(void) 
    { 
    int a=2,b=1,x,n,m=1; 
    double i,p=0; 
    scanf("%d",&n); 
    while(m<=n)
    { 
    i=a*1.0/b; 
    x=a; 
    a=a+b; 
    b=x; 
    p=i+p; 
    m++; 
    } 
    printf("%.2f\n",p); 
    return 0; 
    } 
    

    k***

    2009-10-17 09:03:39

类似问题

换一换
  • C/C++ 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 174-193
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):