当前位置:首页 > C语言程序设计实验5-7教案
9. 定义一个含有5个元素的一维字符指针数组,再定义二维字符数组,存放5个字符串\、\、\、\、\,然后用该一维字符指针数组并采用选择法将这5个字符串按由小到大的顺序排序并输出。要求排序后二维数组中的字符串不允许改变。
解:(1)算法传统流程图如图17所示,N-S流程图如图18所示。 开 始 c[5][10]={\ i = 0 i < 5 F T p[ i ] = c[ i ] i = i +1 T i = 0 i < 5 F k = i T j = i + 1 j < 5 F T p[k]串>p[j]串 F T k = j j = j+1 k ≠ i F T p[ k ] ? p[ i ] 输出 p[ i ]串 i = i + 1 结 束
图17 传统流程图 (2)程序和运行结果如下:
c[5][10]={\for i = 0 to 4
p[ i ] = c[ i ]
for i = 0 to 4
k = i
for j = i + 1 to 4 T
p[ k ]串 > p[ j ]串 F
k = j
T
k ≠ i
F p[ k ] ? p[ i ]
输出 p[ i ]串
图18 N-S流程图
#include
char c[5][10] = { \ for ( i = 0 ; i < 5 ; i++ ) p[ i ] = c[ i ] ; for ( i = 0 ; i < 5 ; i++ ) { k = i ;
for ( j = i + 1 ; j < 5 ; j++ )
if ( strcmp ( p[ k ] , p[ j ] ) > 0 ) k = j ;
if ( k != i ) { t = p[ k ] ;
p[ k ] = p[ i ] ; p[ i ] = t ; }
printf ( \ } }
结果如下: cat dog horse tiger wolf
共分享92篇相关文档