当前位置:首页 > 华中科技大学c++第5次上机作业
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 int main() { 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 定义一个一维数组,输入数组的值,引用第一个函数,求得最大值和最小值的下标 通过下标输出最大值和最小值。 3) 调试过程的记载(包括出现的错误,以及修改?) 开始时求最大值和最小值的下标时出现错误。 4) 归纳本题应用的知识点或算法 函数的定义与调用 函数需要返回多个值的做法 数组的相关知识 循环语句 6)编写一个递归函数,统计任意位正整数的位数,并在主函数中输入这个整数和输出统计的结果。 要求: 1) 程序原代码。(直接粘贴在此) #include 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 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]); } } }
共分享92篇相关文档