解题思路:
注意事项:
参考代码:
#include<stdio.h>
#include<string.h>
int main()
{
int n;
char str[100][100],t[100];
int i,j;
while(scanf("%d",&n)!=EOF)
{
getchar();//上一组会遗留 \n ,用来清除缓冲区
for(i=0;i<n;i++)
{
gets(str[i]);
if(strcmp(str[i],"stop")==0)
{
n=i;//stop的下标即有效字符串的个数
break;
}
}
for(i=0;i<n-1;i++)//冒泡法
{
for(j=0;j<n-1-i;j++)
{
if(strlen(str[j])>strlen(str[j+1]))
{
strcpy(t,str[j]);
strcpy(str[j],str[j+1]);
strcpy(str[j+1],t);
}
}
}
for(i=0;i<n;i++)
{
printf("%s\n",str[i]);
}
}
return 0;
}
0.0分
2 人评分
这样为什么不对 #include<stdio.h> #include<string.h> int main() { int n; char a[100][100],t[100]; int i,j; while(scanf("%d",&n)!=EOF) { getchar(); for(i=0;i<n;i++) { gets(a[i]); if(strcmp(a[i],"stop")==0) { n=i;break; } } for(i=0;i<n;i++) { for(j=i;j<n;j++) { if(strlen(a[i])>strlen(a[j])) { strcpy(t,a[i]);strcpy(a[i],a[j]);strcpy(a[j],t); } } } for(i=0;i<n;i++) printf("%s\n",a[i]); } return 0; }
众数问题 (C语言代码)浏览:3569 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:741 |
C语言程序设计教程(第三版)课后习题8.9 (C语言代码)浏览:1763 |
C二级辅导-公约公倍 (C语言代码)浏览:2158 |
C二级辅导-公约公倍 (C语言代码)浏览:1550 |
2005年春浙江省计算机等级考试二级C 编程题(3) (C语言代码)浏览:417 |
矩形面积交 (Java代码)浏览:1281 |
【计算两点间的距离】 (C语言代码)浏览:927 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:633 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:632 |