C语言利用malloc函数开辟动态存储单元,顺序存放输入的5个字符串,然后按从小到大的顺序输出这5个字符串
(已自己解决,请看题目后面贴的代码)【贴上代码就当帮助别人吧】请编写程序,利用malloc函数开辟动态存储单元,顺序存放输入的5个字符串,然后按从小到大的顺序输出这5个字...
(已自己解决,请看题目后面贴的代码)【贴上代码就当帮助别人吧】请编写程序,利用malloc函数开辟动态存储单元,顺序存放输入的5个字符串,然后按从小到大的顺序输出这5个字符串(C语言)。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 5
int main()
{
int i,max;
char (*p)[256];
p=(char(*)[256])malloc(N*(256*sizeof(char*)));
for(i=0;i<N;i++)
gets(p[i]);
max=0;
for(i=1;i<N;i++)
if(strcmp(p[i],p[max])>0) max=i;
puts(p[max]);
return 0;
} 展开
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 5
int main()
{
int i,max;
char (*p)[256];
p=(char(*)[256])malloc(N*(256*sizeof(char*)));
for(i=0;i<N;i++)
gets(p[i]);
max=0;
for(i=1;i<N;i++)
if(strcmp(p[i],p[max])>0) max=i;
puts(p[max]);
return 0;
} 展开
展开全部
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 5
int main()
{
int i,max;
char *p[N];
for(int i = 0; i < N; ++i) { // 申请内存
p[i] = (char *)(malloc(256 * sizeof(char)));
}
for(i=0;i<N;i++) // 输入
gets(p[i]);
for(i=0;i<N;i++){ // 排序
for(int j = i + 1; j < N; ++j) {
if(strcmp(p[i], p[j]) > 0) {
char *t = p[i];
p[i] = p[j];
p[j] = t;
}
}
}
for(i=0;i<N;i++) // 输出
puts(p[i]);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
计分即可爸爸靠
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询