首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

到底错在哪里了。求教,该怎么解决

2012-04-23 
到底错在哪里了。。。。求教#include stdio.h#include string.hvoid main(){char temp,str[10]int a,b0,

到底错在哪里了。。。。求教
#include <stdio.h>
#include <string.h>
void main()
{
char temp,str[10];  
int a,b=0,c=0;
clrscr();
puts("input string : \n");
gets(str);
temp=str[0];
for(a=0;a<strlen(str);a++)
{
for(;b<strlen(str);b++)
{
if(temp<str[b])
{
temp=str[b];
c=b;
}
}
str[b]=str[a];
str[a]=temp;
b=a+1;

}
puts(str);
}
目的是输入一个字符串,按照ASCII码升序排列。。

[解决办法]

C/C++ code
#include <stdio.h>#include <string.h>void main(){char temp,str[10],c;   int a,b=0;clrscr();puts("input string : \n");gets(str);for(a=0;a<strlen(str);a++){C=str[a];for(b=a+1;b<strlen(str);b++){if(c<str[b]){temp=str[b];str[b]=str[a];str[a]=temp;}}}puts(str);}
[解决办法]
C/C++ code
#include <stdio.h>#include <string.h>#include <conio.h>void main(){    char temp,str[10];       int a,b=0,c=0;    clrscr();    puts("input string : \n");    gets(str);    temp=str[0];    for(a=0;a<strlen(str);a++)    {        for(b=a+1;b<strlen(str)-1;b++)        {            ///如果成立,则交换两个数            if(str[a]<str[b+1])  //应该是str[a]<str[b]吧            {                temp=str[a];                      str[a] = str[b+1];                str[b+1] = temp;            }        }            }    puts(str);} 

热点排行