啊哈磊_编程从这里起步

标题: 这个课后练习怎么做啊? [打印本页]

作者: zhanghl1    时间: 2013-5-10 16:03
标题: 这个课后练习怎么做啊?
#include <stdio.h>
#include <stdlib.h>
int main()
{
    system("color f0");
    int a;
    scanf("输入一个整数,电脑将判断是否大于、等于或小于0%d\n",&a);
    if(a>0)
      printf("大于0\n");
    if(a==0)
    printf("等于0\n");
    if(a<0)
    printf("小于0\n");
    system("pause");
    return 0;
}

为什么我输入0显示大于0啊????另外怎么输入负整数.......


作者: rosynirvana    时间: 2013-5-10 16:03
因为你的输入必须按照scanf里的格式字符串来,不然程序就没法正确接受到输入的值…
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main()
  4. {
  5.     system("color f0");
  6.     int a;
  7.     printf("输入一个整数,电脑将判断是否大于、等于或小于0: ");
  8.     scanf("%d",&a);
  9.     if(a>0)
  10.       printf("大于0\n");
  11.     if(a==0)
  12.     printf("等于0\n");
  13.     if(a<0)
  14.     printf("小于0\n");
  15.     system("pause");
  16.     return 0;
  17. }
复制代码
这样就对了

但是,因为scanf太容易出错,我建议你这么写
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main()
  4. {
  5.     system("color f0");
  6.     int a;
  7.     printf("输入一个整数,电脑将判断是否大于、等于或小于0: ");
  8.     printf("程序接受到了%d个输入\n",scanf("%d",&a));
  9.     if(a>0)
  10.       printf("大于0\n");
  11.     else if(a==0)
  12.             printf("等于0\n");
  13.     else
  14.             printf("小于0\n");
  15.     system("pause");
  16.     return 0;
  17. }
复制代码
scanf也可以在printf里面当作一个数字来用,这个数字是scanf正确接受到值的数量
作者: Teddy    时间: 2013-5-10 16:34
scanf是输入函数,不能含有输出输出内容。
负数也直接输入,负号就是减号。
#include <stdio.h>
#include <stdlib.h>
int main()
{
    system("color f0");
    int a;
        printf("输入一个整数,电脑将判断是否大于、等于或小于0\n");
    scanf("%d",&a);
    if(a>0)
                printf("大于0\n");
    if(a==0)
                printf("等于0\n");
    if(a<0)
                printf("小于0\n");
    system("pause");
    return 0;
}
作者: rosynirvana    时间: 2013-5-27 17:04
to gnow同学:
要明白这个,你需要明白什么是函数的返回值
scanf的返回值就是正确接受输入的个数,用printf是为了输出这个值




欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) Powered by Discuz! X3.2