#include <stdio.h>
#include <stdlib.h>
int odd(int num); //对num第二位进行判断奇偶性,是奇数则返回1偶数返回0
int invert_num(int num); //用于对偶数进行数字转换
int main()
{
int num;
int i;
do
{
printf("请输入介于1000~9999之间的四位数:");
scanf("%d",&num);
}while((num < 1000)||(num > 9999));
if( odd(num))
{
printf("该数字的第二位是奇数,该数字是:%d\n",num);
}
else
{
printf("该数字的第二位是偶数,转换后为:%d\n",invert_num(num));
}
system("pause");
return 0;
}
int odd(int num)
{
int num_two = 0;
num_two = ( num / 10 ) % 10; //取得第二位的数字
if( (num_two % 2) == 0 )
{
return 0; //表明是偶数
}
else
return 1;
}
int invert_num(int num)
{
int a;
a = (num % 10) * 1000 + (num / 10) % 10 * 100 + (num /100) % 10 *10 + (num /1000) % 10 * 1;
return a;
}
本题主要涉及的知识点包括:输入输出语句,数组的定义及各元素遍历;条件判断语句的使用;求模运算符。
参考程序如下: