调用自定义函数输入输出一维数组调用自定义函数9.pptVIP

  • 260
  • 0
  • 约4.57千字
  • 约 28页
  • 2018-07-09 发布于江苏
  • 举报

调用自定义函数输入输出一维数组调用自定义函数9.ppt

调用自定义函数输入输出一维数组调用自定义函数9

6.3.1 调用自定义函数输入输出一维数组 6.3.2 调用自定义函数将数据逆置 6.3.3 调用自定义函数求最大值 6.3.4 调用自定义函数判断回文 6.3.5 调用自定义函数计算两个矩阵的和 6.3 调用自定义函数处理数组 P148 6.3.1 调用自定义函数输入输出一维数组 【实例6.6】编写程序,定义2个数组a和b,数组a中存放10种上等产品的产量,数组b中存放6种下等产品的产量。 P148 在主函数中定义数组a和b、调用2次data_in函数给数组a和b输入产量、调用2次data_out函数输出数组a和b中的产量。 data_in和data_out函数的形参应该是指向数组的指针变量和存放数组元素个数的int型变量。 #include stdio.h void data_in(int *p,int n); void data_out(int *p,int n); main() { int a[10]={0},b[6]={0}; printf(Input a:); data_in(a,10); printf(Input b:); data_in(b,6); printf(Array a:); data_out(a,10); printf(Array b:); data_out(b,6); } 定义一次调用两次 定义一次调用两次 减少重复劳动 void data_in(int *p,int n) { int i=0; for(i=0; in; i++,p++) scanf(%d,p); } void data_out(int *p,int n) { int i=0; for(i=0; in; i++,p++) printf(%5d,*p); printf(\n); } 得到数组首地址 void data_in(int *p,int n) { int i=0; for(i=0; in; i++,p++) scanf(%d,p); } void data_out(int *p,int n) { int i=0; for(i=0; in; i++,p++) printf(%5d,*p); printf(\n); } 元素个数不同时也适用 6.3.2 调用自定义函数将数据逆置 【实例6.7】改写实例5.3,调用函数实现逆序存放数据的功能。 P149 调用backward函数将数据逆序存放,调用2次data_out函数输出原始数据和逆序存放后的数据。 #include stdio.h void backward(int *p,int n); void data_out(int *p,int n); main() { int a[10]={1,2,3,4,5,6,7,8,9,10}; printf(Original:\n); data_out(a,10); backward(a,10); printf(Final:\n); data_out(a,10); } void backward(int *p,int n) { int t=0,*q=NULL; q=p+n-1; while(pq) { t=*p; *p=*q; *q=t; p++; q--; } } void data_out(int *p,int n) { int i=0; for(i=0; in; i++,p++) printf(%5d,*p); printf(\n); } 6.3.3 调用自定义函数求最大值 【实例6.8】改写实例5.4,输入100名学生的学号和学年总平均成绩,调用函数找出其中成绩最高的学生。 P151 编写找最大值的函数,该函数功能是找最高成绩对应的下标并返回到主调函数中。 #include stdio.h #define N 5 void data_in(int *p,float *q); void data_out1(int *p); void data_out2(float *p); int data_max(float *p); N在各函数中通用,无需传递元素个数 main() { int num[N]={0},k=0; float score[N]={0.0}; printf(numbers and scores:\n); data_in(num,score); data_out1(num); data_out2(score);

文档评论(0)

1亿VIP精品文档

相关文档