#include<stdio.h>
int main()
{
int selec(int ),m; //函数声明,通过这个函数就可以把满足题目要求的数输出来
int i;
printf("满足条件的整数有:\n");
for(i = 100 ; i < 1000 ; i ++)
{
m = selec(i); //把函数返回的值赋给 m
if(m != 0) // 当m = 0 时,不输出
printf("%d ",m);
}
printf("\n");
return 0;
}
int selec(int x) //函数定义
{
int i = 2,a[3],temp = x,m; //用一个数组a[3]来存放整数的百位,十位和个位,算法在while循环中
while(temp) //while 循环用来拆开百位,十位和各位,并赋值给数组,a[0]放百位,a[1]放十位,a[2]放个位
{
a[i --] = temp % 10;
temp = temp / 10;
}
if(a[0] == (2*a[1] + 1)) //三个if语句就是你题目的要求
if(a[2] == (3*a[1] - 1))
if((a[2] * 100 + a[1] * 10 + a[0] - x) == 99)
return x;
return 0; //函数结束,返回一个0。也就是当计算的整数不符合条件时,就会返回一个0,否则返回满足条件的数。
}
//写的有些急,可能运行效率不高,但还是可以算出结果的
温馨提示:答案为网友推荐,仅供参考