#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define LINE 3
#define RANK 100
void charater_string(int n,char*ptr[ ]);//字符串输出
void alphabet_list(int n,char*str[]);//按ASCII字母顺序排序
void string_length(int n,char*ptr[]);//按字符串长度排序
void First_word_length(int n,char*ptr[]);//按第一个单词长短排序
int string_in(char *ptr);//取第一个单词字符数
void Quit();//终止程序
int main(void)
{
int i,j,num;
char arr[LINE][RANK];
char *string[LINE];
printf("Please enter charater string.\n");
for(i=0;i<LINE;i++)
{
gets(arr[i]) ;
string[i]=arr[i];
}
while(1)
{
printf("Please choice number:\n");
printf("1)输出字符串列表 2)按ASCII顺序输出字符串\n");
printf("3)按长度递增输出 4)按字符串第一个单词长度输出 5)退出\n");
scanf("%d",&num);
switch(num)
{
case 1:charater_string(LINE,string);
break;
case 2:alphabet_list(LINE,string);
break;
case 3:string_length(LINE,string);
break;
case 4:First_word_length(LINE,string);
break;
case 5:Quit();
break;
default:break;
}
}
return 0;
}
void charater_string( int n,char*ptr[ ])
{
int i=0;
for(i=0;i<n;i++)
puts(ptr[i]);
}
void alphabet_list(int n,char*str[ ])
{
int i,j;
char *temp;
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(strcmp(str[i],str[j])>0)
{
temp= str[j];
str[j]= str[i];
str[i]= temp;
}
}
}
charater_string(n,str);
}
void string_length( int n,char*ptr[ ])
{
int i,j;
char *temp;
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if((strlen(ptr[i])-strlen(ptr[j]))>0)
{
temp=ptr[j];
ptr[j]=ptr[i];
ptr[i]= temp;
}
}
}
charater_string(n,ptr);
}
void First_word_length(int n,char*ptr[ ])
{
int i,j;
char *temp;
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if((string_in(ptr[i])-string_in(ptr[j]))>0)
{
temp=ptr[j];
ptr[j]=ptr[i];
ptr[i]=temp;
}
}
}
charater_string(n,ptr);
}
void Quit()
{
exit(1);
}
int string_in(char *ptr)
{
int i=0 ;
while(*ptr)
{
if(*ptr==‘ ‘)
return i;
i++;
*ptr++;
}
}
时间: 2024-10-31 09:28:11