当前位置: 代码迷 >> C语言 >> 死了都看不懂的运行错误??
  详细解决方案

死了都看不懂的运行错误??

热度:318   发布时间:2007-05-23 17:32:58.0
死了都看不懂的运行错误??
/*求S=2+2*2+2*2*2+....+n个2的值
大家看下我的算法对不?*/
#include<stdio.h>
#include<math.h>
int main()
{int i,sum,n;
printf("input n:");
scanf("%d",&n);
if(n==1)
{sum=2;
printf("%d",sum);
}
else
{sum=2;
for(i=2;i<=n;i++)
sum=sum+pow(2,i);
prinf("%d",sum);
}
return ;
}
gcc suan.c
/tmp/ccSkQxWa.o(.text+0x86): In function `main':
: undefined reference to `pow'
/tmp/ccSkQxWa.o(.text+0xb9): In function `main':
: undefined reference to `prinf'
collect2: ld returned 1 exit status
----------------解决方案--------------------------------------------------------
#include<stdio.h>
#include<math.h>
int main()
{int i,sum,n;
printf("input n:");
scanf("%d",&n);
if(n==1)
{sum=2;
printf("%d",sum);
}
else
{sum=2;
for(i=2;i<=n;i++)
sum=sum+pow(2,i);
prinf("%d",sum); //printf
}
return ;
}
----------------解决方案--------------------------------------------------------
回复:(心剑菩提)死了都看不懂的运行错误??

  首先我觉得你自己写这个相当的麻烦,然后就是没什么很大的错误.我把的你的程序修改了下,如下:
#include<stdio.h>
#include<stdlib.h>
#include<math.h>


int main()
{int i,sum,n;
printf("input n:");
scanf("%d",&n);
if(n==1)
{sum=2;
printf("%d\n",sum);
}
else if(n>1)
{sum=2;
for(i=2;i<=n;i++)
{
sum=sum+pow(2,i);
}
printf("%d\n",sum);
}
else
{
printf("error!");
}

system("pause");
return 0;
}

下面是我自己写的:
#include<stdio.h>
#include<stdlib.h>

int main(void)
{
int n,i,b=2,tn=2,sn=0;

printf("enter n:");
scanf("%d",&n);

for(i=1;i<=n;i++)
{
printf("t%d=%d\n",i,tn);
sn+=tn;
tn=tn*b;
}
printf("s%d=%d\n",n,sn);

system("pause");
return 0;
}

可以看看


----------------解决方案--------------------------------------------------------
#include<stdio.h>
#include<math.h>
int main()
{
int i,sum1,sum2,n;
printf("input n:");
scanf("%d",&n);
if(n==1)
{
sum1=2;
printf("%d",sum1);
}
else
{
sum1=2;
for(i=2;i<=n;i++)
sum2=sum1+pow(2,i);
printf("%d\n",sum2);
}
return 0;
}
可以拉!你试试
----------------解决方案--------------------------------------------------------
#include<stdio.h>
#include<math.h>
#include<stdio.h>
void main()
{
int i,sum,n;
printf("input n:");
scanf("%d",&n);
if(n==1)
{
sum=2;
printf("%d",sum);
}
else
{
sum=2;
for(i=2;i<=n;i++)
sum=sum+(int)pow(2,i);
printf("%d",sum);
}
}
----------------解决方案--------------------------------------------------------
  相关解决方案