刚学c语言没多久,老师布置的作业。求正解
刚学c语言没多久,老师布置的作业。求正解我自己试着做完之后对比一下(尽量用基础的语言,因为刚学。...
刚学c语言没多久,老师布置的作业。求正解我自己试着做完之后对比一下(尽量用基础的语言,因为刚学。
展开
2个回答
展开全部
(1)
#include <stdio.h>
int main(void){
int i,x;
for(i=0;i<999;i++){
scanf("%d",&x);
if(x%2==0)
printf("%d ",x);
}
printf("\n");
return 0;
}
(2)
#include <stdio.h>
int main(void){
int x=100,t;
while(++x<1000){
if((t=x/100)*t*t+(t=x/10%10)*t*t+(t=x%10)*t*t==x)
printf("%d ",x);
}
printf("\n");
return 0;
}
追问
我的第一个和你写的一样,但执行的时候每输入一个就会进行输出或者不输出的操作,看起来特别乱,能让他在最后一次性输出所有偶数吗?
追答
输入的时候用间隔隔开,不想输入了就用回车,这样就能输出一行偶数,并不乱。按你说的当然可以,但考虑到要输入1000个数后才输出,那多不方便。
展开全部
#include <stdio.h>
int sum(int s)
{
int n = 0,sum=0;
while(s>0)
{
n = s%10;
sum =sum + (n*n*n);
s= s/10;
}
return sum;
}
int main()
{
int i = 100,a;
printf("水仙花数有\n");
while(i < 1000)
{
a = sum(i);
if(i == a)
printf("%d\t",i);
i++;
}
return 0;
}
int sum(int s)
{
int n = 0,sum=0;
while(s>0)
{
n = s%10;
sum =sum + (n*n*n);
s= s/10;
}
return sum;
}
int main()
{
int i = 100,a;
printf("水仙花数有\n");
while(i < 1000)
{
a = sum(i);
if(i == a)
printf("%d\t",i);
i++;
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询