|
5鱼币
菜鸟又来求助了;一个实验作业,输入一个3X4的数组先找出每一-行中 的最大元素,再分别除该行中的所有元素,最后输出数组。要求:定义和调用函数处理数组中的元素,在函数中使用指针、数组各一次。
- #include<stdio.h>
- void max(float a[3][4])
- {
- float m[3];
- int i, j;
- for (i = 0;i < 3;i++) {//取出最大值
- for (j = 0; j < 4;j++) {
- if (a[i][j] >= m[i]) {
- m[i] = a[i][j];
- }
- }
- }
- for (i = 0;i < 3;i++) {//各项除去最大值
- for (j = 0;j < 4;j++) {
- a[i][j] = a[i][j] / m[i];
- }
- }
- }
- int main()
- {
- float a[3][4];
- int i, j;
- printf("请输入3*4的数组:");
- for (i = 0;i < 3;i++) {
- for (j = 0;j < 4;j++) {
- scanf("%f", &a[i][j]);
- }
- }
- max(a);
- for (i = 0;i < 3;i++) {
- for (j = 0;j < 4;j++) {
- printf("%.2f ", a[i][j]);
- }
- printf("\n");
- }
- return 0;
- }
复制代码
功能是实现了,但是还要要求用到指针 大佬能看看怎么改嘛?
指针和数组之间有什么区别?
这样算指针和数组各使用一次吗?
- #include<stdio.h>
- //void max(float a[3][4])
- void max(float (*a)[4])
- {
- float m[3];
- int i, j;
- for (i = 0;i < 3;i++) {//取出最大值
- for (j = 0; j < 4;j++) {
- if (a[i][j] >= m[i]) {
- m[i] = a[i][j];
- }
- }
- }
- for (i = 0;i < 3;i++) {//各项除去最大值
- for (j = 0;j < 4;j++) {
- a[i][j] = a[i][j] / m[i];
- }
- }
- }
- int main()
- {
- float a[3][4];
- int i, j;
- printf("请输入3*4的数组:");
- for (i = 0;i < 3;i++) {
- for (j = 0;j < 4;j++) {
- scanf("%f", &a[i][j]);
- }
- }
- max(a);
- for (i = 0;i < 3;i++) {
- for (j = 0;j < 4;j++) {
- printf("%.2f ", a[i][j]);
- }
- printf("\n");
- }
- return 0;
- }
复制代码
|
最佳答案
查看完整内容
指针和数组之间有什么区别?
这样算指针和数组各使用一次吗?
|