鱼C论坛

 找回密码
 立即注册
查看: 5307|回复: 15

为什么我在VC++和code block的运行都比较不出大小且是输出的

[复制链接]
发表于 2013-8-4 17:35:25 | 显示全部楼层 |阅读模式
1鱼币
#include <stdio.h>
void main()
{
        int a,b,c;
        printf("请输入三个数:");
        scanf("%d,%d,%d",&a,&b,&c);
        if(a<b)
         if(b<c)
        printf("max=%d\n",c);
         else
        printf("max=%d\n",b);
    else if(a>c)
         printf("max=%d\n",a);
        else
        printf("max=%d\n",c

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-8-4 19:13:06 | 显示全部楼层
本帖最后由 福禄娃娃 于 2013-8-4 19:15 编辑

试试这个,效率高点
  1. # include <stdio.h>
  2. # define MAX  ((a>b?a:b) >c ? (a>b?a:b) : c)

  3. int main(void)
  4. {
  5.         int a = 0, b = 0, c = 0;
  6.         for (;;){
  7.                 scanf("%d %d %d", &a, &b, &c);
  8.         
  9.                 printf("The biggest number is %d\n", MAX);
  10.                 }
  11.         return 0;
  12. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-8-4 21:18:44 | 显示全部楼层
不知道你问什么。可能你输入数字的时候是用空格分割了,不是用逗号了。。用成空格来分割输入的话所以不行。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-8-4 23:20:09 | 显示全部楼层

本来是求三个数中的最大值,总是输出我输入数字的 第一个数,不是最大值,用逗号也不行,我试了一下。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-8-4 23:24:03 | 显示全部楼层
福禄娃娃 发表于 2013-8-4 19:13
试试这个,效率高点

那个就是输出不了最大的,不知怎么回事,求大神帮助
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-8-4 23:46:35 | 显示全部楼层
小C的小梦 发表于 2013-8-4 23:24
那个就是输出不了最大的,不知怎么回事,求大神帮助

你再试试,输入的时候用空格分开三个数。
  1. #include <stdio.h>

  2. int main(void)
  3. {
  4.         int a, b ,c;
  5.         
  6.         for (;;){
  7.         printf("请输入三个数:");
  8.         scanf("%d %d %d", &a, &b, &c);
  9.         if (a < b)
  10.                 if (b < c)
  11.                         printf("max=%d\n", c);
  12.                 else
  13.                         printf("max=%d\n", b);
  14.                 else if (a > c)
  15.                         printf("max=%d\n", a);
  16.         else
  17.                         printf("max=%d\n", c);
  18.                  }
  19.         return 0;
  20. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-8-5 09:02:01 | 显示全部楼层
这问题一看你就没调试。先学下调试,不懂的加我q问,基本的调试就能解决。
真心希望不要遇到问题就问。调试是王道!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-8-5 19:07:54 | 显示全部楼层
编程难 发表于 2013-8-5 09:02
这问题一看你就没调试。先学下调试,不懂的加我q问,基本的调试就能解决。
真心希望不要遇到问题就问。调试 ...

恩恩,谢谢,
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-8-5 19:25:02 | 显示全部楼层
福禄娃娃 发表于 2013-8-4 23:46
你再试试,输入的时候用空格分开三个数。

请问int main(void)和void main()一样吗,这个运行可以,但不知道if(; ;) 什么意思
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-8-6 07:54:02 | 显示全部楼层
小C的小梦 发表于 2013-8-5 19:25
请问int main(void)和void main()一样吗,这个运行可以,但不知道if(; ;) 什么意思

不一样,int main(void)表示返回int型参数给操作系统,最后来个return 0; 0表示正常,其他数字表示出错码
for(;;)和while(1)都是表示死循环的意思
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-8-6 11:25:47 | 显示全部楼层
本帖最后由 liufei_vip 于 2013-8-6 11:28 编辑

测试成功
  1. int a,b,c;
  2.      printf("请输入三个数:");
  3.      scanf_s("%d,%d,%d",&a,&b,&c);
  4.      if(a<b)
  5.         if(b<c)
  6.             printf("max=%d\n",c);
  7.         else
  8.             printf("max=%d\n",b);
  9.     else
  10.         if(a>c)
  11.             printf("max=%d\n",a);
  12.         else
  13.             printf("max=%d\n",c);
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-8-8 13:49:03 | 显示全部楼层
本帖最后由 牡丹花下死做鬼 于 2013-8-8 13:50 编辑

问题不大 有点小问题
  1. #include <stdio.h>
  2. void main()
  3. {
  4.         int a,b,c;
  5.         printf("请输入三个数:");
  6.         scanf("%d,%d,%d",&a,&b,&c);//你第一个逗号是中文逗号
  7.         if(a<b)
  8.         {
  9.                 if(b<c)//最好if都要带上大括号
  10.                 {
  11.                         printf("max=%d\n",c);
  12.                 }
  13.                 else
  14.                 {
  15.                         printf("max=%d\n",b);
  16.                 }
  17.         }
  18.                 else if(a>c)
  19.                 {
  20.                         printf("max=%d\n",a);
  21.                 }
  22.         else
  23.                 {
  24.                         printf("max=%d\n",c);//少了);}
  25.                 }
  26. }
复制代码
帮你修改了下但是真的不建议你有这种算法
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-8-8 16:36:56 | 显示全部楼层
福禄娃娃 发表于 2013-8-4 19:13
试试这个,效率高点

为什么要写三目运算符 那玩意 ......
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-8-8 16:39:48 | 显示全部楼层
牡丹花下死做鬼 发表于 2013-8-8 16:36
为什么要写三目运算符 那玩意 ......

个人觉得三目运算符看起来更简洁易懂
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-8-8 17:00:26 | 显示全部楼层
福禄娃娃 发表于 2013-8-8 16:39
个人觉得三目运算符看起来更简洁易懂

简洁我承认 易懂真的是不如写成if 的样子易懂诶
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-8-14 22:20:04 | 显示全部楼层
福禄娃娃 发表于 2013-8-6 07:54
不一样,int main(void)表示返回int型参数给操作系统,最后来个return 0; 0表示正常,其他数字表示出错码 ...

谢谢,有劳了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-16 07:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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