安排洗牌的2d字符串数组(c编程)

时间:2017-05-01 15:55:21

标签: arrays string shuffle

我是新来的。 我想要一个示例代码,因为我得到了一个任务,要求我让用户安排一个混乱的字符串数组。到目前为止,我已经成功地混乱了字符串。但后来我陷入困境,如何将用户输入与混乱阵列进行比较。

基本上,这就是问题所在; 1.我必须向用户显示几个句子(字符串)的正确排列,我将它们保存在一个数组中。(完成) 我不得不混淆并向用户展示混乱的句子安排。(完成) 3.用户必须按照前面所示的正确方式安排句子。(卡住)

很抱歉,如果你们不能理解我,因为我非常喜欢编程以某种方式期待了解更多。

3 个答案:

答案 0 :(得分:0)

  • 您为原始句子创建数组
  • 你混淆句子并将其保存在另一个阵列上
  • 您打印混乱阵列并要求用户输入
  • 您将用户输入与原始数组进行比较

答案 1 :(得分:0)

至于我,我知道你的想法要求用户重新输入句子。对不起,如果我错了,无论如何你的想法很棒。

如果可能的话,我可以制作一个代码,要求用户输入显示的数字。因此,用户应该给出这个答案来重新安排混乱的句子; 4 2 3 1。 这是输出;

Original sentences
1.hello
2.my name is john
3.i love c programming
4.hope you can help me out


Jumbled sentences
1.hope you can help me out
2.my name is john
3.i love c programming
4.hello

这是我的代码

#include<stdio.h>
#define SIZE 100
char sentences[][SIZE]={"hello","my name is faiqwan","i love c programming","hope you can help me out"};
int main()
{
    char jumble[5];
    int i=0, j, same, randnum;
    srand(time(NULL));

    system("cls");
    for(i = 0; i<4;i++)
    { 
       randnum = rand()%4; 

     for(j=0;j<i;j++)
       {
            if(jumble[j] == randnum)
                same = 1;
       }

        if(same == 0)
            jumble[j] = randnum;
        else
            i--;
      same = 0;
    }
    int a=1;
    printf("Original sentences\n");
    for(j=0;j<i;j++)
    {
        printf("%d.",a);a++;
        printf("%s\n",sentences[j]) ;
    }
    printf("\n\n");

    printf("Jumbled sentences\n");
    a=1;
    for(j=0;j<i;j++)
    {
        printf("%d.",a);a++;
        printf("%s\n",sentences[jumble[j]]) ;
    }
    return 0;
}

答案 2 :(得分:0)

  • 创建另一个字符串数组
  • 用句子填充新数组[jumble [j]](所以新数组将作为用户输入)
  • 将句子数组与新数组进行比较
    • 如果打印输出正确
    • else printout false