乘法口诀表的三角形式
输出乘法口诀表的上三角,想不出来,求大家给个例子?
1 2 3...
4 6...
9...
前面带空格的输出?
问题点数:100、回复次数:7Top
1 楼du51(郁郁思扬)回复于 2006-03-01 22:36:52 得分 100
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int i,j;
for(i=1;i<10;i++)
{
for(j=i-1;j>0;j--)cout<<setw(3)<<" ";
for(j=i;j<10;j++)cout<<setw(3)<<i*j;
cout<<endl;
}
system("PAUSE");
return 0;
}Top
2 楼cnheying(鹤影)回复于 2006-03-01 22:43:51 得分 0
int main(void)
{
for(int i=1;i<10;i++){
for(int j=0;j<i;j++){
cout<<'\t';
}
for( j=i;j<10;j++){
cout<<i*j<<'\t';
}
}
return 0;
}Top
3 楼sjjf(水晶剑锋)回复于 2006-03-01 22:45:55 得分 0
忘了乘法表是什么样子了。
如果要显示这种上三角的数据,有一种比较方便的做法
先一次性的申请一个二维空间作为缓冲,
需要输出的数据先送到缓冲,整理好格式后,然后再送出去。
Top
4 楼Seben(批着狼皮的羊)回复于 2006-03-01 22:51:33 得分 0
跟du51(郁郁思扬)的解法类似了。
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
const char * space = " ";
for (int i = 1; i < 10; i++)
{
for (int j = 1; j < i; j++)
{
cout.setf(ios::left);
cout.width(4);
cout << space;
}
for (; j < 10; j++)
{
cout.setf(ios::left);
cout.width(4);
cout << i * j;
}
cout << endl;
}
return 0;
}Top
5 楼xuzheng318(忧郁王子)回复于 2006-03-01 22:59:09 得分 0
方式一
#include <stdio.h>
void main()
{
int b,c;
for(b=1;b<=9;b++)
{
printf("\n");
for(c=1;c<=b;c++)
{
printf("%d*%d=%-3d",c,b,b*c);//注意bc的顺序
}
}
printf("\n");
}
方法二:
#include <stdio.h>
void main()
{
int b,c;
for(b=1;b<=9;b++)
{
for(c=1;c<=b;c++)
{
printf("%d*%d=%-3d",c,b,b*c);//注意bc顺序
if(b==c)
{
printf("\n");
}
}
}
}
Top
6 楼lei001(太极)回复于 2006-03-02 00:14:21 得分 0
根据du51(郁郁思扬)写的代码,稍加点东西:
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int i,j,n;
cout<<"please input number"<<endl;
cin>>n;
for(i=1;i<n;i++)
{
for(j=i-1;j>0;j--)cout<<setw(3)<<" ";
for(j=i;j<n;j++)cout<<setw(3)<<i*j;
cout<<endl;
}
system("PAUSE");
return 0;
}
Top
7 楼dot99(又来混CSDN来了)回复于 2006-03-02 11:33:49 得分 0
lei001(函数) : --;;Top




