c++ - 多维数组,else语句如何显示一次?
问题描述
我有这个 3 by 3 的矩阵Matrix[3][3]
。我的任务是显示包含至少两个素数的矩阵的行号,我已经完成了这个素数工作,但问题是,我必须显示此消息一次cout << "No row containing at least two prime numbers" << endl;
。由于迭代,如果任何行不包含两个素数或只有一行包含两个素数,它会显示我这三倍/两次。如果没有或任何消息,我希望消息只显示一次。
主要数字代码...
cout << "ROW NUMBER CONTAINING AT LEAST TWO PRIME NUMBERS" << endl;
for (int i = 0; i < 3; i++)
{
Count = 0;
for (int j = 0; j < 3; j++)
{
Prime = 0;
for (int k = 2; k < Matrix[i][j]; k++)
{
if (Matrix[i][j] % k == 0)
{
Prime = 1;
break;
}
}
if (Prime == 0)
{
Count += 1;
}
}
if (Count == 2)
{
cout << "ROW NUMBER " << i + 1 << endl;
}
else
{
cout << "NO ROW CONTAINING AT LEAST TWO PRIME NUMBERS" << endl;
}
}
解决方案
只需添加另一个计数变量
int row_count = 0;
for (int i = 0; i < 3; i++)
{
...
if (Count == 2)
{
cout << "ROW NUMBER " << i + 1 << endl;
row_count += 1;
}
}
if (row_count == 0)
cout << "NO ROW CONTAINING AT LEAST TWO PRIME NUMBERS" << endl;
不是世界上最漂亮的代码,但它可以完成工作。
顺便说一句,至少有两个素数,所以
if (Count == 2)
应该
if (Count >= 2)
推荐阅读
- javascript - 为什么我的上下文菜单会在页面顶部添加空白区域?
- postgresql - 使用 Slick 进行多重 OR 过滤
- mqtt - 无法连接到 Mosquitto 代理
- php - 如何在 Laravel 5.8 中调用另一个表中的数据
- keras - 字符串数据类型的 keras pad_sequence
- java - Apache Camel:拆分期间创建的属性在拆分后丢失
- python - Python读取文件N行转换为1行
- python - TensorFlow NN 嵌入 C++ 项目
- apache - 如何在 yii2 apache 中为子域添加 ssl
- deep-learning - 我在计算模型的准确率、召回率、精度和 f1 分数时遇到问题