gpt4 book ai didi

C 编程 : How to put integers, 将用户输入的 double 和字符串放入 3 个单独的数组中?

转载 作者:行者123 更新时间:2023-11-30 14:46:20 25 4
gpt4 key购买 nike

我正在尝试创建一个输入 txt 文件并打印特定输出的 C 程序。

这是我将使用的以下格式的 txt 文件,名为 input.txt:

  1 35.026172 OfxDTW
2 11.881445 sMLZrs
3 64.033097 sQkGmn
4 96.968208 Mhbfka
5 75.157107 yWtcBI
6 27.852157 svSzwI
7 38.371393 UGGpRX
8 54.500524 LOHGPL
9 45.875275 aAwiSd
10 18.583704 OYpIiO

我想将整数、 double 和字符串放入 3 个单独的数组中,而不是将整行放入单个数组中。

txt 文件将输入为:

 program < input.txt

这是我的主程序:

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

#define MAX 10000

int
main(int argc, char* argv[]) {
int number[MAX];
double decimal[MAX];
char *string[6][MAX];
char str[6];
int a;
double b;
int i=0,k=0,j=0;
int ch=0;
while ((ch = getchar()) != EOF) {
if (scanf("%d ", &a)==1) {
number[i] = a;
i += 1;
}

if (scanf("%lf ", &b)==1) {
decimal[j] = b;
+= 1;
}

if (scanf("%s", str)==1) {
string[6][k]=str;
k += 1;
}
}

printf("n: %d, ", number[4]);
printf("d: %lf, ", decimal[4]);
printf("s: %s", string[6][4]);
return 0;
}

对于我的输出,我只想打印带有添加文本的 txt 文件的第 5 行:

 n: 5, d: 75.157107, s: yWtcBI

但是,程序没有打印正确的输出。

有谁知道我的程序出了什么问题以及如何修复它?

最佳答案

我冒昧地简化和轻微调整了您的代码

#include <stdlib.h>

#define MAX 10000

int main(void) {
int number[MAX];
double decimal[MAX];
char string[MAX][7];
int i;

for (i = 0; i < MAX; i++) {
if (scanf("%d%lf%6s", number+i, decimal+i, string+i)!=3) break;
}

if (i > 4) {
printf("n: %d, d: %f, s: %s\n", number[4], decimal[4], string[4]);
}
return 0;
}

关于C 编程 : How to put integers, 将用户输入的 double 和字符串放入 3 个单独的数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52346326/

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