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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 gululu23 于 2014-12-14 10:41 编辑

直接上 代码
  1. //
  2. //  main.m
  3. //  dheiu
  4. //
  5. //  Created by 咕噜噜的mac on 14-12-14.
  6. //  Copyright (c) 2014年 咕噜噜的mac. All rights reserved.
  7. //
  8. #include <stdio.h>
  9. void sumAndMinusAndMultiplyAndQuotientAndResidue(int a, int b,int *sum, int *minus,int *multiply, int *quotient, int *residue);
  10. int main()
  11. {
  12.    
  13.     //提示输入两个数
  14.     printf("请输入两个整数,并以空格符号隔开\n");
  15.    
  16.     //定义两个变量
  17.     int a,b;
  18.    
  19.     //接受两个变量
  20.     scanf("%d  %d",&a , &b);
  21.    
  22.     //定义变量和、差、积、商、余数
  23.     int sum , minus , multiply , quotient , residue;
  24.    
  25.     //调用函数,并传入和、差、积、商、余数的变量地址
  26.    
  27.     sumAndMinusAndMultiplyAndQuotientAndResidue(a, b, &sum, &minus, &multiply, "ient, &residue);
  28.    
  29.     //输入两数的和、差、积、商、余数
  30. //    printf("%d + %d = %d \n %d - %d = %d \n %d * %d = %d \n %d / %d = %d \n %d %% %d = %d\n ", a , b ,sum ,a , b , minus , a , b ,multiply , a , b ,quotient , residue );
  31.     printf("%d + %d = %d\n",a, b,  sum);
  32.     printf("%d - %d = %d\n",a ,b , minus);
  33.     printf("%d * %d = %d\n",a , b, multiply);
  34.     printf("%d / %d = %d\n",a , b, quotient);
  35.     printf("%d %% %d = %d\n",a, b, residue);
  36.    
  37.     return 0;
  38. }

  39. //定义函数,计算两数和、差、积、商、余数
  40. void sumAndMinusAndMultiplyAndQuotientAndResidue(int a, int b,int *sum, int *minus,int *multiply, int *quotient, int *residue)
  41. {
  42.     //和
  43.     *sum = a + b;
  44.    
  45.     //差
  46.     *minus = a - b;
  47.    
  48.     //积
  49.     *multiply = a * b;
  50.    
  51.     //商
  52.     *quotient = a / b;
  53.    
  54.     //余数
  55.     *residue = a % b;
  56.    
  57. }
复制代码

问题1:如果用上面的scanf函数一次全部输出的时候,会有警告?
问题2:用xcode运行的时候,只能输入只能显示一个数数字,但运算结果是正确的?请大神亲测 下  

14 个回复

正序浏览
从今以后 发表于 2014-12-15 20:48
为毛我粘贴过去用Xcode试没问题- -

兄弟  能贴个图吗
我的xcode其他的都正常,就要唯独这个功能有点问题!难到是什么功能没有开启???:'(
回复 使用道具 举报
为毛我粘贴过去用Xcode试没问题- -
回复 使用道具 举报
arui12580 发表于 2014-12-15 12:57
用宏定义不更快,为毛要用函数?

问题不是出在这里,而是出在用xcode能不能输入多个字符的问题哈!:)
回复 使用道具 举报
arui12580 发表于 2014-12-15 12:57
用宏定义不更快,为毛要用函数?

问题不是出在这里,而是出在用xcode能不能输入多个字符的问题哈!:)
回复 使用道具 举报
墓笙 发表于 2014-12-15 12:39
如果我没有记错,scanf不能读取空格  tab   你把空格改成-试试      没有Xcode  只能这样空口说说! ...

用控制台运行是完全没有问题的,是xcode就是这样的了!
回复 使用道具 举报
墓笙 发表于 2014-12-15 12:39
如果我没有记错,scanf不能读取空格  tab   你把空格改成-试试      没有Xcode  只能这样空口说说! ...

用控制台运行是完全没有问题的,是xcode就是这样的了!
回复 使用道具 举报
arui12580 来自手机 中级黑马 2014-12-15 12:57:34
9#
用宏定义不更快,为毛要用函数?
回复 使用道具 举报
墓笙 中级黑马 2014-12-15 12:39:29
8#
如果我没有记错,scanf不能读取空格  tab   你把空格改成-试试      没有Xcode  只能这样空口说说!
回复 使用道具 举报
代码应该没问题。我在 Linux下可以运行成功,各个编译器有些许的差别,我看你scanf("%d  %d",&a , &b);   %d 和 %d 之间有两个空格,不知道是不是这个原因。
回复 使用道具 举报
qiubaoyang 发表于 2014-12-14 11:51
有没有加上取地址符&?
  1. /*

  2. 8、 输入两个数,打印(printf)这两个数的和、差、积、商、以及余数。(C语言编程题)

  3. */

  4. #include <stdio.h>


  5. //声明函数
  6. void sumAndMinusAndMultiplyAndQuotientAndResidue(int a, int b,int *sum, int *minus,int *multiply, int *quotient, int *residue);

  7. int main()
  8. {
  9.    
  10.     //提示输入两个数
  11.     printf("请输入两个整数,并以空格符号隔开\n");
  12.    
  13.     //定义两个变量
  14.     int a,b;
  15.    
  16.     //接受两个变量
  17.     scanf("%d  %d",&a , &b);
  18.    
  19.     //定义变量和、差、积、商、余数
  20.     int sum , minus , multiply , quotient , residue;
  21.    
  22.     //调用函数,并传入和、差、积、商、余数的变量地址
  23.    
  24.     sumAndMinusAndMultiplyAndQuotientAndResidue(a, b, &sum, &minus, &multiply,  &quotient, &residue);
  25.    
  26.     //输入两数的和
  27.     printf("%d + %d = %d\n",a, b,  sum);
  28.    
  29.     //输入两数的差
  30.     printf("%d - %d = %d\n",a ,b , minus);
  31.    
  32.     //输入两数的积
  33.     printf("%d * %d = %d\n",a , b, multiply);
  34.    
  35.     //输入两数的商
  36.     printf("%d / %d = %d\n",a , b, quotient);
  37.    
  38.     //输入两数的余数
  39.     printf("%d %% %d = %d\n",a, b, residue);
  40.    
  41.     return 0;
  42. }

  43. //定义函数,计算两数和、差、积、商、余数
  44. void sumAndMinusAndMultiplyAndQuotientAndResidue(int a, int b,int *sum, int *minus,int *multiply, int *quotient, int *residue)
  45. {
  46.     //和
  47.     *sum = a + b;
  48.    
  49.     //差
  50.     *minus = a - b;
  51.    
  52.     //积
  53.     *multiply = a * b;
  54.    
  55.     //商
  56.     *quotient = a / b;
  57.    
  58.     //余数
  59.     *residue = a % b;
  60.    
  61. }
复制代码

最后给你发的截图上面可以明显看到,我加了&哈,朋友,你运行下,这段代码,把结果贴出来,我看下,我是不是我xcode的问题哈!你看这样可以吗?
回复 使用道具 举报
有没有加上取地址符&?
回复 使用道具 举报
qiubaoyang 发表于 2014-12-14 11:34
将上述代码中的第27行中的   "ient    改为  & quotient   就行了!不懂欢迎再问! ...

这个是我粘贴时候错了,原代码哪里是quotient的,但我xcode还是只能显示一个数组?
回复 使用道具 举报
将上述代码中的第27行中的   "ient    改为  & quotient   就行了!不懂欢迎再问!
回复 使用道具 举报
分开写吧,提示输入一个变量,再输入另一个变量,用两个scanf接收,可以试一下scanf("%d,%d",&a , &b)这样接收
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马