#include<stdio.h>
#include<string.h>
int main(void)
{
/Begin/
int str[100];
int i,max;
for(i=0;i<10;i++)
{
scanf("%d",&str[i]);
}
max=str[0];
for(i=0;i<10;i++)
{
if(max<=str[i])
{
max=str[i];
}
}
for(i=0;i<10;i++)
{
if(str[i]==max);
{
for(;i<10;i++)
{
str[i]=str[i+1];
if(i+1==10)
{
goto show;
}
}
}
}
show:
for(i=0;i<9;i++)
{
printf("%d ",str[i]);
}
/End*/
return 0;
}
输入:1234567890
应输出:123456780
实际输出:234567890
if(str[i]==max);多了一个分号
修改如下,供参考:
#include<stdio.h>
#include<string.h>
int main(void)
{
// Begin
int str[100], n = 10; //修改
int i, max, j; //修改
for (i = 0; i < n; i++)
{
scanf("%d", &str[i]);
}
max = str[0]; j = 0;
for (i = 0; i < n; i++)
{
if (max <= str[i])
{
max = str[i];
j = i;
}
}
//for (i = 0; i < n; i++)
//{
// if (str[i] == max);
// {
if (j != n - 1) //修改
{
for ( ; j < n - 1; j++) //修改
{
str[j] = str[j + 1];
//if (i + 1 == 10)
//{
// goto show;
//}
}
}
//}
//}
//show:
for (i = 0; i < n - 1; i++)
{
printf("%d ", str[i]);
}
// End
return 0;
}