有人可以帮我弄清楚为什么带有变量 v 的 for 循环在第一个循环后没有执行吗?
#include <stdio.h>
#include <stdlib.h>
int main()
{
int x[100],n,h,s,v,k,l;
s=0;
scanf("%d",&n);
h=n;
for(int j=0;j<n;j++)
scanf("%d",&x[j]);
for(v=0;v<n;v++)
{
for(k=0;k<n;k++)
if(h%x[k]==0) x[k]=0;
for(l=0;l<n;l++)
if(x[l]==0) h--;
}
for(int m=0;m<n;m++)
s=s+x[m];
printf("%d",s);
return 0;
}
编辑(这是下面评论的副本!)
输入是 10 1 2 3 4 5 6 7 8 9 10 预期结果是 24,但实际结果是什么都没有,因为程序只是在 v 的第一个循环后停止