#include <stdio.h>
#include <math.h>
int main() {
int x, y, t , m, n;
for (x = 0; x >= 0 && x <= 9; x++)
{
m = x;
m = x * 10 + x;
n = m;
// printf("m = %d\n", m);
for (y = 0; y >= 0 && y <= 9; y++)
{
m = n;
m = m * 10 + y;
m = m * 10 + y;
t = 0;
// printf("m = %d\n", m);
while (t >= 0 && t <= 99)
{
if (pow(t, 2) == m && x!= y)
printf("%d\n", m);
t++;
}
}
}
// printf("Hello, World!\n");
return 0;
}
该程序要实现的功能是寻找特定的四位数,前两位数相同,后两位数相同,而且前两个数位上的数字不等于后两个数位上的数字。
我初次编写该程序时,循环使用的变量每次重复使用时没有进行变量初始化,导致程序错误。关于变量初始化的总结有2个:(1)程序开头时变量有时需要初始化,有时又不需要,为避免错误,可在开头就进行变量初始化;(2)循环里面重复使用的变量,每一轮重复开始使用时是否需要重新初始化需要注意。这个程序的第8行(m = x),第10行(n = m),第14行(m = n),都是在对重复使用的变量进行初始化。
我刚开始进行C的编程,把自己的程序和样例程序进行对比,发现实现相同功能时,别人的思路非常简洁。我很羡慕,我现在不具备这项能力,能做的就是多看别人的程序,多对比。
谋事在人,成事在天,需要努力,不必强求!