使用switch语句创建一个代码,当除以8时输出余数(0,1,2,3等)。用户输入20从0到99的整数。每个余数应显示其总计数。
例如:这是输出的方式。
Total number with remainder 0 is 4.
Total number with remainder 1 is 6.
Total number with remainder 2 is 5.
Total number with remainder 3 is 3.
Total number of other remainder is 2.
/
#include <iostream>
using namespace std;
int main()
{
int i, x[20];
cout << "Enter 20 integer numbers from 0 to 99: " <<endl;
for (i=1;i<=20;i++)
{
cout << "Input " << i <<":";
cin >> x[i]; // above this code, its working.
}
int remainder ; // From here im not sure how i should do it
switch (remainder)
{
case x[i] % 8 == 0 :
cout << "Total number with remainder zero is " << endl ;
break;
case x[i] % 8 == 1 :
cout << "Total number with remainder one is " << endl ;
break;
case x[i] % 8 == 2 :
cout << "Total number with remainder two is " << endl ;
break;
case x[i] % 8 == 3 :
cout << "Total number with remainder three is " << endl ;
break;
default :
cout << "Total of others is " << endl ;
}
return 0 ;
}
我对switch语句有一般的了解。我是c ++的新手,也是这个网站的新手。错误之间是案件的一部分。它说我不能使用x [i]。那么我应该使用x还是其他整数?我不知道如何计算每个案件的总数。我应该使用count ++吗?
答案 0 :(得分:0)
Switch语句应该具有测试条件,然后根据结果执行命令。这里的问题是你正在测试一个没有值的变量。括号包含正在测试的数据。这些情况是根据结果值执行给定的命令。你在这里测试的是x[i] % 8
。这应该放在括号中。案件应该附加价值。
switch (x[i] % 8) {
case 0: //...
case 1: //...
case 2: //...
case 3: //...
default: //...
}
case
将测试括号中所采取操作的结果是否等于其指定值(例如0,1,2,3或默认值)并执行指定的命令。