练习1
源代码:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int num,ge,shi,bai;
printf("Please input a number:");
scanf("%d",&num);
if(num<100 && num>999)
printf("%d is not a shuixianhua.\n",num);
else{
ge=num%10;
shi=num/10%10;
bai=num/100;
if(num==ge*ge*ge+shi*shi*shi+bai*bai*bai)
printf("%d is a shuixianhua.\n",num);
else
printf("%d is not a shuixianhua.\n",num);
}
return 0;
}
运行结果:
Please input a number:153
153 is a shuixianhua.
Please input a number:123
123 is not a shuixianhua.
练习2
练习3
如果该数大于或等于零且取反后仍大于或等于零,则该数即为unsigned格式
练习4
++是单目运算符,+是双目运算符,由于C语言中单目运算符比双目运算符优先级更高,则c=(a++)+b,又a++为后置自增,先参加运算再自增,则c=a+b=5+7=12,a=a+1=6,b=7
练习5
第一步:先运算后自增c++%5=9%5=4,第二步自增:c=c+1=9+1=10,第三步赋值:c=4
练习6
#define SECOND 365 * 24 * 60 * 60
练习7
源代码:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int num;
printf("Please input a number:");
scanf("%d",&num);
if(num%3==0){
printf("3 ");
if(num%5==0){
printf("5 ");
if(num%7==0)
printf("7");
}
else if(num%7==0)
printf("7");
}
else if(num%5==0){
printf("5 ");
if(num%7==0)
printf("7");
}
else if(num%7==0)
printf("7");
else
printf("n");
putchar(10);
return 0;
}
运行结果:
Please input a number:105
3 5 7
Please input a number:123
3
Please input a number:21
3 7
Please input a number:11
n
练习8
b=10,c=12,d=120