c语言的程序编译正确,而运行出现了问题,怎么回事
完整的程序#include<stdio.h>intfun(intx){intn,s1,s2,s3,t;/**********found**********/n=0;t=1...
完整的程序
#include <stdio.h>
int fun(int x)
{ int n, s1, s2, s3, t;
/**********found**********/
n=0;
t=100;
/**********found**********/
while(t<=x)
{ s1=t%10; s2=(t/10)%10; s3=t/100;
if(s1+s2+s3==15)
{ printf("%d ",t);
n++;
}
/**********found**********/
t++;
}
return n;
}
main()
{ int x=-1;
while(x>999||x<0)
{ printf("Please input(0<x<=999): "); scanf("%d",&x); }
printf("\nThe result is: %d\n",fun(x));
}
还有其中主函数里有个int x=-1;为什么是x=-1而不是x=1? 展开
#include <stdio.h>
int fun(int x)
{ int n, s1, s2, s3, t;
/**********found**********/
n=0;
t=100;
/**********found**********/
while(t<=x)
{ s1=t%10; s2=(t/10)%10; s3=t/100;
if(s1+s2+s3==15)
{ printf("%d ",t);
n++;
}
/**********found**********/
t++;
}
return n;
}
main()
{ int x=-1;
while(x>999||x<0)
{ printf("Please input(0<x<=999): "); scanf("%d",&x); }
printf("\nThe result is: %d\n",fun(x));
}
还有其中主函数里有个int x=-1;为什么是x=-1而不是x=1? 展开
4个回答
展开全部
x = -1才满足循环条件,没问题了
#include <stdio.h>
int fun(int x)
{
int n, s1, s2, s3, t;
/**********found**********/
n=0;
t=100;
/**********found**********/
while(t<=x)
{
s1=t%10; s2=(t/10)%10; s3=t/100;
if(s1+s2+s3==15)
{
printf("%d ",t);
n++;
}
/**********found**********/
t++;
}
return n;
}
void main()
{
int x=-1;
while(x>999||x<0)
{
printf("Please input(0<=x<=999): ");
scanf("%d",&x);
fflush(stdin);
}
printf("\nThe result is: %d\n",fun(x));
}
#include <stdio.h>
int fun(int x)
{
int n, s1, s2, s3, t;
/**********found**********/
n=0;
t=100;
/**********found**********/
while(t<=x)
{
s1=t%10; s2=(t/10)%10; s3=t/100;
if(s1+s2+s3==15)
{
printf("%d ",t);
n++;
}
/**********found**********/
t++;
}
return n;
}
void main()
{
int x=-1;
while(x>999||x<0)
{
printf("Please input(0<=x<=999): ");
scanf("%d",&x);
fflush(stdin);
}
printf("\nThe result is: %d\n",fun(x));
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
main 函数前面应加void。
除此之外程序没有什么问题。
初始化x为-1是为了进入while循环,而while循环又是为了保证输入的数据在0<x<=999之间。试想,当进入while循环后,如果你输入的是1000,则会继续提示“Please input(0<x<=999):”知道你输入一个在 0<x<=999之间的数,才会跳出while循环,进行计算。
除此之外程序没有什么问题。
初始化x为-1是为了进入while循环,而while循环又是为了保证输入的数据在0<x<=999之间。试想,当进入while循环后,如果你输入的是1000,则会继续提示“Please input(0<x<=999):”知道你输入一个在 0<x<=999之间的数,才会跳出while循环,进行计算。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
运行了下,好像没什么问题啊
让x=-1是为了让while(x>999||x<0)这句能执行
让x=-1是为了让while(x>999||x<0)这句能执行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询