大一新生求教C语言问题,求大神帮助小白分析此程序的具体过程!如题(答案是xy,aaaacc)
#include<stdio.h>#include<string.h>voidfun(char*s[],intn){char*t;inti,j;for(i=0;i<n-1...
#include<stdio.h>
#include<string.h>
void fun(char *s[],int n)
{ char *t; int i,j;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(strlen(s[i])>strlen(s[j])) {t=s[i];s[i]=s[j];s[j]=t;}
}
main()
{char *ss[]={"bcc","bbcc","xy","aaaacc","aabcc"};
fun(ss,5); printf("%s,%s\n",ss[0],ss[4]);
} 展开
#include<string.h>
void fun(char *s[],int n)
{ char *t; int i,j;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(strlen(s[i])>strlen(s[j])) {t=s[i];s[i]=s[j];s[j]=t;}
}
main()
{char *ss[]={"bcc","bbcc","xy","aaaacc","aabcc"};
fun(ss,5); printf("%s,%s\n",ss[0],ss[4]);
} 展开
展开全部
#include<stdio.h>
#include<string.h>
//函数功能:根据字符串的长度进行排序
//输入参数:*s[] 字符串数组, n 数组内字符串个数
//输出参数:无
void fun(char *s[],int n)
{ char *t; int i,j;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(strlen(s[i])>strlen(s[j])) //取字符串1和字符串2的长度比较,如果字符串1长度笔字符串2长
{t=s[i];s[i]=s[j];s[j]=t;} //交换字符串1和字符串2的位置
}
void main()
{char *ss[]={"bcc","bbcc","xy","aaaacc","aabcc"};
fun(ss,5);
printf("%s,%s\n",ss[0],ss[4]); //输出最短的和最长的字符串
}
展开全部
c中,首先执行的是main函数,在函数里,定义了一个指针数组,然后调用了fun函数,传入数组和一个常量5;在fun函数里,对传入的数组做冒泡排序;排序完成后,函数结束,main函数开始打印指针数组的两个值,ss[0]和ss[4],按照排序后的内容,分别是xy和aaaacc
请参考课本冒泡排序,指针
请参考课本冒泡排序,指针
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-03-08
展开全部
题呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-03-08
展开全部
哪有题?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询