请教C语言牛人 改错 谢谢 在线等~~~
有调试错误怎么改呢??谢谢!#include<stdio.h>#include<math.h>voidmain(){intn,z,t,i,j;intM[256],N[25...
有调试错误 怎么改呢??谢谢!
#include<stdio.h>
#include<math.h>
void main()
{
int n,z,t,i,j;
int M[256],N[256];
while(scanf("%d",&n)==1&&n!=0)
{
for(z=0;z<n;z++)
scanf("%d",N[z]);
t=0;
while(n!=1)
{
n=n/2;
t=t+1;
}
for(i=0;i<t;i++)
for(j=0;j<pow(2,i+1);j=j+2)
{
M[j]=(N[j]+N[j+(int)(pow(2,j))])/2;
M[j+1]=(N[j]-N[j+(int)(pow(2,j))])/2;
for(z=0;z<j;j++)
N[z]=M[z];
}
for(z=0;z<n-1;z++)
printf("%d ",N[z]);
printf("%d\n",N[z]);
}
} 展开
#include<stdio.h>
#include<math.h>
void main()
{
int n,z,t,i,j;
int M[256],N[256];
while(scanf("%d",&n)==1&&n!=0)
{
for(z=0;z<n;z++)
scanf("%d",N[z]);
t=0;
while(n!=1)
{
n=n/2;
t=t+1;
}
for(i=0;i<t;i++)
for(j=0;j<pow(2,i+1);j=j+2)
{
M[j]=(N[j]+N[j+(int)(pow(2,j))])/2;
M[j+1]=(N[j]-N[j+(int)(pow(2,j))])/2;
for(z=0;z<j;j++)
N[z]=M[z];
}
for(z=0;z<n-1;z++)
printf("%d ",N[z]);
printf("%d\n",N[z]);
}
} 展开
3个回答
展开全部
#include<stdio.h>
#include<math.h>
void main()
{
int n,z,t,i,j;
int M[256],N[256];
while(scanf("%d",&n)==1&&n!=0)
{
for(z=0;z<n;z++)
scanf("%d",N[z]);
t=0;
while(n!=1)
{
n=n/2;
t=t+1;
}
for(i=0;i<t;i++)
for(j=0;j<pow(2.0,i+1);j=j+2)
{
M[j]=(N[j]+N[j+(int)(pow(2.0,j))])/2;
M[j+1]=(N[j]-N[j+(int)(pow(2.0,j))])/2;
for(z=0;z<j;j++)
N[z]=M[z];
}
for(z=0;z<n-1;z++)
printf("%d ",N[z]);
printf("%d\n",N[z]);
}
}
#include<math.h>
void main()
{
int n,z,t,i,j;
int M[256],N[256];
while(scanf("%d",&n)==1&&n!=0)
{
for(z=0;z<n;z++)
scanf("%d",N[z]);
t=0;
while(n!=1)
{
n=n/2;
t=t+1;
}
for(i=0;i<t;i++)
for(j=0;j<pow(2.0,i+1);j=j+2)
{
M[j]=(N[j]+N[j+(int)(pow(2.0,j))])/2;
M[j+1]=(N[j]-N[j+(int)(pow(2.0,j))])/2;
for(z=0;z<j;j++)
N[z]=M[z];
}
for(z=0;z<n-1;z++)
printf("%d ",N[z]);
printf("%d\n",N[z]);
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询