早教吧 育儿知识 作业答案 考试题库 百科 知识分享

1、输入一个正整数,如果是偶数,输出其值的一半;如果是奇数且在ASCII表对应的英文字母范围内,输出其对应的ASCII字符,否则输出值的2倍.2、输入一个四位的正整数,如果其值小于3000则将该数

题目详情
1、输入一个正整数,如果是偶数,输出其值的一半;如果是奇数且在ASCII表对应的英文字母范围内,输出其对应的ASCII字符,否则输出值的2倍.
2、输入一个四位的正整数,如果其值小于3000则将该数逆序输出(例:1234输出为4321);如果其值在3000—5999,则将其相邻位交换输出(例:3456输出为4365);如果其值在6000—7999,则将其1、3位,2、4位交换输出(例:6789输出为8967);如果其值大于8000,则将首位后移输出(例:8123输出为1238).
▼优质解答
答案和解析
1.
void main(){
int getnum;
printf("Please input a positive integer!\n");
scanf("%d",&getnum);
if(getnum < 0)
{
printf("the error num!\n");
return;
}
if((getnum % 2) == 0)
{
printf("the num is %d\n",getnum/2);
}
else if((getnum % 2) == 1)
{
if((getnum > 0)&&(getnum 9999))
{
printf("input the error num!\n");
return;
}
if(getnum < 3000)
printnum = changeNumb(0,&getnum);
else if((getnum >= 3000)&&(getnum < 6000))
printnum = changeNumb(1,&getnum);
else if((getnum >= 6000)&&(getnum < 8000))
printnum = changeNumb(2,&getnum);
else
printnum = changeNumb(3,&getnum);
printf("the new num %d\n",printnum);
}