首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

哪位高手能帮忙解决一个c++小疑点

2012-04-24 
谁能帮忙解决一个c++小问题 ?#includeiostreamusing namespace stdint main(){int n0,a,bfor(int i1

谁能帮忙解决一个c++小问题 ?
#include<iostream>
using namespace std;
int main(){
  int n=0,a,b;
  for(int i=100;i<=999;i++){
  a=i/100; \\这里的i为什么要除100而不是其他的数, 下面的i也是一样的
  b=i%10;
  if(a==b){
  n++; \\这里的n为什么要++啊?
  cout.width(5);
  cout<<i;
  if(n%5==0) cout<<endl; \\帮忙解释一下这里是什么意思啊?
   
  return 0;
}
   

本人 刚学C++有许多问题不懂 , 谢谢大家帮忙解决问题

[解决办法]

C/C++ code
#include<iostream>using namespace std;int main(){    int n=0,a,b;    for(int i=100;i<=999;i++)    {        a=i/100; //看楼主的程序是要求百数与个数相等的三位数,这个a是计算出百位是多少            b=i%10;        if(a==b)        {            n++; //这里的n是计算出总共有多少个百倍与个位相等的数。                cout.width(5);            cout<<i;            if(n%5==0) cout<<endl; //每五个数换行        }                    }        return 0;    }
[解决办法]
这是个低效的3位回文算法。
C/C++ code
#include<iostream>using namespace std;int main(){    int n=0,a,b;    for(int i=100;i<=999;i++)    {        a=i/100;    //  a=i的百位值        b=i%10;     //  b=i的个位值        if(a==b)    //  当一个三位数的百位与个位相同,我们就认为这个三位数是个回文数        {            n++;    //  n用来计数,以便控制每行显示的回文数量            cout.width(5);            cout<<i;            if(n%5==0) cout<<endl;  //  每输出5个回文就换行        }    }    return 0;}
[解决办法]
恢复下,看看有没有分
[解决办法]
这是达到同样效果的另一种写法,效率高很多:
C/C++ code
#include<iostream>using namespace std;int main(){    for (int i=1;i<10;++i)        for (int j=0;j<100;j+=10)        {            cout.width(5);            cout<<i*100+j+i;            if ((j+10)%50==0)                cout<<endl;        }    return 0;}
[解决办法]
直接输出字符的方法:
C/C++ code
#include<iostream>using namespace std;int main(){    for (char i='1';i<='9';++i)        for (char j='0';j<='9';++j)        {            cout<<i<<j<<i<<' ';            if ((j-'0'+1)%5==0)                cout<<endl;        }    return 0;}
[解决办法]
怎么看有点象倒分的嫌疑。。。。

热点排行