11155: 第七章:两重for循环《例题》
Memory Limit:128 MB
Time Limit:1.000 S
Judge Style:Text Compare
Creator:
Submit:1
Solved:0
Description
题目要求:输入n
求s的值。
s=(1)+(1+2)+(1+2+3)……+(1+2+……+n)
课前学习:
【两重for循环】打印
1 * 1 , 1 * 2 , 1 * 3 , 1 * 4 , 1 * 5 , 1 * 6 , 1 * 7 , 1 * 8 , 1 * 9 ,
2 * 2 , 2 * 3 , 2 * 4 , 2 * 5 , 2 * 6 , 2 * 7 , 2 * 8 , 2 * 9 ,
3 * 3 , 3 * 4 , 3 * 5 , 3 * 6 , 3 * 7 , 3 * 8 , 3 * 9 ,
4 * 4 , 4 * 5 , 4 * 6 , 4 * 7 , 4 * 8 , 4 * 9 ,
5 * 5 , 5 * 6 , 5 * 7 , 5 * 8 , 5 * 9 ,
6 * 6 , 6 * 7 , 6 * 8 , 6 * 9 ,
7 * 7 , 7 * 8 , 7 * 9 ,
8 * 8 , 8 * 9 ,
9 * 9 ,
#include<cstdio>
#include<iostream>
using namespace std;
int main()
{
int n,i,j;
for(i=1;i<=9;i++) //i从1循环到9
{
for(j=i;j<=9;j++)//j从i循环到9,注意j是从i开始的
{
printf("%d * %d = %2d, ",i,j,i*j);
}
printf("\n");
}
return 0;
}
有没有发现两重for执行的规律?
试试这个:
#include<cstdio>
#include<iostream>
using namespace std;
int main()
{
int n,i,j;
for(i=1;i<=9;i++) //i从1循环到9
{
for(j=9;j>=i;j--)//j从9循环到i,注意j是每次减一个的
{
printf("%d * %d , ",i,j);
}
printf("\n");
}
return 0;
}
以上程序又发现什么?
再试试这个:
for(i=9;i>=1;i--) //i从1循环到9
for(j=9;j>=i;j--)//j从9循环到i,注意j是每次减一个的
以上程序又发现什么?
Sample Input Copy
2
Sample Output Copy
4