回 帖 发 新 帖 刷新版面

主题:我想问个问题..



        #include<iostream>
using namespace std;
main()
{
    int m,n,i,k=0;
    while(cin>>m>>n)
    {
        int a,b,c;
        for(i=m;i<=n;i++)
        {
            a = i/100;
            b = i/10%10;
            c = i % 10 ;
            if(i == a*a*a+b*b*b+c*c*c )
            {

               cout<<i<<" ";
               k++;

            }

        }
        if(k == 0)
            {
                cout<<"no"<<endl;
            }
    }
}



我想问一下怎么能把输出的最后一个数后面的空格删掉  谢谢..

回复列表 (共6个回复)

沙发


#include<iostream>
#include<iomanip>
using namespace std;
main()
{
    int m,n,i,k=0;
    while(cin>>m>>n)
    {
        int a,b,c;
        for(i=m;i<=n;i++)
        {
            a = i/100;
            b = i/10%10;
            c = i % 10 ;
            if(i == a*a*a+b*b*b+c*c*c )
            {

               cout<<setw(4)<<i;
               k++;

            }

        }
        if(k == 0)
            {
                cout<<"no"<<endl;
            }
    }
}

板凳

最后输出一个'\b'也行,呵呵

3 楼

[quote]最后输出一个'\b'也行,呵呵[/quote]

和我想的一样 这是对这个问题最直接的想法

4 楼


能不能把语句写给我..谢谢
 我打上cout<<'\b';不对,
我不知道应该打什么 。
我是新手..

5 楼

好好的空格干嘛要删掉呢?有必要可以用printf函数控制格式。对于\b在C++我不清楚,但如果我没弄错的话,在C中是不能那样删字符的,它只是光标回退一,不删字。如果硬要删除除空格等外的字符,只要用空格覆盖原字符即可。最好你在电脑上验证一下,我的想法不一定正确。

6 楼

你应该改进改进你的算法,而不是在想如何无意义地删除那个空格。
这程序明显有缺陷!

我来回复

您尚未登录,请登录后再回复。点此登录或注册