题目是输入两个正整数m和n,然后输出这两个数之间所有水仙花数并统计个数和总和。但我输出的个数一直显示为0,不知道怎么修改

题目是输入两个正整数m和n,然后输出这两个数之间所有水仙花数并统计个数和总和。但我输出的个数一直显示为0
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- CSDN专家-天际的海浪 2021-11-12 16:45关注
count是main主函数中的变量。is函数访问不了
要把count改成全局变量
或者count++放在main主函数中进行增加1你题目的解答代码如下:
#include<stdio.h> int main() { int is(int num); int m,n,num,count=0,sum=0; scanf("%d%d", &m, &n); for (num = m; num < n; num++) { if (is(num)) { printf("%d\n", num); sum += num; count++; } } printf("水仙花数共有%d个,和为%d\n", count,sum); return 0; } int is(int num) { int i,j=0,d; i=num; while (i!=0) { d=i%10; i=i/10; j=j+d*d*d; } if (j==num) return 1; else return 0; }
如有帮助,望采纳!谢谢!
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用