搜索
查看: 330|回复: 8
打印 上一主题 下一主题

在线等,程序问题,挺急的

[复制链接]
跳转到指定楼层
楼主
 楼主| 发表于 2019-2-17 19:43:45 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
#include <stdio.h>
#include <stdlib.h>
int main()
{
        double a;
    printf("随便输入一个数:");
    scanf("%lf",&a);
    if ("a%3==0") printf("这个数是三的倍数,");
    else printf("这个数不是三的倍数,");

    if ("a%10==3") printf("它的末尾是三\n");
    else printf("它的末尾不是三\n");
    system("pause");
return 0;
}

捕获.PNG (1.78 KB, 下载次数: 1)

鬼知道发生了什么

鬼知道发生了什么
沙发
发表于 2019-2-18 14:27:44 | 只看该作者
  1. <p>/*</p><p>代码Debugger:By_Ha</p><p>Debugger的网址:<a href="t.cn/Eq7GdHj">t.cn/Eq7GdHj</a></p><p>分析:对数据类型掌握不牢固,对函数的判定条件不清晰。问题不大,细节需要加强。</p><p>*/</p><p>#include <stdio.h></p><p>#include <bits/stdc++.h>//C++万用库(含有cmath以使用floor函数)</p><p>#include <stdlib.h></p><p>
  2. </p><p>int main() {</p><p><span style="white-space:pre">        </span>double a;</p><p><span style="white-space:pre">        </span>printf("随便输入一个数:");</p><p><span style="white-space:pre">        </span>scanf("%lf",&a);</p><p><span style="white-space:pre">        </span>if (int(a) % 3==0 && floor(a) - a == 0) printf("这个数是三的倍数,");</p><p>        <font color="#ff0000">//注意上面这一行,原代码是</font>"a%3==0"<font color="#ff0000">,对字符串判定真伪,得到真</font></p><p><font color="#ff0000">       //同时a是double双精度类型,不能用取模“%”运算,应该先强制转换为int,再判断a是否为小数,即后面的“floor(a) - a == 0”</font></p><p><font color="#ff0000">       //floor函数是对一个数取不大于它的最大整数</font></p><p><span style="white-space:pre">        </span>else printf("这个数不是三的倍数,");</p><p><span style="white-space:pre">        </span>if (int(a)%10 == 3 && floor(a) - a == 0) printf("它的末尾是三\n");</p><p><span style="white-space:pre">        </span>else printf("它的末尾不是三\n");</p><p><span style="white-space:pre">        </span>system("pause");</p><p><span style="white-space:pre">        </span>return 0;</p><p>}</p>
复制代码


板凳
发表于 2019-2-18 14:31:45 | 只看该作者
  1. /*
  2. 代码Debugger:By_Ha
  3. Debugger的网址:<a href="t.cn/Eq7GdHj">t.cn/Eq7GdHj</a>
  4. 分析:对数据类型掌握不牢固,对函数的判定条件不清晰。
  5. 问题不大,细节需要加强。  
  6. */
  7. #include <stdio.h>
  8. #include <bits/stdc++.h>//C++万用库(含有cmath以使用floor函数)  
  9. #include <stdlib.h>
  10. int main() {
  11.         double a;
  12.         printf("随便输入一个数:");
  13.         scanf("%lf",&a);
  14.         if (int(a) % 3==0 && floor(a) - a == 0) printf("这个数是三的倍数,");
  15.         //注意上面这一行,原代码是</font>"a%3==0",对字符串判定真伪,得到真
  16.         //同时a是double双精度类型,不能用取模“%”运算,应该先强制转换为int,再判断a是否为小数,即后面的“floor(a) - a == 0”
  17.         //floor函数是对一个数取不大于它的最大整数</font>
  18.         else printf("这个数不是三的倍数,");
  19.         if (int(a)%10 == 3 && floor(a) - a == 0) printf("它的末尾是三\n");
  20.         else printf("它的末尾不是三\n");
  21.         system("pause");
  22.         return 0;
  23. }
复制代码
地板
发表于 2019-2-18 14:34:49 | 只看该作者


看下面那个
看下面那个
看下面那个
看下面那个
看下面那个
5#
发表于 2019-2-19 14:08:12 | 只看该作者
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int a;
    printf("随便输入一个数:");
    scanf("%d",&a);
    if (a%3==0) printf("这个数是三的倍数,");
    else printf("这个数不是三的倍数,");

    if (a%10==3) printf("它的末尾是三\n");
    else printf("它的末尾不是三\n");
    system("pause");
    return 0;
}


6#
发表于 2019-2-28 17:04:35 | 只看该作者
浮点数没有%操作的,这样子肯定不行
7#
发表于 2019-2-28 17:06:11 | 只看该作者
把float改成int.%lf改成%d就行了
8#
发表于 2019-2-28 17:06:48 | 只看该作者

#include <stdio.h>
#include <stdlib.h>
int main()
{
        int a;
    printf("随便输入一个数:");
    scanf("%d",&a);
    if ("a%3==0") printf("这个数是三的倍数,");
    else printf("这个数不是三的倍数,");

    if ("a%10==3") printf("它的末尾是三\n");
    else printf("它的末尾不是三\n");
    system("pause");
return 0;
}
9#
发表于 2019-2-28 17:07:48 | 只看该作者
还有就是如果要提交的话把system("pause")删掉
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表