以下是一个简单的示例代码,用于读取文件中的数据并将其转换为散点图:

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

#define MAX_POINTS 1000

int main()
{
    FILE *fp;
    char filename[100];
    int i, j, n, gd, gm;
    float x[MAX_POINTS], y[MAX_POINTS], max_x, max_y, min_x, min_y, scale_x, scale_y;

    printf("Enter the filename: ");
    scanf("%s", filename);

    fp = fopen(filename, "r");

    if (fp == NULL)
    {
        printf("Error: Could not open file.\n");
        exit(1);
    }

    n = 0;

    while (!feof(fp) && n < MAX_POINTS)
    {
        fscanf(fp, "%f %f", &x[n], &y[n]);
        n++;
    }

    fclose(fp);

    gd = DETECT;
    initgraph(&gd, &gm, NULL);

    max_x = min_x = x[0];
    max_y = min_y = y[0];

    for (i = 0; i < n; i++)
    {
        if (x[i] > max_x)
            max_x = x[i];
        else if (x[i] < min_x)
            min_x = x[i];

        if (y[i] > max_y)
            max_y = y[i];
        else if (y[i] < min_y)
            min_y = y[i];
    }

    scale_x = (getmaxx() - 100) / (max_x - min_x);
    scale_y = (getmaxy() - 100) / (max_y - min_y);

    setcolor(RED);

    for (i = 0; i < n; i++)
    {
        j = (int)((x[i] - min_x) * scale_x) + 50;
        k = (int)((max_y - y[i]) * scale_y) + 50;
        putpixel(j, k, RED);
    }

    getch();
    closegraph();

    return 0;
}

该程序首先要求用户输入要读取的文件名。然后,它打开该文件并读取其中的数据,将其存储在两个数组中:一个包含所有的x坐标,另一个包含所有的y坐标。在读取完所有数据后,程序计算出x和y坐标的最大值和最小值,并计算出一个比例因子,以便将这些坐标缩放到适当的范围内。最后,程序使用图形库中的putpixel函数将每个点绘制在屏幕上,形成散点图。

c语言读取文件后转换成散点图的代码怎么做

原文地址: https://www.cveoy.top/t/topic/bZua 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录