| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 445 人关注过本帖
标题:不知为什么程序总是无法执行
取消只看楼主 加入收藏
haosiyuan
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-3-15
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:5 
不知为什么程序总是无法执行
我是新手正在学C++,今天我们老师给我们留了道题是这样的:“编写程序,从键盘输入一个字符串放在字符数组a中,用选择法将a中的有效字符按降序排列。”
#include <stdio.h>
main()
{    int i,k,j,temp;
    char a[100]="";
    gets(a);
    for(i=0;i<99;i++);
        for(j=i+1;j<100;j++)
            if(a[j]>a[i])
            {    temp=a[j];a[j]=a[i];a[i]=temp;
            }
    puts(a);
}
不是我懒让各位高手帮我做作业,而是我便出来后实在搞不懂哪里错了,有会的请帮我一下,谢谢
搜索更多相关主题的帖子: 键盘 编写程序 include 字符串 
2010-04-25 19:12
haosiyuan
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-3-15
收藏
得分:0 
回复 2楼 hahayezhe
那该怎么改?
2010-04-25 19:23
haosiyuan
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-3-15
收藏
得分:0 
这是我改后的#include <stdio.h>
main()
{    int i,k,j,temp;
    char a[100]="";
    gets(a);
    for(i=0;a[i]='\0';i++);
        for(j=i+1;j<100;j++)
            if(a[j]>a[i])
            {    temp=a[j];a[j]=a[i];a[i]=temp;
            }
    puts(a);
}
可是改完了还是不能实现
2010-04-25 19:32
haosiyuan
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-3-15
收藏
得分:0 
#include <stdio.h>
#include <string.h>
main()
{    int i,k,j,temp;
    char a[100]="";
    gets(a);k=strlen(a);
    for(i=0;i<k;i++);
        for(j=i+1;j<k;j++)
            if(a[j]>a[i])
            {    temp=a[j];a[j]=a[i];a[i]=temp;
            }
    puts(a);
}
我用strlen改了也没用
2010-04-25 19:41
haosiyuan
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-3-15
收藏
得分:0 
谢谢大大,我终于知道问题出在哪了
我在第一个for语句后加了个“;”这使得后边的循环都不能用了
你的for后边没有,看了你的我才明白
2010-04-25 19:51
haosiyuan
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-3-15
收藏
得分:0 
额,我发慢了
2010-04-25 19:52
快速回复:不知为什么程序总是无法执行
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023809 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved