c - 在制作 2 组数组的总和时遇到问题
问题描述
我正在做一个小项目,并被困在这一部分。
我基本上是在尝试将用户输入的 A1 和 B1 的数字求和(3 计算 A1 和 B1 的元素之和)。
这是我到目前为止所得到的,它对我应该如何解决这个问题没有任何想法?
任何帮助总是感激感谢!
方案背景资料如果更好理解:
该程序旨在从用户(A1,B1)那里获取两组数字并放入数组中。输入数字后,将通过一个菜单提示用户,其中包含他们想对数字做什么的选项。该选项将发送到 4 个案例之一(目前已写 3 个)
#include<stdio.h>
#include<stdlib.h>
int main()
{
int option; // Int for Menu Option choice
int i, a, j; //Int FOR A1
int n = 10; // Int FOR A1
int number[10]; // Int FOR A1
int sum = 0; // SUM FOR OPTION 3
int o, s, k; // Int FOR B1
int m = 10; // Int FOR B1
int num[10]; //Int for B1 ARRAY
printf("Enter 10 Numbers for A1\n"); // Numbers for A1
for (i = 1; i < n; ++i)
scanf("%d", &number[i]);
printf("Enter 10 Numbers for B1: \n"); //Numbers for B1
for (o = 1; o < m; ++o)
scanf("%d", &num[o]);
//USER PICKS OPTION
printf("******************************************************************\n");
printf("*\tSelect one of the following options *\n");
printf("*\t1 Sort A1 values in Ascending Order *\n");
printf("*\t2 Sort B1 values into Descending Order *\n");
printf("*\t3 Compute the Sum of the Elements of A1 and B1 *\n");
printf("*\t4 Subtract the Elements of B1 from the Elements of A1 *\n");
printf("******************************************************************\n");
printf("Enter Your Option: ");
scanf("%d", &option);
switch (option)
{
case 1:
for (i = 0; i < n; ++i)
{
for (j = i + 1; j < n; ++j)
{
if (number[i] > number[j])
{
a = number[i];
number[i] = number[j];
number[j] = a;
}
}
}
printf("The numbers arranged in ascending order are given below \n");
for (i = 0; i < n; ++i)
printf("%d\n", number[i]);
break;
case 2:
for (o = 0; o < m; ++k)
{
for (k = o + 1; k < m; ++k);
{
if (num[o] < num[k])
{
s = num[o];
num[o] = num[k];
num[k] = s;
}
}
}
printf("The numbers arranged in descending order are given below\n");
for (o = 0; o < m; ++o)
printf("%d\n", num[o]);
break;
case 3: // FOR OPTION 3 PART IM LOST ON MAKE A1 AND B1 SUM
{
sum = num[o] + number[i];
}
printf("Sum = %d\n", sum);
return 0;
}
}
解决方案
2 个矩阵的总和必须生成第三个矩阵。您的代码必须类似于:
int sum[10];
int bigTotal;
...
case 3:
for(i = 0, bigTotal = 0; i < 10; i++){
sum[i] = num[i] + number[i];
bigTotal += sum[i];
printf("s[%d] = %d\n", i, s[i]);
}
printf("Sum of all numbers: %d\n", bigTotal);
break;
推荐阅读
- ios - 从 Any 投射时 UIColor 子类崩溃?
- plugins - 如何在页面上添加两个(或多个)相同类型的 AJS.MultiSelect 字段
- asp.net-core - 是否可以从 MassTransit 的错误队列中读取和删除消息
- amazon-web-services - CloudFormation 模板相当于添加“其他 AWS 账户的访问权限”
- installation - 蓝色棱镜并排或安装多个版本(不同)的可能性/方法
- mysql - MySQL 对似乎在工作台上运行良好的查询给出错误
- html - 在服务器上部署网站后,相对链接不起作用
- maven - Docker 构建失败“复制失败:未指定源文件”
- git - Git rebase 功能分支搞乱了对开发/主分支的拉取请求中的提交
- google-apps-script - 复制行的范围而不是整行 - 应用脚本