注册 登录
编程论坛 C++教室

最简单的题目。疑问:

洪夜馨 发布于 2009-11-29 23:15, 748 次点击
只有本站会员才能查看附件,请 登录

我写成这样:
#include "iostream.h"
#include "stdio.h"
int main()
{
    int a,b,c,d,e,g;
    cout<<"请输入你想要打出的自然数头和尾"<<endl;
    cin>>a>>b;
    if(a==b)
    {
        cout<<a;
    }
    else
    {
        if(a>b)
        {
            a=c;
            b=d;
        }
        else
        {
            b=c;
            a=d;
        }
        cout<<d<<" ";
        for(int f=2;d<c;f++)
        {
            d=d+1;
            cout<<d;
            e=f/10;
            g=f-e*10;
            if(g=0)
            {
                cout<<endl;
            }
            else
            {
                cout<<" ";
            }
        }
        cout<<c;
    }
    getchar();
    return 0;
}
究竟哪里错了呢?为什么没有按我的意思执行?
4 回复
#2
newCpp2009-11-30 08:05
程序代码:
#include <iostream>
using namespace std;
int main()
{ int a,b;
cin>>a>>b;
for(int i=a;i<b;++i)
{
if(i>a)
{
cout<<i<<" ";
    if(i%10==0)
    {
        cout<<endl;
    }
}

}
cout<<endl;
return 0;
}
我的这个不知道符不符合你说的那个答案!
#3
lintaoyn2009-11-30 11:45
#include<iostream>
using namespace std;
int main()
{
    int a, b;
    cout << "请输入两个正整数:";
    cin >> a >> b;
    if (a > b)
    {
        int temp = a;
        a = b;
        b = temp;
    }//如果a > b那么交换它们的值。
    for (int count = 1; a <= b; ++a, ++count)//a,b间的数
    {
        cout << a << ' ';
        if (!(count % 10)) cout << endl;//每输出十个数换一次行
    }
    return 0;
}
#4
lintaoyn2009-11-30 11:53

if(a>b)
        {
            a=c;
            b=d;
        }
        else
        {
            b=c;
            a=d;
        }
这部分你写错了,把a,b当右值来用才符合你的要求。
d = d + 1;//写成 ++d; 会更好
e=f/10;
g=f-e*10;//想法是正确,但是不直观
if(g=0)//这里应该是g == 0
  {
     cout<<endl;
  }
#5
洪夜馨2009-12-02 15:31
谢谢你们.
1