int a[50],i,t=0,j; srand(time(0));
a[0]=(rand()0+100); for(i=1;i<50;i++) { t=0;
a[i]=(rand()0+100); for(j=0;j
cout<<\生成的50个随机数为:\for(i=0;i<50;i++) {
cout<
cout<<\其中的素数为:\for(i=0,j=0;i<50;i++) {
if(ss(a[i])) { cout<
cout< int ss (int b) { int a=1,n; for (n=2;n } return a; } 2) 解决本题的算法思路描述 编写一个求素数的函数 主函数中定义一个含50个元素的数组 当该变量的值位于100到200之间时,将该变量的值赋给数组中的元素,并与前面所有值进行比较,若重复,则重新赋值。 不断循环,直到数组中的每个数都被赋值 输出数组中的各个数,依次用求素数的函数判断该数组中的元素是否为素数,是则输出。 3) 调试过程的记载(包括出现的错误,以及修改) 编写求素数的函数时,i从0开始,导致循环无法实现。 4) 归纳本题应用的知识点或算法 For循环,break语句的使用 函数的调用 生成随机数函数的使用 if语句及数组 3)编写一个函数实现将一个十六进制整数转换为一个十进制整数。例如,输入”A2”转换为162。 提示:循环对读入的每个字符转换成对应的十进制数字,比如’1’的值为1,’A‘为10,’F’为15,将转换后得到的数字进行计算处理。 函数的原型可以声明为: int funChange(char s[]); //函数的功能是将s数组存放的字符串转换为十进制数值返回,参数应采用数组名传递方式,即形参数组与实参数组共用同一地址空间。 要求: 1) 程序原代码。(直接粘贴在此) #include int i,m,b[100],sum=0; for(i=0;s[i]!=0;i++) { if(s[i]>='0'&&s[i]<='9') { b[i]=(int(s[i])-48); } elseif(s[i]>='a'&&s[i]<='f') b[i]=int(s[i])-87; elseif(s[i]>='A'&&s[i]<='F') b[i]=int(s[i])-55; } m=i; for(i=0;i return sum; } int main( ) { char s[20]; cout<<\请输入要转换的十六进制数字\ cin.getline(s,20); cout<<\转化成十进制为:\ cout< } 2) 解决本题的算法思路描述 用一个字符数组记录该十六进制数 将该数的每一位分别转换为十进制数并用数组b[100]记录, 用一重循环对其进行求和即可 3) 调试过程的记载(包括出现的错误,以及修改?) 头文件的int funchange (char s[])括号中忘记加chars[]; 4) 归纳本题应用的知识点或算法 数组的使用,if-else语句的使用,for循环的使用,函数的调用 4)编写函数验证哥德巴赫猜想,任意一个充分大的偶数均可表示成两个素数之和。要求定义两个函数,一个函数判断一个整数是否是素数,另一个函数验证哥德巴赫猜想,即将一个偶数分解为两个素数,并返回这两个素数。利用函数的嵌套调用完成(即在验证哥德巴赫猜想的函数中调用判断素数函数)。例如 8=3+5这样的显示信息在主函数中完成。 要求: 1) 程序原代码。(直接粘贴在此) #include int m,n=1,i; for(i=2;i break; } } return n; } void gede(int b,int*c,int*d) { int i,k=0; for(i=1;i if(k==1) { *c=i; *d=b-i; } } int main() { int b,c,d; cout<<\请输入一个偶数\cin>>b; gede(b,&c,&d); cout< } 2) 解决本题的算法思路描述 定义一个函数判断数据是否为素数 定义函数检验哥德巴赫猜想,从1开始循环,看是否存在两个素数使得其和为该偶数 通过指针变量和引用返回这两个素数 输出 3) 调试过程的记载(包括出现的错误,以及修改?) 在指针变量和引用的时候出现错误 4) 归纳本题应用的知识点或算法 函数的定义调用 函数的嵌套 循环语句 求素数的方法 5)编写函数,求出任意一个一维数组元素中的最大值和最小值的下标。要求在主函数中输入数组元素的值,输出最大值和最小值。 提示:本题要求将一维数组的元素传入到函数进行处理,对于大量的数据的传递,最好的方式是使用数组名作为实际参数传递,在这种情况下,形参可以是指针也可以是数组,通过形参能直接对实参数组的数据进行处理。本题的问题是获取数组元素的最大值和最小值,在函数中有两个值需要返回到主函数,因此不能用return语句,需使用指针或引用参数进行回传。 函数的原型可以声明为: void funMaxMin(int a[], int n, int *max, int *min) //函数的功能获取数组元素的最大值和最小值下标。 要求: 1) 程序原代码。(直接粘贴在此) #include void funMaxMin(int a[], int n, int *max, int *min) { int i,j; *max=0; *min=0; for (i=0;i for(j=0;j cout<<\请输入所需要判断的数字的个数\ int n,i,a[100],max,min; cin>>n; cout<<\请输入数组元素\ for (i=0;i funMaxMin(a,n,&max,&min); cout<<\最大值为\cout<<\最小值为\return 0; } 2) 解决本题的算法思路描述 编写函数分别将每一个数与最大值和最小值比较,将较大的数的下标给*max较小的数的下标给*min