c++求答案,定义一个10个元素的整型数组,完成以下操作 1、让用户从键盘逐个输入数据元素,输出数组内容

2025-01-31 19:14:22
推荐回答(3个)
回答1:

#include

#include

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;

}

结果

回答2:

  #include

  using namespace std;

  void main(void)
  {
  int a[10];
  for(int i=0;i<10;i++)
  cin>>a[i];
  for(i=0;i<10;i++)
  cout<  cout<
  int max, min, imax, imin;
  max=min=a[0];
  imax=imin=0;
  for(i=1;i<10;i++)
  if(a[i]>max) {max=a[i]; imax=i;}
  else if(a[i]  int t=0;
  t=a[imax];
  a[imax]=a[imin];
  a[imin]=t;
  for(i=0;i<10;i++)
  cout<  cout<
  for(i=0;i<10;i++)
  {
  for(t=2;t  if(a[i]%t==0) break;
  if(t>=a[i]&&a[i]!=0) cout<  }
  cout<
  for(i=0;i<9;i++)
  for(int j=0;j<9-i;j++)
  if(a[j]  {
  t=a[j];
  a[j]=a[j+1];
  a[j+1]=t;
  }
  for(i=0;i<10;i++)
  cout<  cout<  }

回答3:

void printExchageMaxAndMin(int array[], int arrayLen)
{
int min = 0;
int max = 0;
int i = 0;
for (i = 1; i < arrayLen; i++)
if (array[i] < array[min])
min = i;
else if (array[i] > array[max])
max = i;
for (i = 0; i < arrayLen; i++)
if (i == min)
cout< else if (i == max)
cout< else
cout< cout<}
void printPrime(int array[], int arrayLen)
{
for (int i = 0; i < arrayLen; i++)
{
int j = 2;
for (j = 2; j < sqrt(array[i]); j++)
if (array[i] % j == 0)
break;
if (j != sqrt(array[i]) && array[i] != 1)
continue;
cout< }
cout<}
void printSort(int array[], int arrayLen)
{
int *arrayCopy = new int[arrayLen];
memcpy(arrayCopy, array, arrayLen);
for (int i = 0; i < arrayLen; i++)
{
for (int j = i + 1; j < arrayLen; j++)
if (arrayCopy[i] < arrayCopy[j])
{
int exchange = arrayCopy[i];
arrayCopy[i] = arrayCopy[j];
arrayCopy[j] = exchange;
}
cout< }
cout< delete []arrayCopy;
}
void main()
{
int array[10] = {0};
for(int i = 0; i < 10; i++)
cin>>array[i];
printExchageMaxAndMin(array, 10);
printPrime(array, 10);
printSort(array, 10);
}