#include<stdio.h> #include<string.h> int main(void) { int N,i; int distance[500001]; char ID[20]; char D[500001][20]; for(i=0;i<N;i++) { scanf("%s %d\n",ID,&distance[i]); strcpy(ID,D[i]); } for(i=0;i<N;i++) { printf("%s",D[i]); } return 0; }
时间: 2024-01-02 19:03:45 浏览: 97
SeqList.h #include <stdio.h> //包含标准输入输出流的头文件 #include <assert.h
您好,这段代码存在一些问题。
1. 变量 `N` 没有被初始化,需要先输入 `N` 的值。
2. 在第一个循环中,需要将 `strcpy(ID,D[i]);` 改为 `strcpy(D[i],ID);`,因为您想要将输入的 `ID` 复制到 `D` 数组中。
3. 在第二个循环中,需要加上换行符,即 `printf("%s\n",D[i]);`,否则输出的每个字符串会挤在一起。
修改后的代码如下:
```c
#include <stdio.h>
#include <string.h>
int main(void) {
int N, i;
int distance[500001];
char ID[20];
char D[500001][20];
scanf("%d", &N);
for (i = 0; i < N; i++) {
scanf("%s %d", ID, &distance[i]);
strcpy(D[i], ID);
}
for (i = 0; i < N; i++) {
printf("%s\n", D[i]);
}
return 0;
}
```
阅读全文