C语言程序题:从1到了20,每第三个数逃汰

来源:百度知道 编辑:UC知道 时间:2024/06/06 06:59:15
输出内容如下:
1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 20
1 2 4 5 7 8 10 11 13 14 16 17 19 20
1 2 5 7 8 11 13 16 20
1 2 7 13 20
1 2 13 20
1 2 20
1 2
2
刚刚错了,输出的结果是:
3 6 9 12 15 18 1 5 10 14 19 4 11 17 7 16 8 2 13 20

#include <stdio.h>
#define NUM 20

int main()
{
int a[NUM];
int b[NUM];
int i, j, k, iterator;

for (i=0; i<NUM; i++)
a[i] = i+1;

iterator = 0;
for (j=0; j<NUM; j++)
{
k=0;
while (k<3)
{
if (a[iterator]!=0)
k++;

if(k==3)
{
b[j] = a[iterator];
a[iterator] = 0;
}

if(iterator < 19)
iterator++;
else
iterator = 0;
}
}

for (i=0; i<NUM; i++)
printf("%4d", b[i]);
printf("\n");
return 0;
}

输出结果
3 6 9 12 15 18 1 5 10 14 19 4 11 17 7 16 8 2 13 20

//---------------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>

typedef struct node{
int da;
struct node *next;