|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
请问程序哪里出错了吗?
- /*编写函数fun,它的功能是:对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按ASCII码将序排列。例如,原来的字符串CEAedca,排序后输出为CedcEAa。*/
- #include<stdio.h>
- #define M 7
- #include<string.h>
- char fun(char str){
- int i,j;
- char temp;
- for(i=1;i<6-1;i++){
- for(j=0;j<6-i-1;j++){
- if(str[i]<str[j]){
- temp=str[j];
- str[j]=str[i];
- str[i]=temp;
- }
- }
- }
- return str;
- }
- void main()
- {
- char str[M];
- scanf("%s",str);
- fun(str);
- printf("\n%s",str);
- }
复制代码
本帖最后由 jackz007 于 2020-12-13 21:00 编辑
- char fun(char str){ // 问题
- int i,j;
- char temp;
- for(i=1;i<6-1;i++){ // 问题
- for(j=0;j<6-i-1;j++){ // 问题
- if(str[i]<str[j]){
- temp=str[j];
- str[j]=str[i];
- str[i]=temp;
- }
- }
- }
- return str; // 问题
- }
复制代码
改为
- void fun(char str[]){ // 有修改
- int i , j ;
- char temp ;
- for(i = 1 ; i < M - 2 ; i ++) { // 有修改
- for(j = i + 1; j < M - 1 ; j ++){ // 有修改
- if(str[i] < str[j]){
- temp=str[j] ;
- str[j]=str[i] ;
- str[i]=temp ;
- }
- }
- }
- }
复制代码
|
|