gpt4 book ai didi

c - 将数字读入数组并在 C 中反向打印

转载 作者:太空宇宙 更新时间:2023-11-04 02:29:45 25 4
gpt4 key购买 nike

我正在尝试使用命令行参数打开一个文件并反向读取“testdata”文件中的数字测试数据文件中的数字包括:

2
20
200
2000
20000
-2
-20
-200
-20000.

这是我到目前为止编写的代码。文件打印出来,显然不是反向的。我假设我只是在这里某处缺少一个 for 循环。我也在考虑也许我应该使用 fscanf 而不是 fgets。感谢任何输入。

#include <stdio.h>

#define MAX_NUMS 1000

int main(int argc, char *argv[]) {

Int a, n;
char buf[MAX_NUMS];
Int array[MAX_NUMS];
file *pt;

if (argc < 2) {
printf("Usage %s <files..>\n");
}

if ((pt = fopen(argv[1], "r")) == NULL) {
printf("Unable to open %s for reading.\n", argv[1]);
Return 1;
}

while (fgets(buf, MAX_NUMS, pt) != NULL){
printf("%s", buf);
}

for(j = 0; j < MAX_NUMS; j++){
If(fscanf(pt, "%d", &array[a]) != 1);
Break;

For(a = n; a--> 0;){
Printf("%d", array[a]);
}

fclose(pt);
retuern 0;
}

最佳答案

使用 while(fscanf("%d", &n)){ a[i++] = n; }0 开始i 并声明a 为整数数组。稍后在打印时,以相反的顺序打印它。虽然您可以使用 fseek() 转到文件末尾,但无法逆序读取。

关于c - 将数字读入数组并在 C 中反向打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45129839/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com