晕,这个作业问了三遍了
https://ask.csdn.net/questions/7442049 看这个,热的
//水仙花
#include <stdio.h>
int fun(int k[10]){
int i;
int a,b,c;
int cnt =0;
for(i=100;i<=999;i++){
a = i / 100; //百位
b = i / 10 % 10; //十位
c = i % 10;//个位
if(a*a*a + b*b*b + c*c*c == i){
k[cnt++] = i;
}
}
return cnt;
}
void main(){
/*
求出所有的水仙花树
求出所有的水仙花树,水仙花数为3位数,每一位的三次方的和等于它自己
*/
int a[10]={0,0,0,0,0,0,0,0,0,0};
int cnt =0;
int i;
cnt = fun(a);
for(i=0;i<cnt;i++){
printf("%d\t",a[i]);
}
}
代码如下,如有帮助,请采纳一下,谢谢。
第一题代码如下:
#include <stdio.h>
int fun(int m,int n)
{
int i = 0;
int sum = 0;
for (i = m;i <=n; i++)
{
if( i%7 != 0 && i%5 != 0)
sum += i;
}
return sum;
}
void main()
{
int m,n,sum;
printf("请输入m和n:");
scanf("%d %d",&m,&n);
sum = fun(m,n);
printf("%d到%d之间不能被7整除也不能被5整除的整数和为:%d",m,n,sum);
return ;
}
第二题代码如下:
#include <stdio.h>
int fun(int m)
{
int sum = 0,d,t;
t = m;
while(m > 0)
{
d = m%10;
sum += d * d * d;
m = m/10;
}
if(sum == t)
return 1;
else
return 0;
}
void main()
{
int i,arr[10],size = 0;
for (i = 100; i <= 999 ; i++)
{
if (fun(i))
{
arr[size++] = i;
}
}
printf("水仙花数:");
for (i = 0; i < size; i++)
{
printf("%d ",arr[i]);
}
return ;
}
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632