c语言,输入一组数并删除最大值

#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;
}