C语言数组问题
各位大佬帮帮小弟吧{:10_275:} 本帖最后由 jackz007 于 2021-11-25 18:16 编辑#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void foo(int d[] , int n)
{
int i , k , x ;
time_t t ;
if(n > 0) {
for(i = 0 ; i < n ; i ++) {
for(;;) {
x = rand() % n ;
for(k = 0 ; k < i ; k ++) if(d == x) break ;
if(k == i) {
d = x ;
break ;
}
}
}
}
}
int main(void)
{
int c = {0} , d = {0} , e = {0} , i , j , k , x ;
foo(& d , 30) ;
for(i = 0 ; i < 5 ; i ++) {
printf("%2d" , d) ;
for(j = 1 ; j < 6 ; j ++) printf(" , %2d" , d) ;
printf("\n") ;
}
printf("\n") ;
for(j = 0 ; j < 6 ; j ++) {
for(e = d , c = 0 , i = 1 ; i < 5 ; i ++) {
if(d < e) {
e = d ;
c = i ;
}
}
}
printf("%2d" , e) ;
for(i = 1 ; i < 6 ; i ++) printf(" , %2d" , e) ;
printf("\n") ;
for(k = 0 , i = 1 ;i < 6 ; i ++) if(e > e) k = i ;
printf("\n") ;
printf("d[%d , %d] = %d\n" , c , k , e) ;
}
编译运行实况:
D:\0002.Exercise\C>g++ -o x x.c
D:\0002.Exercise\C>x
11 , 17 ,4 , 10 , 29 , 18
22 , 14 ,5 ,1 , 27 , 25
2 ,6 , 21 , 24 ,3 , 26
8 ,9 , 19 , 23 , 28 , 16
20 , 12 , 15 , 13 ,0 ,7
2 ,6 ,4 ,1 ,0 ,7
d = 7
D:\0002.Exercise\C>
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#include<stdlib.h>
int ans=0,a,x,y;
int main(){
srand((unsigned)time(NULL));
for(int i=0;i<5;i++)
for(int j=0;j<6;j++) a=rand()%100;
for(int i=0;i<5;i++){
for(int j=0;j<6;j++) printf("%3d ",a);
puts("");
}
for(int i=0;i<6;i++){
int t=1000,tt;
for(int j=0;j<5;j++)
if(a<t){
t=a;
tt=j;
}
if(t>ans) ans=t, x=tt, y=i;
}
printf("%d %d %d\n",ans,x,y);
}
运行结果:
39933291 015
842526473763
993639848514
573697966924
32232521 319
32 4 0
jjiahe 发表于 2021-11-25 15:59
运行结果:
你这好像看错题了吧,题目是要六个最小数里面的最大数,你是六个最大数的最小数了{:10_306:}
页:
[1]