今天突然想起用在C++下实现单循环输出乘法表,占用了不少的时间去研究算法,以下就是我的代码,在标准C++下运行成功!希望能抛砖引玉,能有更多的好的算法
#include <iostream>
using namespace std;
/*
Name: 乘法表
Copyright: 1.0.1
Author: 郭宗敬
Date: 15-07-08 18:03
Description: 单循环输出乘法表
*/
int main()
{ cout<<"单循环输出乘法表:"<<endl;
for (int i=1,j=1;i<=9;(i>j)?j++:(i++,j=1))//控制循环,算法重点
{cout<<i<<"*"<<j<<"="<<i*j<<" ";
if(i==j)
cout<<endl;
}
cout<<endl;
cin.get();
return 0;
}
********************************************************
(i>j)?j++:(i++,j=1) / /i代表行j代表列
如果行数大于列数,即该行还未打印完毕,列数增加,行数不变
如果行数大于或者等于列数,即表示该行打完,换行,并且行数+1,列数重置为1
结果截图