从键盘输入整数n表示一维数组长度,根据n的值动态申请存储空间,并输入n个数对数组元素赋值,利用指针编写函数获取n个数中最小元素的地址,并输出其在数组中的下标
a. 输入和输出示例:
第1行是输入的n的值,第2行是输入的n个元素,第3行输出n个数中最小元素的值及其下标;如果有多个最小元素,输出第1个最小元素的下标
b. 说明:
i. 程序中包含主函数main()和子函数
ii. 在主函数中实现从键盘对数组长度n和数组元素赋值
iii. 子函数有2个参数:第一个参数是指针变量,第二个参数是一维数组的长度
iv. 子函数的返回值是一个指针,返回的是n个数中最小元素的地址
v. 在主函数中通过同类指针相减输出最小元素的下标
int *minimum(int *p,int n)
{
int *q = p;
for(int i=0;i<n;i++)
{
if(*p < *q)
q = p;
p++;
}
return q;
}
:#include
#include"trap.h"
#include
using namespace std;
int main()
{
int n;
cin >> n;
int count = 0;
Arraynice(10);
int i;
for (i = 2; i < n; i++)
{//检查i能否被比它小的质数整除
bool judge = true;
for (int j = 0; j < count; j++)//如果i被nice[j]整除说明i不是质数
{
if (i % nice[j] == 0)
{
judge = false;
break;
}
}
if (judge)
{
if (count == nice.getsize())//如果质数表满了将其空间加倍
nice.resize(count * 2);
nice[count++] = i;
}
}
for (i = 0; i < count; i++)
cout <<setw(8)<< nice[i];
}//个人认为a[0]一开始应该是一个随机数