一个简单的程序,想拿分的进啦

来源:百度知道 编辑:UC知道 时间:2024/06/01 15:44:02
#include<stdio.h>
main()
{int a[11],i,k=0,max,n=10;
printf("从小到大顺序输入:\n");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
printf("\n");
printf("输入要删除的数:\n");
scanf("%d",&max);
printf("\n");
for(i=0;i<n;i++)
{if(max==a[i])
k=i;
}
for(i=n-1;k<i;k++)
a[k]=a[k+1];
printf("输出如下:\n");
for(i=0;i<n+1;i++)
printf("%d ",a[i]);
}
编译无错,可是运行不正确

上面回答的都不对。正确的程序如下:

#include<stdio.h>
main()
{
int a[11],i,k=0,max,n=10;

printf("从小到大顺序输入:\n");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
printf("\n");

printf("输入要删除的数:\n");
scanf("%d",&max);
printf("\n");

for(i=0;i<n;i++)
{
if(max==a[i])
{
break;
}
}
for(k=i;k<n-1;k++)
a[k]=a[k+1];

printf("输出如下:\n");
for(i=0;i<n-1;i++)
printf("%d ",a[i]);
}

补充:
提问者: 来了就不回去,你很不厚道!
你之前的那个问题,我回答没有错,你竟然不采纳为最佳答案。
这样的话,我以后不回答你的问题了!

for(i=n-1;k<i;k++) 你没有给K赋初值,你上面已经有k=i,如果你是想它作为你的k的初值的话,那下面的i=n-1就不应该 有。

最后一个for里面,i<n-1;

..哥们 没分啊