鱼C论坛

 找回密码
 立即注册
查看: 959|回复: 14

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

[复制链接]
发表于 2020-10-29 17:38:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

[
  1. #include <stdio.h>

  2. int main()
  3. {

  4.         int a[10];
  5.         int i, j, swap;
  6.         printf("请输入10个数字\n");
  7.         LOOP:
  8.         for (i = 0; i < 10; i++)
  9.                 scanf("%d", &a[i]);
  10.                 if((a[i]<='z'&&a[i]>='a')||(a[i]<='Z'&&a[i]>='A')){
  11.        
  12.                 printf("要输入的是数字哦\n");
  13.                 goto LOOP;        }
  14.         for (i = 0; i < 9; i++)
  15.                 for (j = 0; j < 9-i; j++)
  16.                         if (a[j] > a[j+1])//相邻两个数比较
  17.                         {
  18.                                 swap = a[j];//将两个数交换
  19.                                 a[j] = a[j+1];
  20.                                 a[j+1] = swap;
  21.                         }

  22.         for (i = 0; i < 10; i++)
  23.                 printf("%d ", a[i]);


  24.         return 0;
  25. }
复制代码
最佳答案
2020-10-29 23:20:32
我没法上机,程序是改了,你试试看,能不能正常运行
  1. #include <stdio.h>

  2. int main()
  3. {

  4.         int a[10];
  5.         int i, j, swap;
  6.         printf("请输入10个数字\n");

  7.         for (i = 0; i < 10; i++)
  8.         {
  9. LOOP:      scanf("%d", &a[i]);             // 既然是要重新输入,LOOP 得放在此处
  10.                if((a[i]<='z'&&a[i]>='a')||(a[i]<='Z'&&a[i]>='A'))
  11.                {
  12.                      printf("要输入的是数字哦\n");
  13.                      goto LOOP;
  14.                }
  15.         }
  16.         for (i = 0; i < 9; i++)
  17.         {                                             // 既然是要排序,花括号不可少
  18.                 for (j = 0; j < 9-i; j++)
  19.                 {                                     // 既然是要排序,花括号不可少
  20.                         if (a[j] > a[j+1])//相邻两个数比较
  21.                         {
  22.                                 swap = a[j];//将两个数交换
  23.                                 a[j] = a[j+1];
  24.                                 a[j+1] = swap;
  25.                         }
  26.                 }                                     // 配对的花括号也不可少
  27.         }                                             // 配对的花括号也不可少

  28.         for (i = 0; i < 10; i++)
  29.                 printf("%d ", a[i]);


  30.         return 0;
  31. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-29 19:29:36 | 显示全部楼层
发泡语言是啥
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-29 21:38:46 | 显示全部楼层

一个专门用来多个数比大小然后排序的代码,就比如我这边的程序就是输入十个数,然后按大小顺序输出
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-29 22:37:17 | 显示全部楼层
你有没有考虑过
int a 能传递  'a'吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-29 23:20:32 | 显示全部楼层    本楼为最佳答案   
我没法上机,程序是改了,你试试看,能不能正常运行
  1. #include <stdio.h>

  2. int main()
  3. {

  4.         int a[10];
  5.         int i, j, swap;
  6.         printf("请输入10个数字\n");

  7.         for (i = 0; i < 10; i++)
  8.         {
  9. LOOP:      scanf("%d", &a[i]);             // 既然是要重新输入,LOOP 得放在此处
  10.                if((a[i]<='z'&&a[i]>='a')||(a[i]<='Z'&&a[i]>='A'))
  11.                {
  12.                      printf("要输入的是数字哦\n");
  13.                      goto LOOP;
  14.                }
  15.         }
  16.         for (i = 0; i < 9; i++)
  17.         {                                             // 既然是要排序,花括号不可少
  18.                 for (j = 0; j < 9-i; j++)
  19.                 {                                     // 既然是要排序,花括号不可少
  20.                         if (a[j] > a[j+1])//相邻两个数比较
  21.                         {
  22.                                 swap = a[j];//将两个数交换
  23.                                 a[j] = a[j+1];
  24.                                 a[j+1] = swap;
  25.                         }
  26.                 }                                     // 配对的花括号也不可少
  27.         }                                             // 配对的花括号也不可少

  28.         for (i = 0; i < 10; i++)
  29.                 printf("%d ", a[i]);


  30.         return 0;
  31. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

这是叫冒泡排序吧……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-29 23:49:11 | 显示全部楼层

你明白就行了,

还是教怎么用VS2019吧。我安装完成以后,怎么只有C++没有C呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-30 09:34:42 | 显示全部楼层
风过无痕1989 发表于 2020-10-29 23:49
你明白就行了,

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

改后缀名就可以了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-30 12:35:21 | 显示全部楼层
风过无痕1989 发表于 2020-10-29 23:49
你明白就行了,

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

用C++还不行……?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-30 13:33:53 | 显示全部楼层


搞了一天了,VS2015还是不懂怎么用,试了一个超简单的程序(我原来在VC++6.0与DEV_C++中都运行正常的程序),到了这里,却运行不起来,报错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

……什么程序
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-30 18:47:05 | 显示全部楼层
第一个for循环下面的语句用花括号括起来,现在只是for循环了scanf函数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-30 20:07:21 | 显示全部楼层

不是程序的问题,是VS2015还不懂用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-30 20:19:00 | 显示全部楼层
LuLD 发表于 2020-10-30 09:34
改后缀名就可以了

已经可以运行C程序了,只是我还不如何用它去调试程序
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-31 09:32:32 | 显示全部楼层
风过无痕1989 发表于 2020-10-30 20:19
已经可以运行C程序了,只是我还不如何用它去调试程序

哎,慢慢来吧,转换是一种痛苦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-20 20:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表