我必须写一个程序,它循环读取一个数字列表,直到用户给出数字0.数字0不包括在计算中,只是结束数据的信号。下一个程序从数字串写入min和max元素,以及输入的次数。例如(2,3,1,5,4,2,3,1,5,1)
最少1次
最多5次
我有数字的问题,因为当我有最大并输入较低的数字时,我的 lmax 会越来越高。第二个问题是程序不响应'0'。我做错了什么?
int number;
int min = 0;
int max = 0;
int lmin = 1;
int lmax = 1;
do {
cout << "Number: ";
cin >> number;
if (min == 0 && max == 0) {
min = number;
max = number;
}
else if (number > max && number !=0) {
max = number;
lmax = 1;
}
else if (number < min && number != 0) {
min = number;
lmin = 1;
}
else if (number = max) {
lmax++;
}
else if (number = min) {
lmin++;
}
} while (number != 0);
cout << "Min " << min << " " << lmin << " times" <<endl;
cout << "Max " << max << " " << lmax << " times" << endl;
}
答案 0 :(得分:2)
您正在使用=
而不是==
来解决部分问题。尝试更改
else if (number = max) {
类似
else if (number == max) {