打印过多,结果处理

时间:2019-01-04 18:28:40

标签: c sorting dictionary

我想知道一种方法,是否可以停止将过程作为输出结果打印。我正在编码以对字符串进行排序,并且打印过多。通常,它只会打印最终结果(我想要的结果),但是我的代码同时打印了过程和结果。有办法阻止它吗? 下面是我的问题的一个例子。

enter image description here

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
#define max 9999
#define row 10
#define column 8
#define WORDS 20
char arr[WORDS][1000];
char temp[100];
char str[max], str1[max];
char *s1, *st1;
int e, i, j;
int sort();
int main()
{
    FILE *fp;
    fp = fopen("C:/Users/yiyin/source/repos/project1/project1/tax.txt", "r");


    for (e = 0; e < WORDS; e++)
    {
        fgets(str, max, fp);
        w = strchr(str, ';');
        *w = 0;
        fflush(stdin);
        strcpy(str1, w + 1);


        s1 = strtok(str1, ";");
        do
        {


            st7 = strstr(s1, "s__");

            if (st7 != NULL)
            {
                strcpy(arr[0], st7+3);
                arr[i][0] = 0;

                    sort();
                    for (i = 0; i < WORDS; ++i)
                    {
                        fflush(stdout);
                        printf("%s\n", arr[i]);
                    }

            }//if


        } while (s1 = strtok(NULL, ";"));
    }//for
        getchar(); getchar(); getchar(); getchar();
        fclose(fp);
        return 0;

}//main
int sort()
{

        for (i = 0; i <WORDS; ++i)
        {
            for (j = i + 1; j < WORDS; ++j)
            {
                if (strcmp(arr[i], arr[j]) > 0)
                {
                    strcpy(temp, arr[i]);
                    strcpy(arr[i], arr[j]);
                    strcpy(arr[j], temp);
                    break;
                }
            }//for j          
        }//for i
        return 0;
    }

0 个答案:

没有答案