arrays - 如何解决C中显示数组的问题
问题描述
此代码的步骤
- 扫描数组的维度✅</li>
- 填写它(整数)✅</li>
- 显示它✅</li>
- 将正数分开并将它们放入数组“POS[]”中
- 并将负数放入另一个数组“NEG[]”
- 显示阵列 POS
- 显示阵列 NEG
#include <stdio.h>
int main(int argc, char *argv[]) {
int n,i;
int T[n];
int NEG[60], POS[60];
int negindex =0, posindex =0;
printf("Veuillez saisir la dimension du tableau (N<60): ");
scanf("%d",&n);
//Remplissage du tableau
for (i =0;i<n;i++){
printf("T[%d] = ",i);
scanf("%d",&T[i]);
}
//affichage du tableau
printf("T[%d] = ",n);
for (i =0;i<n;i++){
printf("%d ",T[i]);
}
//Séparer les nombres (positif | negatif)
for (i =0;i<n;i++){
if(T[i]>0){
POS[posindex]=T[i];
posindex++;
}
else if(T[i]<0){
NEG[negindex]=T[i];
negindex++;
}
}
printf("\n");
printf("POS[%d] = ",posindex);
for (i =0;i<posindex;i++){
printf("%d ",POS[i]);
}
printf("\nNEG[%d] = ",negindex);
for (i =0;i<negindex;i++){
printf("%d ",NEG[i]);
}
return 0;
}
结果:
**THE RESULT (txt)**
Veuillez saisir la dimension du tableau (N<60): 7
T[0] = 12
T[1] = 23
T[2] = -14
T[3] = 3
T[4] = -45
T[5] = 33
T[6] = 78
T[7] = 12 23 -14 3 -45 33 78
POS[6] = 12 23 3 12 23 3
NEG[1] = -14
解决方案
穆斯塔法,在声明“int n, I;”之后 您必须先扫描“n”的值,然后才能声明大小为“n”的数组。否则你会得到分段错误。您的前 7 行代码应如下所示 -
int main(int argc, char *argv[]) {
int n,I;
printf("Veuillez saisir la dimension du tableau (N<60): ");
scanf("%d",&n);
int T[n];
int NEG[60], POS[60];
int negindex =0, posindex =0;
进行此更改后,它将完美运行...
推荐阅读
- java - 如何检测测试是否在 GitLab CI 服务器上运行
- angular - 如何让 mat-expansion-panel 在展开模式下覆盖整个屏幕?
- typescript - Preact:重新加载时有时会出现空白页面
- json - 带有数据的 Union 类型的 Elm JSON 解码器
- python - 如何使用 cx_oracle 将存储在 python 变量中的数据发送到 oracle 数据库表?
- node.js - 为什么 css loader 不能在 react 16.6 上使用 npm 运行弹出
- python - 从用户 root 运行 pyspark2 时权限被拒绝
- python - 如果 plt.pause 如此重要,为什么在任何教程中都没有描述它?(或者我做错了吗?)
- node.js - Mongodb查询文档数组字段长度不取数组
- django - 如何查看导致 Django 迁移错误的 SQL 查询?