1.输入一个三位数,求出他的个位、十位、百位的数字并输出(123)。
// 法一:while
void outputnum()
{
int num = 0;
int mod = 0;// 余数
int consult = 0;// 商
printf("请输入一个三位数:");
scanf("%d",&num);
while(num>0)
{
mod = num % 10;
num = num / 10;
printf("%d ",mod);
}
}
// 法二:算法(新思路)
void outputnum1()
{
int num = 0;
int digit = 0;//个位
int decade = 0;//十位
int hundreds = 0;//百位
printf("请输入一个三位数:");
scanf("%d",&num);
digit= num / 1 % 10;
decade= num / 10 % 10;
hundreds= num / 100 % 10;
printf("三位数为:%d, 它的个位是:%d,十位是:%d,百位是:%dn",num,digit,decade,hundreds);
}
2.输入一个三位数,判断该数是不是水仙花数。
void narcissistic()
{
int num = 0;
int mod = 0;// 余数
int consult = 0;// 商
int judge = 0; // 判断
int judge1 = 0;
printf("请输入一个三位数:");
scanf("%d",&num);
judge1 = num;
while(num>0)
{
mod = num % 10;
num = num / 10;
judge = judge+mod*mod*mod;
}
if(judge==judge1)
{
printf("%d是水仙花数。",judge1);
}
else
{
printf("%d不是水仙花数。",judge1);
}
}
3.实现两个数的交换。
void swapNum()
{
int a = 0,b = 0;
int temp = 0;//容器
printf("请输入两个数:");
scanf("%d %d",&a, &b);
temp = a;
a = b;
b = temp;
printf("交换后的a=%d,b=%dn",a,b);
}
4.输入两个数,如果都是偶数,两数相加。否则相减。
void evenAdd()
{
int a = 0,b = 0;
int result = 0;// 结果
printf("请输入两个数:");
scanf("%d %d",&a, &b);
if(a % 2 == 0 && b % 2 == 0)
{
printf("%d,%d都是偶数,相加结果为:%dn",a,b,a+b);
}
else
{
printf("%d,%d不都是偶数,相减结果为:%dn",a,b,a-b);
}
}
主函数
int main(void)
{
outputnum();// 1.分别输出数字的每位
narcissistic();// 2.判断水仙花数
swapNum(); // 3.交换两数
evenAdd(); //4.偶数相加,其余相减
return 0;
}