输入单词并排序输出

编程入门 行业动态 更新时间:2024-10-11 19:25:37

输入<a href=https://www.elefans.com/category/jswz/34/1769906.html style=单词并排序输出"/>

输入单词并排序输出

本题要求通过input()函数实现输入若干个单词(每单词的长度不超过20,单词的最大数目不超过10)。输入过程中遇到单词*END* 则提前结束输入(*END*不作为后面排序的单词),或单词数目达到10个也结束。然后调用函数paixu(),对这若干个单词按字典顺序进行排序,最后调用函数printArr()输出排序后的单词,输出的单词之间以空格进行分隔,最后一个单词后面没有空格。

函数接口定义:

int input(char ar2[][21]);
其中函数的返回值等于输入的有效单词的数目。
void paixu(char ar2[][21], int n);
其中函数完成对ar2数组中的n个字符串进行排序。
void printArr(char ar2[][21], int n);
其中函数完成对ar2数组中的n个字符串进行输出。

裁判测试程序样例:

 

#include<stdio.h>
#include<string.h>
int input(char ar2[][21]);
void paixu(char ar2[][21], int n);
void printArr(char ar2[][21], int n);
int main(void)
{
    char arr[10][21]={0};
    int n;
    n=input(arr);    
    paixu(arr,n);
    printArr(arr,n);

    return 0;
}
/* 请在这里填写答案 */

 输入样例:

China Britain America Japan Egypt *END*

输出样例: 

After sorted:
America Britain China Egypt Japan

 注意输出多了一个After sorted!

 输入样例:

  *END*

 输出样例: 

NO WORD

  输入样例:

a1 b2 c3 d4 e5 a6 b7 c8 d9 e10 a11 b12 c13

  输出样例: 

After sorted:
a1 a6 b2 b7 c3 c8 d4 d9 e10 e5

解析:

其实还是很简单的一道题啦!分别执行对应功能就是了。

答案:

int input(char ar2[][21])
//其中函数的返回值等于输入的有效单词的数目。
{int i;char s[21];for(i=0;i<10;i++){scanf("%s",s);if(strcmp(s,"*END*")==0)break;strcpy(ar2[i],s);}return i;
}
void paixu(char ar2[][21], int n)
//其中函数完成对ar2数组中的n个字符串进行排序。
{int i,j;char s[21];for(i=0;i<n-1;i++){for(j=0;j<n-1-i;j++){if(strcmp(ar2[j],ar2[j+1])>0){strcpy(s,ar2[j]);strcpy(ar2[j],ar2[j+1]);strcpy(ar2[j+1],s);}}}
}
void printArr(char ar2[][21], int n)
//其中函数完成对ar2数组中的n个字符串进行输出。
{int i;if(n==0){printf("NO WORD");}else{printf("After sorted:\n");printf("%s",ar2[0]);for(i=1;i<n;i++)printf(" %s",ar2[i]);}
}

 

 

更多推荐

输入单词并排序输出

本文发布于:2024-03-04 08:13:57,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1708725.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:单词

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!