
#define RADIX 10 //默认10进制
int main()
{
int num = 0
int temp = 0
int i = 0
int preBit = 0
int sum = 0
int count = 0
printf("请输入一个整数N: ")
scanf("%d", &num)
for(i=1i<=numi++)
{
temp = i
while(1)
{
sum = 0
while(temp)
{
preBit = temp % RADIX
temp /= RADIX
sum += preBit * preBit
}
if(sum == 1)
{
printf("%d ", i)
break
}
if(sum == 4)
{
count++
if(count>=3)
{
break
count = 0
}
}
temp = sum
}
}
printf("\n")
return 0
}
/*看看吧*/
、 第一种形式为基本形式:if其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。
2、第二种形式为: if-else
if(表达式) 语句1else 语句2
其语义是:如果表达式的值为真,则执行语句1,否则执行语句2 。
3、第三种形式为if-else-if形式
前二种形式的if语句一般都用于两个分支的情况。当有多个分支选择时,可采用if-else-if语句,
一般形式为: if(表达式1) 语句1 else if(表达式2) 语句2 else if(表达式3) 语句3…
else if(表达式m) 语句melse 语句n
其语义是:依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。然后跳到整个if
句之外继续执行程序。 如果所有的表达式均为假,则执行语句n。然后继续执行后续程序。
扩展资料
在使用if语句中还应注意以下问题:
在三种形式的if语句中,在if关键字之后均为表达式。
该表达式通常是逻辑表达式或关系表达式,但也可以是其它表达式,如赋值表达式等,甚至也可以是一个变量。例如: if(a=5) 语句if(b) 语句
都是允许的。只要表达式的值为非0,即为“真”。如在: if(a=5)…中表达式的值永远为非0,所以其后的语句总是要执行的,当然这种情况在程序中不一定会出现,但在语法上是合法的。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)