编写C语言程序。题目:输入3个数,由小到大输出,要求:1.要用到函数调用,2.要用到指针。。。谢谢。如题
发布网友
发布时间:2022-05-21 14:39
我来回答
共3个回答
热心网友
时间:2023-10-29 05:51
大体这样,不太好看,不过能用
如果你的输入3个数是要分别输入而不是用argument那还得加几行去分别promt3个数。
void order(char* argv[])
{
double values[3];
values[0]=atof(argv[1]);
values[1]=atof(argv[2]);
values[2]=atof(argv[3]);
double * min=&values[0];
double * max=&values[0];
double mid;
if(values[1]<*min)
{
min=&values[1];
}
if(values[2]<*min)
{
min=&values[2];
}
if(values[1]>*max)
{
max=&values[1];
}
if(values[2]>*max)
{
max=&values[2];
}
mid=(values[0]+values[1]+values[2])-*min-*max;
cout<<*min<<" "<<mid<<" "<<*max<<endl;
cin>>mid;
}
int main(int argc, char* argv[])
{
order(argv);
return 0;
}
热心网友
时间:2023-10-29 05:52
#include <stdio.h>
#define ARRAY_NUMBER 3
void input(int iaa[ARRAY_NUMBER])
{
int i;
printf("Input 3 numbers:\n");
for(i=0; i<ARRAY_NUMBER; i++)
{
scanf("%d", &iaa[i]);
}
}
void sort(int iaa[ARRAY_NUMBER])
{
int i, j, t;
for(i=0; i<ARRAY_NUMBER; i++)
{
for (j=i+1; j<ARRAY_NUMBER; j++)
{
if (iaa[i] > iaa[j])
{
t = iaa[i];
iaa[i] = iaa[j];
iaa[j] = t;
}
}
}
}
void display(int iaa[ARRAY_NUMBER])
{
int i;
printf("After sorted: ");
for (i=0; i<ARRAY_NUMBER; i++)
{
printf("%d ", iaa[i]);
}
}
int main(void)
{
int arr[ARRAY_NUMBER] = {0};
input(arr);
sort(arr);
display(arr);
return 0;
}
热心网友
时间:2023-10-29 05:52
#include<stdio.h>
int main()
{
void number(int *p);
int a[3];
int i;
for(i=0;i<3;i++)
scanf("%d",&a[i]);
number(a);
return 0;
}
void number(int *p)
{
int t,i,j;
for(i=0;i<2;i++)
{
for(j=i;j<3;j++)
if(p[i]>p[j])
{
t=p[i];
p[i]=p[j];
p[j]=t;
}
}
for(i=0;i<3;i++)
printf("%d",p[i]);
}
求给分