复制代码
1 /*
2 矩形的个数
3 在一个3*2的矩形中,可以找到6个1*1的矩形,4个2*1的矩形3个1*2的矩形,
4 2个2*2的矩形,2个3*1的矩形和1个3*2的矩形,总共18个矩形。
5 给出A,B,计算可以从中找到多少个矩形。
6
7 输入:
8 本题有多组输入数据(<10000),你必须处理到EOF为止
9 输入2个整数A,B(1<=A,B<=1000)
10
11 输出:
12 输出找到的矩形数。
13
14 样例:
15
16 输入:
17 1 2
18 3 2
19
20 输出:
21 3
22 18
23
24 作者:薛非
25 出处:http://www.cnblogs.com/pmer/ “
C语言初学者代码中的常见错误与瑕疵”系列博文
26
27 */
28
29 #include
30
31 int count( int , int );
32
33 int main( void )
34 {
35 int A , B ;
36
37 while ( printf( "输入2个整数A,B(1<=A,B<=1000)" ),
38 scanf( "%d%d" , &A , &B )!= EOF
39 )
40 {
41 printf( "%d\n" , count( A , B ) );
42 }
43
44 return 0;
45 }
46
47 int count( int A , int B )
48 {
49 int x1 , y1 ;//第一个点的坐标
50 int x2 , y2 ;//第二个点的坐标
51 int num = 0 ;
52
53 for ( x1 = 0 ; x1 <= B ; x1 ++ )
54 for ( y1 = 0 ; y1 <= A ; y1 ++ )//穷举第一个点的各种可能
55 for ( x2 = 0 ; x2 <= B ; x2 ++ )
56 for ( y2 = 0 ; y2 <= A ; y2 ++ )//穷举第二个点的各种可能
57 {
58 if ( x1 < x2 && y1 < y2 )
59 num ++ ;
60 }
61
62 return num ;
63 }