C语言编程题 求代码

输入整数m,n动态分配m×n个浮点型单元,要求采用二维数组的结构化数据表示。通过随机函数产生每个单元的值,计算并输出其中的最小值及其行、列索引位置。

#include "stdafx.h"

#include <iostream>

#include <time.h>

using namespace std;

#define M 10

#define N 10



int main()

{

int m, n,x;

float num[M][N],min;

cout << "请输入m、n的值:" << endl;

cin >> m >> n;

void output(float a[][10], int b, int c);

float findmin(float a[][10], int b, int c);

srand(time(NULL));

for(int i=0;i<m;i++)

for (int j = 0; j < n; j++)

{

x = rand() % 100 + 1;

num[i][j] =(float) x / 100+rand()%100;   //100以内小数

}

output(num, m, n);

min = findmin(num, m, n);

system("pause");

    return 0;

}

void output(float a[][10], int b, int c)

{

for (int i = 0; i < b; i++)

{

for (int j = 0; j < c; j++)

printf("%4.2f ",a[i][j]);

cout << endl;

}

}

float findmin(float a[][10], int b, int c)

{

float min = 100;

int p, q;

for (int i = 0; i < b; i++)

{

for (int j = 0; j < c; j++)

{

if (a[i][j] < min)

{

min = a[i][j];

p = i;

q = j;

}

}

}

cout << "最小数在第" << p << "行第" << q << "列,该数是:" << min<<endl;

return min;

}

追问

要c语言的代码……您这个好像是C++还是JAVA

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-12-17

#include<stdio.h>

#include <stdlib.h>

int main(){

int n, m;

float **a;

scanf("%d%d",&n,&m);

    a = (float **)malloc(sizeof(float *) * n);//分配维数

    for(int i = 0; i < n; i++)

        a[i] = (float *)malloc(sizeof(float) * m);//分配各个元素

float l;int in,jm,i,j;

    for (i = 0; i < n; i++){

    for (j = 0; j < m; j++)

        {   

        a[i][j] = (rand()%(int)((m+n)*1000))/(double)1000+i;

        if(j==0) l=a[i][j],in=i,jm=j;

        else if(l>a[i][j]) l=a[i][j],in=i,jm=j;

printf("%.3f ",a[i][j]);

        }

        printf("\n第%d行的最小元素是%.3lf,它的位置是第%d行第%d列\n",i,l,in,jm);

}

        

}