C语言编程,数组问题
C语言编程,数组问题使用随机函数初始化一个4行5列的二维数组,求该二维数组中最小值以及该最小值第一次出现的位置。...
C语言编程,数组问题使用随机函数初始化一个4行5列的二维数组,求该二维数组中最小值以及该最小值第一次出现的位置。
展开
5个回答
展开全部
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void showit(int *p,int m,int n){
int i,j;
for(i=0;i<m;i++){
for(j=0;j<n;j++)
printf("%3d",p[i*n+j]);
printf("\n");
}
}
int findmin(int *p,int n){
int i,min=*p;
for(i=1;i<n;i++)
if (p[i]<min) min=p[i];
return min;
}
int findplace(int *p,int n,int x){
int i;
for(i=0;i<n;i++)
if(p[i]==x) return i;
return -1;
}
int main(){
int a[4][5];
int i,j,min,m;
srand((int)time(NULL));
for(i=0;i<4;i++)
for(j=0;j<5;j++)
a[i][j]=rand()%10;
showit((int *)a,4,5); //显示数组
min=findmin((int *)a,5*4);//找出最小值
printf("最小值是%d\n",min);
m=findplace((int *)a,4*5,min);//找出最小值是第几个元素
printf("其第一次出现在第%d行第%d列\n",m/5+1,m%5+1);
}
追问
谢谢你啊
展开全部
是的。第n个学生对应的数组下标应该是n-1。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
更正下你的语句。这个数组是全部赋值等于0
也就是六行六列等于0
。
为什么加上那个等于0呢?
原因很简单,因为你得寻址啊,要的是值啊,你不复制没有值当然就出错了
也就是六行六列等于0
。
为什么加上那个等于0呢?
原因很简单,因为你得寻址啊,要的是值啊,你不复制没有值当然就出错了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
include (studio.h
Max a if 1)28@)1
Max a if 1)28@)1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C语言的数组概念的学习,通过for循环输出打印数组
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询