NO.19 作业
用了半小时.希望看了的给点意见。简化一下代码啊.谢谢.#define N 10#include<string.h>
void change(int *a,int *b)
{
*(a)=*(a)+*(b);
*(b)=*(a)-*(b);
*(a)=*(a)-*(b);
}
void inlist(int *a,int n)
{
int i;
for(i=0;i<n;i++)
{
scanf("%d",a+i);
}
}
void showlist(int *a,int n)
{
int i;
for(i=0;i<n;i++)
{
printf("%d ",*(a+i));
}
printf("\n");
}
void sortlist(int *a,int n,char *str)
{
int i,j;
char str1[]="ltos";
char str2[]="stol";
if(strcmp(str,str1)==0)
{
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(a<a)
{
change(a+j,a+j+1);
}
}
}
}
else if(strcmp(str,str2)==0)
{
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(a>a)
{
change(a+j,a+j+1);
}
}
}
}
else
{
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(i%2)
{
if(a<a)
{
change(a+j,a+j+1);
}
}
else
{
if(a>a)
{
change(a+j,a+j+1);
}
}
}
}
}
}
main()
{
int *a=(int *)malloc(N*sizeof(int));
inlist(a,N);
printf("your Input number:");
showlist(a,N);
sortlist(a,N,"ltos");
printf("ltos:");
showlist(a,N);
sortlist(a,N,"stol");
printf("stol:");
showlist(a,N);
sortlist(a,N,"lx");
printf("lx:");
showlist(a,N);
free(a);
}
我的传到群共享了 ~ 哦,好的。我去看看. 92行和94行,先读数字后提醒输入?太诡异了吧。。。 呃。。我懂了。。。你是直接输了数字再显示一次。。。
页:
[1]