爱吃零食的妹妹 2022-04-14 16:31 采纳率: 80%
浏览 72
已结题

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

根据企业员工管理系统程序,要求先以管理员身份登录(自己设定进入密码)。输入正确后。(员工人数不超过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;
}

  • 写回答

3条回答 默认 最新

  • 01010108 2022-04-14 16:45
    关注

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

    #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;
    }
     
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 5月4日
  • 已采纳回答 4月26日
  • 创建了问题 4月14日