Open XiaoBaiBZS opened 1 year ago
#include<stdio.h> #include<string.h> int main() { char s[][50]= {"C","E","A","B","K"}; char t[50]; for(int i=0; i<4; i++) { for(int j=0; j<5-i; j++) { if(strcmp(s[j],s[j+1])>0) { strcpy(t,s[j]); strcpy(s[j],s[j+1]); strcpy(s[j+1],t); } } } for(int k=0; k<5; k++) { printf("%s",s[k]); } return 0; }
输出:
A@BCE
经过测试如果把这个字符串数组改成纯数字就没有问题,包括China,America,England都有这种问题。进而通过下面代码输出每一次循环后的结果进行检测:
#include<stdio.h> #include<string.h> int main() { char s[][50]= {"C","E","A","B","K"}; char t[50]; for(int i=0; i<4; i++) { for(int j=0; j<5-i; j++) { if(strcmp(s[j],s[j+1])>0) { strcpy(t,s[j]); strcpy(s[j],s[j+1]); strcpy(s[j+1],t); } for(int k=0; k<5; k++) { printf("%s",s[k]); } printf("\n"); } } for(int k=0; k<5; k++) { printf("%s",s[k]); } return 0; }
输出:
CEABK CAEBK CABEK CABEK CABE@ ACBE@ ABCE@ ABCE@ ABC@E ABC@E ABC@E AB@CE AB@CE A@BCE A@BCE
输出:
经过测试如果把这个字符串数组改成纯数字就没有问题,包括China,America,England都有这种问题。进而通过下面代码输出每一次循环后的结果进行检测:
输出: