这里拿错啦?
#include<stdio.h>#include<string.h>
#define num 5
#define staic printf("输入1源输出,2ascii输出,3 递增输出,4第一个单词长度输出 ,5退出")
int main(void)
{ void fun1(char (*str)[100]) ;
void fun2(char (*str)[100]) ;
void fun3(char (*str)[100]);
void cut(char (*str)[100]);
char name[num][100],(*cc)[100],(*dd)[100],(*ee)[100],*fun,ch;
int a,b,c;
for( a=0,gets(name[a]);a<num;gets(name[++a]));
ee=dd=cc=name;
staic;
while((ch=getchar())!=5)
{switch(ch)
{
case '1':
{
for(int a=0;a<num;a++)
puts(name[a]);
break;
}
case '2':
{ fun1(cc);
cut(cc);
break;}
case '3':
{
fun2(dd);
cut(dd);
break;
}
case '4':
{fun3(ee);
cut(ee);}
}
staic;}
return 0;
}
void fun3(char (*str)[100])
{int a,b,c,d;char *tem;
c=d=0;
for(a=0;a<num-1;a++)
for(b=a+1, c=0,d=0;a<num;b++)
{for( ;c<20;c++)
if(str[a][c]==' ') break;
for(;d<20;d++)
if(str[b][d]== ' ') break;
if(c>d) { tem=str[a];
str[a]=str[b];
str[b]=tem;}
}
}
void cut(char (*str)[100]) { int a;for(int a=0;a<num;printf("%s",str[a]),a++);}
void fun2(char (*str)[100])
{ int a,b;
char *tem;
for(a=0;a<num-1;a++)
for(b=a+1;b<num;b++)
if(strlen(str[a])>strlen(str[b]))
{tem=str[a];
str[a]=str[b];
str[b]=tem;}
}
void fun1(char (*str)[100])
{int a,b;char*fun;
for( a=0;a<num-1; a++)
{
for(b=a+1;b<num;b++)
if(strcmp(str[a],str[b])>=0)
{fun=str[a];
str[a]=str[b];
str[b]=fun;}
}
}