A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 朱儿008 于 2016-10-5 19:05 编辑

输入6个字符串(仅含字母和数字),字符串排序并输出。

不知道怎么回事,程序运行就出现错误,麻烦大神们帮忙看看,谢谢~~


#include <stdio.h>
#include <string.h>
int main()
{
    //先定义1个二维字符串数组,利用for循环将用户输入的6个字符串存储到数组中
    char str [6][4] = {"0"};
    for (int i = 0; i < 6; i++) {
        printf ("请输入第%d个字符串:\n",i+1);
        rewind (stdin);
        scanf("%s",str);
    }
    //通过冒泡排序对6个字符串进行比较
    for (int i = 0; i < 6; i++)
    {
        for (int j = 0; j < 5 - i; j++)
        {
            if (strcmp(str[j],str[j+1]) > 0)
                {
                    char strTemp[4] = "0";
                    strcpy(strTemp,str[j]);
                    strcpy(str[j],str[j+1]);
                    strcpy(str[j+1],strTemp);
                }
        }
    }
    printf ("排序后为\n");
    for (int i = 0; i < 6; i++) {
        printf ("%s\n",str);
    }
    return 0;
}

Snip20161005_2.png (123.32 KB, 下载次数: 40)

Snip20161005_2.png

4 个回复

倒序浏览
等晚上回去有时间看看
回复 使用道具 举报
额,看瞢了
回复 使用道具 举报
scanf("%s",str); 改为 scanf("%s", str[i]);
printf ("%s\n",str); 改为 printf("%s\n", str[i]);
回复 使用道具 举报
建议自己先努力排错.然后在记住自己犯的错误
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马