输入5个字符串,按由小到大的顺序输出,试编写相应程序。
的有关信息介绍如下:
问题补充说明://输入5个字符串,按由小到大的顺序输出,试编写相应程序。#include#includevoidmaopao(char*p[]){inti,j,k;char*t;for(i=0;i<4;i++){for(j=0;j<4-i;j++){if(strcm... //输入5个字符串,按由小到大的顺序输出,试编写相应程序。#include #include void maopao(char *p[]){ int i,j,k; char *t; for (i=0; i<4; i++) { for (j=0; j<4-i; j++) { if (strcmp(p[j],p[j+1])>0) { t=p[j]; p[j]=p[j+1]; p[j+1]=t; } } } for (k=0; k<5; k++) { puts(p[k]); } }int main(){ printf("Please input:"); int i; char a[5][80]; char *p[5]; for (i=0;i<5; i++) { scanf("%s",&a[i]); p[i]=a[i]; } maopao(p); return 0;}程序是对的,但是我的问题就一个,函数maopao里的第三第四行为啥都是<4而不是5呢?我大脑逻辑不清晰了啊。。 展开
你输入的是五个女让冷屋有知要乙降局字符串,然后你进入比较的时候仔细看你写的strcmp(p[j],p[j+1])>0里面是p[j360问答]和p[j+1],注意看是j+1,假设j=3的时候,就是p[3]和p[4],如果是5的话,p[4]和p[5]比,你根本没有p[5]这个元素,拿什么来比
版权声明:文章由 大问百书 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.dawenbaishu.com/article/59436.html