#1
by youaaaaaa » 2年前
どこが間違っているのか教えて欲しいです。
/* 三つのint型整数を小さい順に表示する関数
int min3(int x, int y, int z)
を作成せよ.但し,動作を確認するための適当なmain関数も併せて作成せよ.*/
#include <stdio.h>
void swap(int *k,int *l)
{int temp;
temp=*k;
*k=*l;
*l=temp;
return;
}
void min3(int x,int y,int z)
{
int data[]={x,y,z};
if(data[0]>data[1]){
swap(&data[0],&data[1]);
}
if(data[1]>data[2]){
swap(&data[1],&data[2]);
}
if(data[2]>data[3]){
swap(&data[2],&data[3]);
}
printf("%d,%d,%d",data[0],data[1],data[2]);
return;
}
int main(void)
{int i;
int data[];
printf("数字を入力してください");
for(i=0;i<=2;i++){
printf("i=");
scanf("%d",data);}
printf("小さい順に並べると%dとなります。");min3(&data[0],&data[1],&data[2]);
return 0;
}
どこが間違っているのか教えて欲しいです。
/* 三つのint型整数を小さい順に表示する関数
int min3(int x, int y, int z)
を作成せよ.但し,動作を確認するための適当なmain関数も併せて作成せよ.*/
#include <stdio.h>
void swap(int *k,int *l)
{int temp;
temp=*k;
*k=*l;
*l=temp;
return;
}
void min3(int x,int y,int z)
{
int data[]={x,y,z};
if(data[0]>data[1]){
swap(&data[0],&data[1]);
}
if(data[1]>data[2]){
swap(&data[1],&data[2]);
}
if(data[2]>data[3]){
swap(&data[2],&data[3]);
}
printf("%d,%d,%d",data[0],data[1],data[2]);
return;
}
int main(void)
{int i;
int data[];
printf("数字を入力してください");
for(i=0;i<=2;i++){
printf("i=");
scanf("%d",data[i]);}
printf("小さい順に並べると%dとなります。");min3(&data[0],&data[1],&data[2]);
return 0;
}