|
发表于 2024-10-30 16:39:14
|
显示全部楼层
本帖最后由 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") ;
- }
- }
复制代码 |
|