本帖最后由 jackz007 于 2024-10-30 20:53 编辑 #include <stdio.h>
#include <string.h>
int main(void)
{
FILE * fp ;
char c , s[256][256] ;
int d[256] , i , j , n , t ;
for(n = 0 ; (c = getchar()) != '\n' ;) {
if(c >= 'A' && c <= 'Z') c = c + ' ' ;
s[0][n ++] = c ;
}
s[0][n] = 0 ;
for(i = 1 ; i < n ; i ++) {
for(j = 0 ; j < n ; j ++) {
s[i][j] = s[0][(i + j) % n] ;
}
s[i][j] = 0 ;
}
for(i = 0 ; i < n ; i ++) d[i] = i ;
for(i = 0 ; i < n - 1 ; i ++) {
for(j = i + 1 ; j && strcmp(s[d[j]] , s[d[j - 1]]) < 0 ; j --) {
t = d[j - 1] ;
d[j - 1] = d[j] ;
d[j] = t ;
}
}
if((fp = fopen("file.txt" , "w"))) {
fprintf(fp , "%s\n" , s[0]) ;
for(i = 0 ; i < n ; i ++) {
printf("%c" , s[d[i]][0]) ;
fprintf(fp , "%c" , s[d[i]][0]) ;
}
printf("\n") ;
fprintf(fp , "\n") ;
for(i = 0 ; i < n ; i ++) {
if(d[i] == n - 1) {
printf("%d\n" , i) ;
fprintf(fp , "%d\n" , i) ;
break ;
}
}
fclose(fp) ;
} else {
fprintf(stderr , "无法创建文件 [file.txt]\n") ;
}
}
|