华中科技大学c++第5次上机作业 联系客服

发布时间 : 星期四 文章华中科技大学c++第5次上机作业更新完毕开始阅读245530b3112de2bd960590c69ec3d5bbfd0adaee

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 using namespace std;

void funMaxMin(int a[], int n, int *max, int *min) {

int i,j; *max=0; *min=0;

for (i=0;ia[*max]) *max=i; }

for(j=0;j

int main() {

cout<<\请输入所需要判断的数字的个数\ int n,i,a[100],max,min; cin>>n;

cout<<\请输入数组元素\ for (i=0;i>a[i];

funMaxMin(a,n,&max,&min);

cout<<\最大值为\cout<<\最小值为\return 0; }

2) 解决本题的算法思路描述

编写函数分别将每一个数与最大值和最小值比较,将较大的数的下标给*max较小的数的下标给*min

定义一个一维数组,输入数组的值,引用第一个函数,求得最大值和最小值的下标 通过下标输出最大值和最小值。

3) 调试过程的记载(包括出现的错误,以及修改?)

开始时求最大值和最小值的下标时出现错误。 4) 归纳本题应用的知识点或算法 函数的定义与调用

函数需要返回多个值的做法 数组的相关知识 循环语句

6)编写一个递归函数,统计任意位正整数的位数,并在主函数中输入这个整数和输出统计的结果。 要求:

1) 程序原代码。(直接粘贴在此)

#include using namespace std; int ws (int a) {

if (a>=0&&a<10) return 1; else return 1+ws(a/10); }

int main() {

int a;

cout<<\请输入一个整数\ cin>>a;

cout<<\该整数的位数为\return 0; }

2) 解决本题的算法思路描述

定义ws函数,通过整除10来求得整数的位数 Main函数中调用ws函数求得位数 输出位数

3) 调试过程的记载(包括出现的错误,以及修改?)

未出现错误

4) 归纳本题应用的知识点或算法 计算整数位数的方法 循环语句

函数的定义与调用

7)编写程序要求能对10个字符串排序,然后用折半查找的方法查询需查找的字符串。要求①排序、②查找和③两字符串的交换分别用自定义函数实现。要求:是否找到的信息只能在主函数中输出显示。

要求:

1) 程序原代码。(直接粘贴在此)

#include #include using namespace std;

void swap(char a[],char b[]); void paixu(char a[][50]);

int search(char a[][50],char searchname[]); int main() {

int i;

char searchname[50],aa[10][50]; cout<<\请输入十个字符串\ for(i=0;i<10;i++) { cin>>aa[i]; }

cout<<\请输入要查找的字符串名称\ cin>>searchname;

if((search(aa,searchname)==0)) cout<<\未查找到该字符串\ else cout<<\该字符串存在\ return 0; }

void swap(char a[],char b[]) {

char c[50]; strcpy(c,a); strcpy(a,b); strcpy(b,c); }

void paixu(char a[][50]) {

int min,i,j;

for(i=0;i<10;i++) { min=i; for(j=i;j<10;j++) { if(strcmp(a[min],a[j])>0) swap(a[min],a[j]); } } }