为什么输出的时候最后总会出现另一条语句的内容

你要坚强 发布于 2017/07/02 17:22
阅读 122
收藏 1

#include <stdio.h>

void dui(int A[]);
void cuo(void);
void panduan(int p[7][7]);
void shuru();

    int i,j,k;                        //i是每个保安的变量,j是存放选择的天数,k是存放每人选择日期的变量
    int p[7][7];                //存放选择的日期的变量,每个人选择的日期变量
    int a ,b ,c ,d ,e ,f ,g ;
    int ax,bx,cx,dx,ex,fx,gx;        //确定选择个数的变量
    int A[7]={0};                        //比较
    int t,m,r;    
                //判断的变量
int main()
{
    printf("\n\n-----------------------------\n");
    printf("这是一个保安排班的系统\n作者:荆学辉\n-----------------------------\n\n");
    shuru();
    return 0;
}

void shuru()    //录入每个人的休息日
{    
    printf("请输入各自想选择的休息日\n\n\n"); 
    for(i=0;i<7;i++)  //循环录入  
    {    
        if(i==0)//赵录入的休息日
        {   
        printf("请输入赵选择休息日的天数:\n");
        scanf("%d",&ax);
        printf("请输入赵选择的休息日:\n");
        for(k=0;k<ax;k++)
        scanf("%d",&p[k][i]); 
        }
        
        if(i==1)//钱录入的休息日
        {
        printf("请输入钱选择休息日的天数:\n");
        scanf("%d",&bx);
        printf("请输入钱选择的休息日:\n");
        for(k=0;k<bx;k++)
        scanf("%d",&p[k][i]); 
        } 

        if(i==2)//孙录入的休息日
        {
        printf("请输入孙选择休息日的天数:\n");
        scanf("%d",&cx);
        printf("请输入孙选择的休息日:\n");
        for(k=0;k<cx;k++)
        scanf("%d",&p[k][i]); 
        } 
    
        if(i==3)//李录入的休息日
        {
        printf("请输入李选择休息日的天数:\n");
        scanf("%d",&dx);
        printf("请输入李选择的休息日:\n");
        for(k=0;k<dx;k++)
        scanf("%d",&p[k][i]); 
        } 
    
        if(i==4)//周录入的休息日
        {
        printf("请输入周选择休息日的天数:\n");
        scanf("%d",&ex);
        printf("请输入周选择的休息日:\n");
        for(k=0;k<ex;k++)
        scanf("%d",&p[k][i]); 
        } 
        
        if(i==5)//吴录入的休息日
        {
        printf("请输入吴选择休息日的天数:\n");
        scanf("%d",&fx);
        printf("请输入吴选择的休息日:\n");
        for(k=0;k<fx;k++)
        scanf("%d",&p[k][i]); 
        } 
    
        if(i==6)//陈录入的休息日
        {
        printf("请输入陈选择休息日的天数:\n");
        scanf("%d",&gx);
        printf("请输入陈选择的休息日:\n");
        for(k=0;k<gx;k++)
        scanf("%d",&p[k][i]); 
        } 
    
    }//录入结束
    panduan(p);
}    

void panduan(int p[7][7])            //判断查重
{
    for(a=0;a<ax&&p[a][0]!=0;a++)
    {
        for(b=0;b<bx&&p[b][1]!=0;b++)
        {
            for(c=0;c<cx&&p[c][2]!=0;c++)
            {
                for(d=0;d<dx&&p[d][3]!=0;d++)
                {
                    for(e=0;e<ex&&p[e][4]!=0;e++)
                    {
                        for(f=0;f<fx&&p[f][5]!=0;f++)
                        {
                            for(g=0;g<gx&&p[g][6]!=0;g++)
                            {
                                A[0]=p[a][0];
                                A[1]=p[b][1];
                                A[2]=p[c][2];
                                A[3]=p[d][3];
                                A[4]=p[e][4];
                                A[5]=p[f][5];
                                A[6]=p[g][6];

                                t=1;

                                for(r=0;r<6;r++)
                                {
                                    for(m=r+1;m<7;m++)
                                    {
                                        if(A[r]==A[m])
                                            t=0;
                                    }    
                                }   //比较任意两个数是否相等,相等则t=0,为假;
                                if(t==1)    dui(A);
                                
                                }
                            }
                        }
                    }
                }
            }
        }
                                if(t==0)    cuo();                                                    
}

void dui(int A[])        //输出
{
    printf("赵的休息日为:%d\n",A[0]);
    printf("钱的休息日为:%d\n",A[1]);
    printf("孙的休息日为:%d\n",A[2]);
    printf("李的休息日为:%d\n",A[3]);
    printf("周的休息日为:%d\n",A[4]);
    printf("吴的休息日为:%d\n",A[5]);
    printf("陈的休息日为:%d\n\n",A[6]);
}

void cuo(void)
{
    printf("对不起,您输入的时间有误,请重新输入!!\n");    
}

 

 

最后一个if的内容为什么会出现的,

输入内容如下,两天就是2,星期一就是1,

加载中
0
而荒废了就好我
而荒废了就好我

因为发明C语言的人已经死了,所以C语言公司已经倒闭了

而荒废了就好我
而荒废了就好我
回复 @你要坚强 : 难道用java工作的就一定是菜鸟吗?
你要坚强
回复 @中山野鬼 : 用c工作的都是大神
中山野鬼
中山野鬼
回复 @你要坚强 : 你听谁说的?哈。建议去一些芯片设计公司看看,看看里面是否有用c干活的。顺带问下年薪。哈。
你要坚强
c现在工作用的人很少,主要就是初学者用的比较多
0
艾恩
艾恩
7、8层for循环,已经晕了。。。
0
Hxian森
Hxian森

逻辑很简单,糊弄小白而已

0
louloumao
louloumao

看得一脸懵b

0
开源中国-首席营养师

你想干嘛呢,哪里多输出了也不标记清楚。预期应该是什么样,实际又是怎么样,说清楚

返回顶部
顶部