c - 我无法显示最大 PSI 值的对应区域
问题描述
我无法在所有区域中显示我的对应区域以获得最高 PSI 读数。
我尝试了许多其他各种方法,但我无法显示我对应的区域(中部、东部、北部、南部、西部......)以获得最高 PSI 值。
我已经在每个区域的数组中声明了 PSI 值。
int i, largest;
int Time[] = { 600,700,800,900,1000,1100,1200,1300,1400,1500,1600,1700,1800 };
int Central[] = { 89,88,87,143,139,79,144,85,83,90,89,88,76 };
int East[] = { 80,79,78,77,76,80,90,89,88,110,109,143,136 };
int North[] = { 147,144,141,139,137,132,109,110,109,80,77,132,108 };
int South[] = { 90,89,88,139,136,132,102,105,109,110,109,80,77 };
int West[] = { 141,137,153,147,143,83,90,89,141,138,134,130,127 };
largest = Central[0];
for (i = 1; i < 13; i++)
{
if (largest < Central[i])
largest = Central[i];
}
largest = Central;
for (i = 0; i < 13; i++)
{
if (largest < East[i])
largest = East[i];
}
for (i = 0; i < 13; i++)
{
if (largest < North[i])
largest = North[i];
}
for (i = 0; i < 13; i++)
{
if (largest < South[i])
largest = South[i];
}
for (i = 0; i < 13; i++)
{
if (largest < West[i])
largest = West[i];
}
printf(" Highest PSI value amongst all is %d\n\n\n", largest);
break;
我能够显示我最大的 PSI 值,但我无法显示该最高 PSI 值的区域。
例如,如果我在数组中的最大 PSI 为 180,即位于 Central,它将显示 PSI 值为 180,对应区域为 Central。
如果我在阵列中最大的 PSI 是 180,即在西部,它将显示 PSI 值为 180,对应区域为西部。
解决方案
要查找最大区域的名称,请创建另一个变量来存储具有最大值的区域并在每个if
语句中分配它。
此外,我还结合了您的for
循环以使您的代码更清晰。
int i, largest;
char region[strlen("Central") + 1];
int Time[] = { 600,700,800,900,1000,1100,1200,1300,1400,1500,1600,1700,1800 };
int Central[] = { 89,88,87,143,139,79,144,85,83,90,89,88,76 };
int East[] = { 80,79,78,77,76,80,90,89,88,110,109,143,136 };
int North[] = { 147,144,141,139,137,132,109,110,109,80,77,132,108 };
int South[] = { 90,89,88,139,136,132,102,105,109,110,109,80,77 };
int West[] = { 141,137,153,147,143,83,90,89,141,138,134,130,127 };
largest = Central[0];
// Combine the for loops to make your code more clear
for (i = 0; i < 13; i++)
{
if (largest < Central[i]){
largest = Central[i];
region = "Central";
}
if (largest < East[i]){
largest = East[i];
region = "East";
}
if (largest < North[i]){
largest = North[i];
region = "North";
}
if (largest < South[i]){
largest = South[i];
region = "South";
}
if (largest < West[i]){
largest = West[i];
region = "West";
}
}
// Display results
printf("PSI value is %d and correspondent region is %s.", largest, region);
推荐阅读
- sql-server - 为其他用户禁用 SQL Server 登录弹出窗口
- r - 创建具有时间戳增量的数据框行
- node.js - 在 Azure 上使用 NodeJs 后端部署 create-react-app
- android - 使用相同的文件名从相机或图库中保存图片会显示新图片,直到打开不同的活动,旧图片再次显示
- python - 如何在 Django FilterSet 中添加默认过滤器?
- go - Golang io.copy 不复制整个数据
- spring - Spring声明性事务按条件给事务管理器名称
- c# - 我是否需要在 ASP.NET Core 3.1 应用程序中添加对 Microsoft.Extensions.Hosting 包的引用?
- azure-devops - SPLA 计划下的 Azure DevOps Basic + 测试计划
- vb.net - VS 2019 Visual Basic导航栏类列表选择时不刷新