《C Primer Plus 第五版》第十章(数组和指针)编程练习
2012-11-22 16:06
423 查看
1、找不到
2、编写一个程序,初始化一个double数组,然后把数组内容复制到另外…………
3、编写一个函数,返回一个int数组中储存最大的数值,并在一个简单的程序中测试这个函数
4、编写一个函数,返回一个double数组中存储的最大数值的索引,并在一个简单程序中测试函数
5、编写一个函数,返回一个double数组中最大值和最小值的差值
6、编写一个函数,初始化一个二维数组…………
----------------------------------------------------------------代码分割线----------------------------------------------------------
2、编写一个程序,初始化一个double数组,然后把数组内容复制到另外…………
3、编写一个函数,返回一个int数组中储存最大的数值,并在一个简单的程序中测试这个函数
4、编写一个函数,返回一个double数组中存储的最大数值的索引,并在一个简单程序中测试函数
5、编写一个函数,返回一个double数组中最大值和最小值的差值
6、编写一个函数,初始化一个二维数组…………
----------------------------------------------------------------代码分割线----------------------------------------------------------
//第2题的代码 #include <stdio.h> void cpp(double source[], double den1[], int len) ; void cpp_2(double * source, double * denp, int len) ; int main (void) { double source[5] = {1.0, 2.2, 3.8, 4.11, 5.335} ; double den1[5] ; double denp[5] ; cpp(source, den1, 5) ; cpp_2 (source, denp, 5) ; return 0 ; } void cpp(double source[], double den1[], int len) { int i ; for (i=0;i<len;++i) { den1[i] = source[i] ; printf("den1[%d] = %.3lf\n", i+1,den1[i]) ; } printf("\n\n") ; } void cpp_2(double * source, double * denp, int len) { int i ; for (i=0;i<len;++i) { * (denp + i) = * (source + i) ; printf("denp[%d] = %.3lf\n", i+1, denp[i]) ; } }
//第3题 #include <stdio.h> int compare(int ar[], int len) ; int main (void) { int i_arry[5] = {5, 18, 4, 28, 23} ; int back ; back = compare(i_arry,5) ; printf("数组的最大值为:%d\n",back) ; return 0 ; } int compare(int ar[], int len) //比较大小函数 { int i , t ; for (i=0;i<len-1;++i) { if ( ar[i] > ar[i + 1] ) { t = ar[i] ; ar[i] = ar[i + 1] ; ar[i + 1] = t ; } } return ar[4] ; }
//第4题 #include <stdio.h> int a_index(double ar[], int len) ; int main (void) { double d_arry[7] = {9.3, 11.5, 5.44, 12.6, 39.643, 40.05, 1.39} ; int back ; back = a_index(d_arry, 7) ; printf("最大值的索引为%d",back) ; return 0 ; } int a_index(double ar[], int len) { double aa ; int back, i ; for (i=1,aa=ar[0];i<len;++i) { if (aa < ar[i]) { aa = ar[i] ; back = i ; } } return back ; }
//第5题 #include <stdio.h> int sort(double ar[], int len) ; int main (void) { double ld_arry[6] = {11.2, 12.5, 10.11, 10.660, 43.654, 30.124} ; sort(ld_arry, 6) ; printf("数组的最大值和最小值的差值为:%.3lf", (ld_arry[5] - ld_arry[0]) ) ; //注意!浮点数相减会损失精度,因此存在误差 return 0 ; } int sort(double ar[], int len) //冒泡排序找出最小值和最大值,分别放置数组第一个int和最后一个int { int i, j, t ; for(i=0;i<len-1;++i) { for(j=0;j<len-i-1;++j) if ( ar[j] > ar[j+1] ) { t = ar[j] ; ar[j] = ar[j+1] ; ar[j+1] = t ; } } }
//第6题 #include <stdio.h> #define CLOS 2 void cpp(double ar[][2], double cp[][2], int len) ; int main (void) { double arry[3][2] = { {1, 3}, {5, 7}, {9,11} } ; double by[3][2] ; cpp(arry, by, 3) ; return 0 ; } void cpp(double ar[][2], double cp[][2], int rows) { int i, j ; for (i=0;i<rows;++i) { for(j=0;j<CLOS;++j) { cp[i][j] = ar[i][j] ; printf("cp[i][j] = %lf\n", cp[i][j]) ; } } }
//第7题 #include <stdio.h> void cpp(int ar[], int ar2[], int len) ; int main (void) { int se_arry[7] = {1, 2, 3, 4, 5, 6, 7} ; int thr_arry[3] ; cpp( (se_arry + 2), thr_arry, 3 ) ; return 0 ; } void cpp(int ar[], int ar2[], int len) { int i; for (i=0;i<len;++i) { ar2[i] = ar[i] ; printf("ar2[%d] = %d\n", i+1, ar2[i]) ; } }
相关文章推荐
- C Primer Plus (第五版) 第十章 数组和指针 编程练习
- 记录——《C Primer Plus (第五版)》第十章编程练习第十题
- 记录——《C Primer Plus (第五版)》第十章编程练习第十一题
- c++ primer plus 第五版 第七章 编程练习 第 8 题 (字符数组转成字符串,trim使用,判断空行)
- 记录——《C Primer Plus (第五版)》第十章编程练习第一题
- 记录——《C Primer Plus (第五版)》第十章编程练习第二题
- 记录——《C Primer Plus (第五版)》第十章编程练习第三题
- 记录——《C Primer Plus (第五版)》第十章编程练习第四题
- 记录——《C Primer Plus (第五版)》第十章编程练习第五题
- C Primer Plus 第10章 数组和指针 编程练习
- c++.primer.plus第五版第十章编程练习答案
- 记录——《C Primer Plus (第五版)》第十章编程练习第六题
- 记录——《C Primer Plus (第五版)》第十章编程练习第七题
- 记录——《C Primer Plus (第五版)》第十章编程练习第八题
- C primer plus(第五版)编程练习第十章
- 记录——《C Primer Plus (第五版)》第十章编程练习第九题
- C++ Primer Plus第五版 第十三章 编程练习答案
- C primer plus(第五版)编程练习第四章
- 记录——《C Primer Plus (第五版)》第八章编程练习第五题
- C Primer Plus (第六版)中文版 第十章 编程练习答案