ACatSama 发表于 2020-10-29 17:38:00

10个数字从小到大排序,含鉴别字母,只输数字程序正常,字母鉴别方面有问题

本帖最后由 ACatSama 于 2020-10-29 21:36 编辑

[#include <stdio.h>

int main()
{

        int a;
        int i, j, swap;
        printf("请输入10个数字\n");
        LOOP:
        for (i = 0; i < 10; i++)
                scanf("%d", &a);
                if((a<='z'&&a>='a')||(a<='Z'&&a>='A')){
       
                printf("要输入的是数字哦\n");
                goto LOOP;        }
        for (i = 0; i < 9; i++)
                for (j = 0; j < 9-i; j++)
                        if (a > a)//相邻两个数比较
                        {
                                swap = a;//将两个数交换
                                a = a;
                                a = swap;
                        }

        for (i = 0; i < 10; i++)
                printf("%d ", a);


        return 0;
}

永恒的蓝色梦想 发表于 2020-10-29 19:29:36

发泡语言是啥

ACatSama 发表于 2020-10-29 21:38:46

永恒的蓝色梦想 发表于 2020-10-29 19:29
发泡语言是啥

一个专门用来多个数比大小然后排序的代码,就比如我这边的程序就是输入十个数,然后按大小顺序输出

4goodworld 发表于 2020-10-29 22:37:17

你有没有考虑过
int a 能传递'a'吗?

乐乐学编程 发表于 2020-10-29 23:20:32

我没法上机,程序是改了,你试试看,能不能正常运行
#include <stdio.h>

int main()
{

      int a;
      int i, j, swap;
      printf("请输入10个数字\n");

      for (i = 0; i < 10; i++)
      {
LOOP:      scanf("%d", &a);             // 既然是要重新输入,LOOP 得放在此处
               if((a<='z'&&a>='a')||(a<='Z'&&a>='A'))
               {
                     printf("要输入的是数字哦\n");
                     goto LOOP;
               }
      }
      for (i = 0; i < 9; i++)
      {                                             // 既然是要排序,花括号不可少
                for (j = 0; j < 9-i; j++)
                {                                     // 既然是要排序,花括号不可少
                        if (a > a)//相邻两个数比较
                        {
                              swap = a;//将两个数交换
                              a = a;
                              a = swap;
                        }
                }                                     // 配对的花括号也不可少
      }                                             // 配对的花括号也不可少

      for (i = 0; i < 10; i++)
                printf("%d ", a);


      return 0;
}

永恒的蓝色梦想 发表于 2020-10-29 23:27:54

ACatSama 发表于 2020-10-29 21:38
一个专门用来多个数比大小然后排序的代码,就比如我这边的程序就是输入十个数,然后按大小顺序输出

这是叫冒泡排序吧……

风过无痕1989 发表于 2020-10-29 23:49:11

永恒的蓝色梦想 发表于 2020-10-29 23:27
这是叫冒泡排序吧……

你明白就行了,{:5_109:}

还是教怎么用VS2019吧。我安装完成以后,怎么只有C++没有C呀

LuLD 发表于 2020-10-30 09:34:42

风过无痕1989 发表于 2020-10-29 23:49
你明白就行了,

还是教怎么用VS2019吧。我安装完成以后,怎么只有C++没有C呀

改后缀名就可以了

永恒的蓝色梦想 发表于 2020-10-30 12:35:21

风过无痕1989 发表于 2020-10-29 23:49
你明白就行了,

还是教怎么用VS2019吧。我安装完成以后,怎么只有C++没有C呀

用C++还不行……?

风过无痕1989 发表于 2020-10-30 13:33:53

永恒的蓝色梦想 发表于 2020-10-30 12:35
用C++还不行……?

搞了一天了,VS2015还是不懂怎么用,试了一个超简单的程序(我原来在VC++6.0与DEV_C++中都运行正常的程序),到了这里,却运行不起来,报错

永恒的蓝色梦想 发表于 2020-10-30 18:24:50

风过无痕1989 发表于 2020-10-30 13:33
搞了一天了,VS2015还是不懂怎么用,试了一个超简单的程序(我原来在VC++6.0与DEV_C++中都运行正常的程 ...

……什么程序

Liangzz 发表于 2020-10-30 18:47:05

第一个for循环下面的语句用花括号括起来,现在只是for循环了scanf函数

风过无痕1989 发表于 2020-10-30 20:07:21

永恒的蓝色梦想 发表于 2020-10-30 18:24
……什么程序

不是程序的问题,是VS2015还不懂用

风过无痕1989 发表于 2020-10-30 20:19:00

LuLD 发表于 2020-10-30 09:34
改后缀名就可以了

已经可以运行C程序了,只是我还不如何用它去调试程序

LuLD 发表于 2020-10-31 09:32:32

风过无痕1989 发表于 2020-10-30 20:19
已经可以运行C程序了,只是我还不如何用它去调试程序

哎,慢慢来吧,转换是一种痛苦
页: [1]
查看完整版本: 10个数字从小到大排序,含鉴别字母,只输数字程序正常,字母鉴别方面有问题