我感觉我的代码没问题啊,怎么会运行出这些乱码?问题出在哪里了
```c
#include
int main()
{
int n,i=0,j;
int a[100];
scanf("%d",&n);
while(n!=1)
{
if(n%2!=0)
{
n=n*3+1;
}
else
{
n=n/2;
}
a[i]=n;
i++;
}
for(j=i-1;j>=0;j++)
{
printf("%d ",a[j]);
}
return 0;
}
```,请勿粘贴截图。 不用代码块回答率下降 50%
for(j=i-1;j>=0;j--)
这是降序,得用j--啊
改动处见注释,供参考:
#include<stdio.h>
int main()
{
int n, i = 0, j;
int a[100];
scanf("%d", &n);
while (n != 1)
{
if (n % 2 != 0)
{
n = n * 3 + 1;
}
else
{
n = n / 2;
}
a[i] = n;
i++;
}
for (j = i - 1; j >= 0; j--) //for (j = i - 1; j >= 0; j++) 修改
{
printf("%d ", a[j]);
}
return 0;
}
for里应该是j--
逆序应该用"for(j=i-1;j>=0;i--)"