C++ 求出1000以内的整数,使其数字之和为15,所有符合条件的整数,每行8个,数与数之间用一个空格隔开。
5个回答
展开全部
#include <iostream>
using namespace std;
void main()
{
while(1)
{
for(int i=0;i<8;i++)
{
int a=rand()%1000;
int total=a%10+(a/10)%10+(a/100)%10;
if(total!=15){
i--;continue;}
cout<<a<<" ";
}
}
}
如果是按顺序从大到小输出0-1000之间符合要求的数字直接去掉while循环,改成:
void main()
{
int count =1, total=0;
for(int i=1;i<=1000;i++)
{
if(i<10)
continue;
if(i>=10&&i<100)
total=i%10+(i/10)%10;
if(i>=100)
total=i%10+(i/10)%10+(i/100)%10;
if(total!=15)
continue;
cout<<i<<" ";
if(count%8==0)
cout<<endl;
count++;
}
}
Visual Studio 2010 编译通过,望采纳。
更多追问追答
追问
很抱歉 我用的是 Dev-Cpp_5.5.3,编译过不了。
追答
能给下报错或者编译代码截图吗
展开全部
int cnt=0;
//如果符合条件
{
cout << num ;
cnt++ ;
if ( cnt %8 ==0 )
cout << endl ; //满8个输出换行
else
cout << " " ; //不足8个,则输出空格
}
//如果符合条件
{
cout << num ;
cnt++ ;
if ( cnt %8 ==0 )
cout << endl ; //满8个输出换行
else
cout << " " ; //不足8个,则输出空格
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我写一下输出函数的代码吧,
i=0
while(i++)
{
cout <<number ;
if(i=8)
{
i=0;
cout<<endl;
}
}
大概是这个意思。望采纳。
i=0
while(i++)
{
cout <<number ;
if(i=8)
{
i=0;
cout<<endl;
}
}
大概是这个意思。望采纳。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <iostream>
using namespace ::std;
void main()
{
int iCount = 0;
int num = 0;
int sum = 0;
for (int i=69;i<1000;i++)
{
sum = 0;
num = i;
while (num>0)
{
sum += num%10;
num /= 10;
}
if (sum==15)
{
cout<<i<<" ";
iCount++;
if (iCount%8==0)
{
cout<<endl;
}
}
}
cout<<endl;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
k=0;
cout << n << (++k%8 ? ' ' : '\n');
...
cout << n << (++k%8 ? ' ' : '\n');
...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询