啊哈磊_编程从这里起步
标题:
在线等,程序问题,挺急的
[打印本页]
作者:
SS3B 5109
时间:
2019-2-17 19:43
标题:
在线等,程序问题,挺急的
#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-17 19:43 上传
鬼知道发生了什么
作者:
ssy001
时间:
2019-2-18 14:27
<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>
</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>
复制代码
作者:
ssy001
时间:
2019-2-18 14:31
/*
代码Debugger:By_Ha
Debugger的网址:<a href="t.cn/Eq7GdHj">t.cn/Eq7GdHj</a>
分析:对数据类型掌握不牢固,对函数的判定条件不清晰。
问题不大,细节需要加强。
*/
#include <stdio.h>
#include <bits/stdc++.h>//C++万用库(含有cmath以使用floor函数)
#include <stdlib.h>
int main() {
double a;
printf("随便输入一个数:");
scanf("%lf",&a);
if (int(a) % 3==0 && floor(a) - a == 0) printf("这个数是三的倍数,");
//注意上面这一行,原代码是</font>"a%3==0",对字符串判定真伪,得到真
//同时a是double双精度类型,不能用取模“%”运算,应该先强制转换为int,再判断a是否为小数,即后面的“floor(a) - a == 0”
//floor函数是对一个数取不大于它的最大整数</font>
else printf("这个数不是三的倍数,");
if (int(a)%10 == 3 && floor(a) - a == 0) printf("它的末尾是三\n");
else printf("它的末尾不是三\n");
system("pause");
return 0;
}
复制代码
作者:
ssy001
时间:
2019-2-18 14:34
ssy001 发表于 2019-2-18 14:27
看下面那个
看下面那个
看下面那个
看下面那个
看下面那个
作者:
星辰劫
时间:
2019-2-19 14:08
#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;
}
作者:
luyunfeng
时间:
2019-2-28 17:04
浮点数没有%操作的,这样子肯定不行
作者:
luyunfeng
时间:
2019-2-28 17:06
把float改成int.%lf改成%d就行了
作者:
luyunfeng
时间:
2019-2-28 17:06
#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;
}
作者:
luyunfeng
时间:
2019-2-28 17:07
还有就是如果要提交的话把system("pause")删掉
欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/)
Powered by Discuz! X3.2