完整代碼如下,編譯通過,附上結果,若有疑問,請追問。若滿意,望采納.
#include<stdio.h>#include<stdlib.h>
int?main()
{
void?swap(float?*,float?*);
float?firstnum,secnum;
char?sortOrder;
printf("Enter?two?numbers:");
scanf("%f?%f",&firstnum,&secnum);
printf("\nBefore?the?call?to?swap():\n");
printf("?The?value?in?firstnum?is?%5.2f\n",firstnum);
printf("?The?value?in?secnum?is?%5.2f\n",secnum);
if(firstnum>secnum)
swap(&firstnum,&secnum);
getchar();
while(1)
{
printf("\nPlease?input?the?sortorder(e(exit),a(ascending),d(descending)):");
scanf("%c",&sortOrder);
getchar();
if(sortOrder=='d')
{
printf("\nAfter?the?call?to?swap():\n");
printf("?The?value?in?firstnum?is?%5.2f\n",firstnum);
printf("?The?value?in?secnum?is?%5.2f\n",secnum);
}
else?if(sortOrder=='a')
{
printf("\nAfter?the?call?to?swap():\n");
printf("?The?value?in?secnum?is?%5.2f\n",secnum);
printf("?The?value?in?firstnum?is?%5.2f\n",firstnum);
}
else?if(sortOrder=='e')
return?0;
else
printf("Error!");
}
system("pause");
return?0;
}
void?swap(float?*num1Addr,float?*num2Addr)
{
float?temp;
temp=*num1Addr;
*num1Addr=*num2Addr;
*num2Addr=temp;
}