1求解最大字符串(10分)
问题描述:求n个字符串中按ASCII字典顺序排序为最大的字符串。
输入:字符串个数n(最多不超过100个),n个字符串(每个字符串不超过99个字符)
输出:按ASCII字典排序最大的字符串
样例: 输入 5
BJilin
AJilin
HJilin
IJilin
IJilinU
输出 IJilinU
时间限制:500ms内存限制:32000kb
本是递归函数的复习,可惜自己钟情于链表,就用链表来实现了。
本次复习重点:malloc后跟sizeof来计算取地址大小(找了老半天没找出来啥毛病,最后发现忘了加sizeof)。strcmp需要头文件#<string.h>
#include<stdio.h>
#include<malloc.h>
#include<string.h>
struct cell{
char ss[100];
struct cell *next;
};
char main(){
int n;
scanf("%d",&n);
struct cell *head,*tmp;
struct cell *p;
head=NULL;
tmp=NULL;
p=NULL;
int i=0;
for(i=1;i<=n;i++){
p=(struct cell *)malloc(sizeof(struct cell));
scanf("%s",p->ss);
p->next=NULL;
if(head==NULL){
head=p;
tmp=p;
}else
{
tmp->next=p;
tmp=p;
}
}
struct cell *max;
max=head;
p=head->next;
while(p!=NULL){
if(strcmp(p->ss,max->ss)>0){
max=p;
}
p=p->next;
}
printf("%s",max->ss);
}```