C语言 判断给定自然数n是否为降序数
4个回答
2016-01-05 · 知道合伙人教育行家
关注
展开全部
思路:通过除10求余可以得到一个数的倒序,如果倒序是升序则自然数n就是降序。
参考代码:
#include<stdio.h>
int fun(int n){
int t=-1,p;
while(n){
p=n%10;
if(t>p) return 0;
t=p;
n/=10;
}
return 1;
}
int main()
{
int n;
scanf("%d",&n);
if(fun(n))
printf("%d为降序!\n",n);
else
printf("%d为升序!\n",n);
return 0;
}
/*
运行结果:
54321
54321为降序!
*/
展开全部
#include<stdio.h>
void main()
{
int i,flag=1;
char number[20];
for(;;)
{
printf("请输入任意一个2位及2位以上的整数:\n");
gets(number);/*该整数是以字符型存放的,即字符的ascII码*/
if(number[1]=='\0')
{
printf("输入错误,请重新输入:\n");
flag=2;
}
else
for(i=0;(number[i+1])!='\0';i++)
{
if(number[i]<number[i+1])
{
flag=0;
break;
}
}
if(flag==0) printf("%s 不是降序数\n",number);
if(flag==1)printf("%s 是降序数\n",number);
flag=1;
}
}
void main()
{
int i,flag=1;
char number[20];
for(;;)
{
printf("请输入任意一个2位及2位以上的整数:\n");
gets(number);/*该整数是以字符型存放的,即字符的ascII码*/
if(number[1]=='\0')
{
printf("输入错误,请重新输入:\n");
flag=2;
}
else
for(i=0;(number[i+1])!='\0';i++)
{
if(number[i]<number[i+1])
{
flag=0;
break;
}
}
if(flag==0) printf("%s 不是降序数\n",number);
if(flag==1)printf("%s 是降序数\n",number);
flag=1;
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
void main()
{
int i,flag;
char num[20]; /*该整数是以字符型存放的*/
printf("input a number:\n");
gets(num);
for(i=0;num[i]!='\0';)
i++;
if((i-1)<2)
printf("num是一位数,无法判断\n");
else
{for(i=0;num[i]!='\0';i++)
if(num[i]<num[i+1])
flag=0;
if(flag==0) printf("%s 不是降序数\n",num);
else printf("%s 是降序数\n",num);
}
}
void main()
{
int i,flag;
char num[20]; /*该整数是以字符型存放的*/
printf("input a number:\n");
gets(num);
for(i=0;num[i]!='\0';)
i++;
if((i-1)<2)
printf("num是一位数,无法判断\n");
else
{for(i=0;num[i]!='\0';i++)
if(num[i]<num[i+1])
flag=0;
if(flag==0) printf("%s 不是降序数\n",num);
else printf("%s 是降序数\n",num);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2009-11-04
展开全部
//---------------------------------------------------------------------------
#include <stdio.h>
int main(int argc,char *argv[])
{
int i,z,a,b;
scanf("%d",&i);
z=i;
while (i)
{
a=i%10;
i/=10;
b=i?i%10:a;
i/=10;
if (a>b)break;
}
if (a<=b) printf("%d是降序数\n",z);
else printf("%d不是降序数\n",z);
return 0;
}
//---------------------------------------------------------------------------
#include <stdio.h>
int main(int argc,char *argv[])
{
int i,z,a,b;
scanf("%d",&i);
z=i;
while (i)
{
a=i%10;
i/=10;
b=i?i%10:a;
i/=10;
if (a>b)break;
}
if (a<=b) printf("%d是降序数\n",z);
else printf("%d不是降序数\n",z);
return 0;
}
//---------------------------------------------------------------------------
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询