c语言编写一个选择题,怎么打乱选项,下面是个例子,帮忙改一下,

printf("继承者中男女主角第一次相遇是在哪个国家?\n");
printf("A: 韩国\n");
printf("B: 美国\n");
printf("C: 英国\n");
printf("D: 法国\n");
printf("请回答:");
scanf("%c",&d);
scanf("%c",&d);
if (d=='b'||d=='B')
{
printf("恭喜你,答对了,厉害!");
}
else
{
printf("答错了,没关系,再接再厉!");
}

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <windows.h>
struct wenti{
    char wen[100];
    char A[50];
    char B[50];
    char C[50];
    char D[50];
    int dan;

} list[] = {
    {"继承者中男女主角第一次相遇是在哪个国家?","韩国","美国","英国","法国",1}
};

char* xuaxiang(int i){
    switch(i){
    case 0:
        return list[0].A;
        break;
    case 1:
        return list[0].B;
        break;
    case 2:
        return list[0].C;
        break;
    case 3:
        return list[0].D;
        break;
    default:
        return " ";
        break;
    }
}



int main()
{
    int dat[4];
    int i,k,j;
    char xz,danN;

    do{


        printf("%s\n",list[0].wen);

        srand( time(0) );
        for (i = 0; i < 4; i++){

            do{
                k=1;
                dat[i] = rand() % 4;
                for(j=0;j<i;++j){
                    if(dat[j]==dat[i]){
                        k=0;
                        break;
                    }
                }
            }while(k==0);

            if(dat[i]==list[0].dan){
                danN='A'+i;
            }

            printf("    %c.%s\n",'A'+i,xuaxiang(dat[i]));
        }
        printf("请选择:");
        scanf("%c",&xz);
        if(xz==danN){
            printf("恭喜你,答对了,厉害!\n");
        }else{
             printf("答错了,没关系,再接再厉!\n");
        }
        scanf("%c",&xz);



    }while(1);


    return 0.0;
}
温馨提示:答案为网友推荐,仅供参考
相似回答