标签:
程序 2-1 输出1,2,3,4,5,……,n的值
#include<stdio.h>
int main()
{
int n;
scanf("%d", &n);
int i = 1;
for (; i <= n; i++)
printf("%d\n", i);
return 0;
}
for的格式为 for(初始化,条件,调整)循环体。
例题 2-1 aabb
输出所有形如aabb的4位完全平方数。
思路一:先找出所有aabb形式的数,在判断是否为完全平方数。这里判断完全平方数方法是先开方,在平方看前后是否相同。。但要注意开方涉及浮点数运算。
程序 2-2 aabb(1)
#include<stdio.h> #include<math.h> int main() { int a, b; for (a = 1; a <= 9; a++) for (b = 0; b <= 9; b++) { int n = a * 1100 + b * 11; int m = floor(sqrt(n) + 0.5); //floor函数 -----向下取整 m = m * m; if (n == m) { printf("%d \n", n); } } return 0; }
floor(double x)函数作用是返回一个不超过x的最大整数,又因为浮点计算的特殊性。经过大量运算整数1可能变为0.9999999,这样floor返回的是0而非1,所以要 +0.5 ,起到排除误差的作用。
思路二:先找出所有完全平方数x,再判断x是否是aabb形式。
程序 2-2 aabb(1)
#include<stdio.h> int main() { int i = 0; //这里循环条件为 1,就是代表死循环。退出循环由后面的break控制。 for (i; 1 ; i++) { int x = i * i; //控制x是四位数 if ( x < 1000) continue; if (x > 10000) break; //外层先判断是否为aa形式 if (x / 100 % 10 == x /1000) //内层判断是否为bb形式 if (x % 10 == x % 100 / 10) printf("%d", x); } return 0; }
标签:
原文地址:http://www.cnblogs.com/Traim304/p/4617141.html