还需要加什么部分 或者是我自己的代码本身还有错

根据企业员工管理系统程序,要求先以管理员身份登录(自己设定进入密码)。输入正确后。(员工人数不超过50人)输入员工的工资。密码只可输入三次,三次不成功退出系统。
将员工工资按照从高到低顺序排序;
假定工资超过了 3500 元的,超出;部分按5%交税,算出该企业上缴工资税金总数,并统计缴税员工占总员工的比例。提示:员工总人数和缴税人数要分别统计。

#include<stdio.h>
#include<string.h>
int main()
{
    int i = 0, sum=0, c=0;
    int a[50] , j, n;
    char password[20] = { 0 };
    for (i = 0; i < 3; i++)
    {
        printf("请输入密码:");
        scanf("%s", password);
        if (strcmp(password, "123456") == 0)
        {
            printf("密码正确\n");
            printf("请输入员工人数\n");
            scanf("%d",&n);
            printf("请输入工资\n");
        for(j=0;j<n;j++)
        scanf("%d",a[j]);
        if(a[j]>3500)
    {
    sum += (a[j] - 3500) *0.05;
    c++;
    }
    printf("缴纳总金额%d\n",sum);
        
        
        }
    if (i == 3)
        printf("三次密码均错误,退出程序\n");
    
    }
    
return 0;
}

代码本身不对,你想一想,如果密码正确的话是不是还在循环里,还要继续输入,然后第十九行,应为&数组

#include<stdio.h>
#include<string.h>
int main()
{
    int i = 0, sum=0, c=0;
    int a[50] , j, n;
    char password[20] = { 0 };
    for (i = 0; i < 3; i++)
    {
        printf("请输入密码:");
        scanf("%s", password);
        if (strcmp(password, "123456") == 0)
        {
            printf("密码正确\n");
            printf("请输入员工人数\n");
            scanf("%d",&n);
            printf("请输入工资\n");
        for(j=0;j<n;j++)
        scanf("%d",&a[j]);
        if(a[j]>3500)
    {
    sum += (a[j] - 3500) *0.05;
    c++;
    }
    printf("缴纳总金额%d\n",sum);
       
        
        }
        break;
        
        }
    if (i == 3)
        printf("三次密码均错误,退出程序\n");
    
    
    
return 0;
}
 

密码对了应该执行完操作之后要break退出

for循环➕if else 实现,先了解清楚需求,在实现