c语言 这个题我哪里错了 为什么输出结果总为0?

如题所述

略加修改即可:主要是加大括号
12345678910111213141516171819202122232425262728293031323334353637383940414243#include<stdio.h>#include<math.h>int flower(int num);int main(){ int i, flag, k, m, n, z = 0; scanf("%d%d", &m, &n); if (m>1000 || m<100 || n>1000 || n<100) flag = 0; else { if (m <= n) { k = n; n = m; m = k; } for (i = n; i <= m; i++){ flag = flower(i); if (flag == 1) { printf("%d ", i); z++; } } printf("\n"); } if (z == 0) printf("no\n"); return 0;}int flower(int i){ int a, b, c; a = i / 100; b = i / 10 % 10; c = i % 10; if (i == a*a*a + b*b*b + c*c*c) return 1; else return 0;}
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-11-15
什么都没有,我怎么帮你看哪里错了呀?

c语言求周长和体积之类的,我不知道哪里错了 答案始终为零 大佬求解谢谢...
1、当你用scanf("%f,%f"中间有逗号的情况下读入数据的时候,记得你输入的时候,数字中间一定要是英文的逗号,而不是中文逗号 2、两整数相除的结果还是整数,比如说4\/3结果就是1,而不是你想要的1.3333,如果想得到后一结果,可以写成4.0\/3 3、你的计算要在scanf之后完成,你程序中的计算时,r和...

很急,一道c语言程序,为什么我输入什么数最后结果都得0.00?
输入格式问题。由于定义的x是double,所以要用%lf include<stdio.h> include<math.h> void main(){ double x,y;printf("输入数据:\\n");scanf("%lf",&x);\/\/这里改成%lf,就行 if(x<=5)y=0;else if((x>5)&&(x<=10))y=sin(x);else y=cos(x)+sin(x);printf("y=%.2f\\...

C语言程序输出结果一直是0,怎么办?
你的fun里的形参a是个int类型,你写a=1.0\/a,相当于把1.0\/a的结果又强制转换成了int,因为你的a肯定比1大,所以结果当然还是0,建议把a=1.0\/a改成return 1.0\/a,a=0改为return 0

C语言里的除法为什么输出的全是0?
printf("%f\\n",c);\/\/" "包含的内容出错 return 0;}

(C语言)这个程序想求输入的所有正整数的平均值,为什么一直输出0呢...
您好,很高兴回答您的问题。您这个题目是要求取正整数的和的平均值,定义的整数是整型类型,存放和的变量也是整数类型,,整数值的个数也是整型,但是输出的是平均数,肯定是带有小数的,所以输出的printf函数为printf("%f",1.0*sm\/cnt);这样才能保证输出的平均值为实际结果。

C语言, 为啥输出的结果一直是0啊 哪里错了啊
一、因为数据类型都是float,所以输入输出都应该是%f scanf_s("%f, %f", &a, &b);scanf_s("%f, %f", &c, &d);二、输入格式中要求每一组数据要用逗号(英文)分隔,如下:12,34 56,23 这样才可以 三、输出保留两位小数是:点2f不是2f printf(" Labor cost for the boy is %.2f ...

刚学c语言,这个输出值为什么是0?
scanf语句错误,应该改为:scanf(“%f%f%f”,&v,&n,&m)才能让系统读入值,否则的话,v,n,,m的值都是零,所以最后总和也为0.你可以用一下下面的代码。include<stdio.h> include<math.h> int main(){ float v, n, m;float a = 3.5;float b = 3.5;float c = 3.5;scanf("%f...

C语言 输出结果为什么是0
short类型默认大小为2字节,所能表示的最大无符号数为2^16-1=65535。而对short类型变量a赋值为65536时超出short类型数据的范围,发生溢出。65536=(10000000000000000)B。最高位1被舍去,a的值为0.b理所当然为0.

C语言编程设计过程中输出结果总为0,这是为什么?
解决办法有两个:上图中输入的数据类型为double,不应该使用%f,可以改成%lf 可以把double改成float,但是精度会变低

初学C语言,帮我看看这个输出结果为什么是0?
3、在你将b的值赋值为浮点型的a(b=(float)a;)时,结果其实应该是24.00。4、但是由于你并未给b改变类型,所以他还是一个整形,在你结尾时引用lf浮点型的输出方式进行输出时,计算机识别不出来,所以结果为零。希望可以帮到你,如果还有什么问题可以在下边留言。

相似回答