定义一个10个元素的整型数组,完成以下操作:
1、 让用户从键盘逐个输入数据元素,输出数组内容;
2、 将数组中最大数与最小数的位置对换后,输出数组内容。
3、 输出数组中的素数。
4、 将数组按降序排序,输出数组内容。
#include <iostream>
#include <math.h>
using namespace std;
bool numIsPrime (int num) {
int i;
int iSqrt = sqrt(num);
for (i = 2; i <= iSqrt; ++i) {
if(num % i == 0)return false;
}
return true;
}
void sortAsDsc (int arr[]) {
int i, k;
int iTmp;
for (i = 0; i < 10 - 1; ++i) {
for (k = 0; k < 10 - 1 - i; ++k) {
if (arr[k] < arr[k + 1]) {
iTmp = arr[k];
arr[k] = arr[k + 1];
arr[k + 1] = iTmp;
}
}
}
}
int main() {
int arr[10];
int i = 0;
int max;
int min;
int iTmp;
while(i < 10) {
cin >> arr[i++];
}
max = 0;
min = 0;
for (i = 0; i < 10; ++i) {
cout << arr[i] << " ";
if (arr[i] > arr[max])max = i;
if (arr[i] < arr[min])min = i;
}
cout << endl << endl;
iTmp = arr[max];
arr[max] = arr[min];
arr[min] = iTmp;
for (i = 0; i < 10; ++i) {
cout << arr[i] << " ";
}
cout << endl << endl;
for (i = 0; i < 10; ++i) {
if (numIsPrime(arr[i]))cout << arr[i] << " ";
}
cout << endl << endl;
sortAsDsc(arr);
for (i = 0; i < 10; ++i) {
cout << arr[i] << " ";
}
cout << endl << endl;
return 0;
}
结果
本回答被提问者采纳系统显示有几处错误,而且有人已经给出正确答案了,就不好意思了
看不太懂,而且前面那位已经回答了,不好意思了
追答没关系,帮不到您,帮到了别人也可以的。