资源预览内容
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
3.下列程序计算1000以内能被3整除的自然数之和,请完成程序。 #include void main() int x=1, sum; 1 while(1) if( 2 )break; if( 3 )sum+=x; x+; coutsumendl; 1. 1 #include 2 break; 3 jtemp 2. 1 a1000 3x%3=0 四、程序填空题 1. 下面的函数fun未使用中间变量实现对两个数的交换,请完成下列函数的定义。 void fun(int &x, int &y) x+=y; y= 1 ; 2 ; 2.下面的函数bubble()是对整数数组a按升序排序的冒泡算法,其中,参数a存储将被排序的数据,size是数组a中存储的元素数目,请完成该函数。 void bubble(int a, int size) 1 ; for(int p=1; 2 ; p+) for(int i=0; 3 ; i+) if(aiai+1) temp=ai; 4 ; 5 ; 3. 下面的函数Sort()用于对整数数组array按升序排序的选择排序算法,其中参数n表示array数组中存储的数组元素数。例如,假设数组array中有10个元素,选择排序就是:先将10个数中的最小数与a0对换;再将a1到a9中的最小数与a1对换,.,直到排序完成。请完成该函数。 void Sort( int array, int n) int k; 1 ; for(int i=0; in-1; i+) 2 ; for(int j= 3 ; jn; j+) if(arrayjarrayk)k=j; t=arrayk; 4 ; 5 ; 4. 以下程序的功能是求三角函数sinx的近似值,其计算精度为0.000001。已知求sinx近似值的计算公式为: )!12()1(!7!5!31sin)12(1753.nxxxxxxnn.其中,x的值为弧度。 当输入的x 值为度数时,将度数转化为弧度的公式为: 1801415926.3xy.#include#include double sin(double x,double eps) double term,sum,y; int n=1; y=x*x; term= 1 ; sum=0; while(fabs(term)=eps) sum += 2 ; n+; term = term*y/ 3 ; term *= -1; return 4 ; void main(void) double x,y; coutx; while(x360)x -= 360; y= 5 ; cout角度为x的sin值是sin(y,1e-6)n; 1. 1x-y 2x=x-y或x-=y 2. 1int temp 2psize 3isize-p 4ai=ai+1 5ai+1=temp 3. 1int t; 2k=i 3i+1 4arrayk=arrayi 5arrayi=t 4. 1x 2term 3(2*n-1)*(2*n-2) 4sum 53.1415926*x/180 四、程序填空题 1. 统计字符串中英文字母个数的程序。 #include using namespace std; int count (char str); void main() char s180; coutEnter a line:; 1 ; coutcount=count(s1)=a & stri=A & stri=Z) 2 ; return 3 ; 2.如果矩阵A乘以B得到C,则必须满足如下的规则: 矩阵A的列数等于矩阵B的行数; 矩阵A的行数等于矩阵C的行数; 矩阵B的列数等于矩阵C的列数; 矩阵相乘的乘法公式为: .nkkjikijbac1下面的函数MultiMatrix()用于求解整数矩阵的乘积,其中参数a、b和c分别表示存储乘数、被乘数以及乘积结果的二维数组,arow和acol、brow和bcol以及crow和ccol分别表示矩阵a的行数和列数、矩阵b的行数和列数以及矩阵c的行数和列数,且该函数被调用时的实参满足:acol=4、bcol=5及ccol=5。MultiMatrix()函数当提供的矩阵不满足矩阵相乘的条件时该函数返回1,否则返回0,请完成该函数。 int MultiMatrix(int a4, int arow, int acol, int b5, int brow, int bcol, int c5, int crow, int ccol) if(acol!=brow)return 1; if( 1 )return 1; if( 2 )return 1; for(int i=0; icrow; i+) for(int j=0; 3 ; j+) 4 ; for(int n=0; 5 ; n+) cij+=ain*bnj; return 0; 3. 下面的函数fun未使用中间变量实现对两个数的交换,请完成下列函数的定义。插入排序是通过把数组中的元素插入到适当位置来进行排序的。插入排序的步骤为: (1)将数组中的头两个元素按排序顺序排列 (2)把下一个元素(第3个元素)插入到其对应于已排序元素的排序位置 (3)对于数组中的每个元素重复(2),即把第4个元素插入到适当文职,然后是第5个,等等,直到所有元素都插入排序完成 下面的程序利用了插入排序函数isort()进行排序,并在主函数中将排序前和排序后的数组元素打印,请将程序补充完整。 #include void isort(int a,int size) /*a为被排序数组,size为a中包含的元素个数*/ int inserter,index; for(int i=1;i=0 & 2 ) aindex+1=aindex; index-; aindex+1= 3 ; void main() int array=55,2,6,4,32,12,9,73,26,37; int len= 4 ; for(int i=0;ilen;i+) coutarrayi,; coutendl; isort(array, 5 ); for(int i=0;ilen;i+) coutarrayi,; couts1 2 num+; 3 num 2. 1crow!=arow 2ccol!=bcol 3jccol 4cij=0 5nacol 3. 1size 2inserteraindex 3inserter 4sizeof(array)/sizeof(int) 5len 五、程序填空题 1. 下面程序要利用指针变量作为形参实现两个变量的值互换,请在下面的下划线处填入正确的程序代码,完成程序功能。 #include using namespace std; int main() void swap(int *,int *); int i=5,j=8; 1 ; couti jendl; return 0; void swap(int *p1,int *p2) int temp; temp=*p1; 2 ; 3 ; 2. 下面的函数Fun将一个整数字符串转换为一个整数。 # include # include using namespace std; int Fun (char *str) int num, digital, len; 1 ; len=strlen(str); while (*str!=NULL) digital=*str-0; for (int i=0; 2 ; i+) 3 ; len-; str+; num+=digital; return num; 3. 以下程序求二维数组的最大值及其行列下标并打印。 #include #include using namespace std; void find( int a34, int *maxi, int *maxj ) int i, j; *maxi=0; *maxj=0; for (i=0; i3; i+) for (j=0; j4; j+) if (aij 1 a*maxi*maxj) *maxi=i, *maxj=j; void main() int a34=3,8,9,5,0,-1,1,-2,3,7,6,3, maxp, minp, i, j; find( 2 ); coutmax= 3 endl; couti=maxpendl; coutj=minpendl; 4. 下面程序要利用形参实现两个变量的值互换,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号