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

递归判断波浪数,求详解波浪数”是一个正整数,它的奇数列数字相等,偶数列数字也相等,但奇数列数字不等于偶数列数字.如6,47,1212和939是波浪数,372,88,555不是波浪数.设计递归函数intisWaveNum(int

题目详情
递归判断波浪数,求详解
波浪数”是一个正整数,它的奇数列数字相等,偶数列数字也相等,但奇数列数字不等于偶数列数字.如6,47,1212和939是波浪数,372,88,555不是波浪数.设计递归函数int isWaveNum(int num),判断给定的正整数num是否是波浪数
▼优质解答
答案和解析
#include "stdio.h"
int jsw,osw; //从右向左,最后一位是奇数位,倒数第二位是偶数位,.
int n=0;
int isWaveNum(int num)
{
n=n+1;
if(num>=1) //没算完
{
if(n%2!=0) //奇数位
{
if(num%10==jsw)
return isWaveNum(num/10);
else
return 0;
}
else //偶数位
{
if(num%10==osw)
return isWaveNum(num/10);//向前一位判断
else
return 0;
}
}
else
return 1;
}
int main()
{
int num,i;
printf("输入一个正整数:");
scanf("%d",&num);
if(num