c - 如何在一个循环内完美地创建一个循环,同时又在另一个循环内创建一个循环?

标签 c loops

我需要制作一个如下所示的程序:

Player name 1:   <input> 
Player name 2:   <input> 
<output> <output> 
(Player 1's)Score1: <input1>
            Score2: <input2> 
(player 2's)Score1: <input1>
            Score2: <input2>

(player 1's)<output1>
            <output2> 
(player 2's)<output1>
            <output2>
<小时/>

或者准确地说:

Number     Player Name     Score
                           Game1     Game2
------     -----------    -------   -------
 [1]         <name1>      <score1>  <score2> 
 [2]         <name2>      <score1>  <score2>
<小时/>

我需要制作一个循环来指示名称旁边的数字,但我不知道该怎么做。

这是我的代码:

int main()

{
    int x=1;
    char player[PLAYERS][LENGTH] = {"-----"};
    char scorex[GAME][LENGTH] = {"0.00"};

    int i,j;//COUNTERS

    for (i=0; i<PLAYERS; i++)
    {
        printf("Player Name %d:\t",x);
        fgets(player[i], LENGTH, stdin);
        x++;
    }   

    for (i=0;i<PLAYERS;i++)
    {
        printf("%10s\n", player[i]);
    }

    for (x=1; x<=PLAYERS; x++)
    {
        printf("score %d:\t", x);
        for (i=0 ;i<GAME; i++)
        {
        fgets(scorex[i], LENGTH, stdin);
        }
        printf("%5s\n", scorex[i]);
    }
    return 0;
}

我可以用循环做什么? 帮忙?

最佳答案

只是解决输出部分,以下代码是执行您所描述的操作的一种方法:(格式化需要一些工作)

#include <windows.h>
#include <ansi_c.h>

enum    {
    name1,
    name2,
    name3,
    name_max
};

char *name[name_max]={"name1","name2","name3"};
char *score1[name_max]={"12","11","1"};
char *score2[name_max]={"1","13","22"};


int main(void)
{
    int line;

    printf("Number\tPlayer Name\tScore\n");
    printf("\t\tGame1\tGame 2\n");

    for (line=name1;line < name_max;line++)
    {
        printf("%d\t%s\t%s\t%s\n", line+1, name[line], score1[line], score2[line]);
    }

    getchar();
    return 0;   
}

结果如下:

enter image description here

关于c - 如何在一个循环内完美地创建一个循环,同时又在另一个循环内创建一个循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18638990/

相关文章:

c - 如何打印字符串数组的某些部分?

c - 在C中使用for循环绘制多个矩形

c - C中下溢和nan有什么区别?

Java:如何在第一次输入后用哨兵关闭循环(使用多个输入时)

将行从标准输入复制到字符指针数组

我可以从当前线程中保存一个值吗?

c - 欧拉 #8 的解决方案

sql-server - SQL Server - 仅在 SSMS 消息 Pane 中显示最新的打印语句(while 循环)

c - 为什么数组正确,但计数不正确?

loops - 批处理 for 循环中的 Nslookup - 为什么它不起作用?