Gustav 2020-10-22 12:13 采纳率: 0%
浏览 293

C语言 萌新提问 矩阵赋值问题

C语言 萌新提问 矩阵赋值问题
设计一个简单的insert函数,用于给目标矩阵赋值,可是测试结果都不是想要的(通常是一个长的负数,如:-858993460)
希望大神可以帮帮忙
```#include
#define MAX 10
void initialize(int* size, int ar[]);
void insert(int max, int* size, int ar[], int num);
void iremove(int* size, int ar[], int num);
void display(int size, int ar[]);
int main()
{
int option = 0;
int num, ar[MAX];
int size = 0;
printf("Please select an option: \n");
printf("(1) 初始化 \n");
printf("(2) 插入一个int \n");
printf("(3) 移除一个intr \n");
printf("(4) 展示所有矩阵整数 \n");
printf("(5) 推出 \n");
do {
printf("请选择: \n");
scanf("%d", &option);
switch (option) {
case 1:
initialize(&size, ar);
break;
case 2:
printf("输入一个要添加的整数: \n");
scanf("%d", &num);
insert(MAX, &size, ar, num);
break;
case 3:
printf("输入一个要被移除的整数: \n");
scanf("%d", &num);
iremove(&size, ar, num);
break;
case 4:
display(size, ar);
break;
default:
break;
}
} while (option < 5);
return 0;
}
void display(int size, int ar[])
{
int i;
printf("矩阵中有%d个数,分别为 : \n", size);
for (i = 0; i < size; i++)
printf("%d ", ar[i]);
printf("\n");
}
void initialize(int* size, int ar[])
{
int total, i, num;
printf("请输入输入的整数数量 (MAX=%d): \n", MAX);
scanf("%d", &total);
(*size) = 0;
printf("Enter the integers: \n");
for (i = 0; i < total; i++) {
scanf("%d", &num);
insert(MAX, size, ar, num);
}
}
void insert(int max, int* size, int ar[], int num)
{
/* Write your code here /
static count = 0;
if (*size >= max) {
printf("矩阵已满l\n");
}
else {
//printf("*size=%d, num=%d", *size, num);
ar[*size] = num;
(*size)++;
//printf("Stored, %d target=%d\n", ar[
(size-1)], num);
//display(*size, ar);
}
int i, j, key;
for (j = 0;j < (*size) + 1;j++) {
i = j - 1;
key = ar[j];
while (i >= 0 && ar[i] > key) {
ar[i + 1] = ar[i];
i--;
}
ar[i + 1] = key;
}
}
void iremove(int* size, int ar[], int num)
{
if (*size == 0) printf("矩阵是空的\n");
else {
int i, j;
for (i = j = 0; ar[i] != '\0'; ++i) {
if (ar[i] != num) {
ar[j++] = ar[i];
}
}
ar[j] = '\0';
if (j == i) printf("没找到");
}
}

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-09 15:21
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条