从键盘输入5个各不相同且位数不等的正整数; 调用函数fun( )判断这些数是否是升序数

【程序功能】判断一个数是否是升序数。(升序数是指该数的高位数字不大于低位数字,如24,369, 888都是升序数,只有一位的数也是升序数)。

【编程要求】(1). 定义一个函数int fun(int x),功能是判断x是否是升序数,若是则返回1,否则返回0。
(2). 函数功能:从键盘输入5个各不相同且位数不等的正整数; 调用函数fun( )判断这些数是否是升序数,输出判断结果信息
主要是那5个数的位数!!位数可以很大,应该怎么写循环然后判断呢?(刚学到函数...)

在一开始应该学过一个取整数各个位上的数的程序

x % 10 取个位

x /= 10 缩小10倍

这样,就可以从个位开始检查,看是不是后面的数依次是递减的就可以达到效果了。

#include<stdio.h>

int main()

{

char str[51];

int i=0,j;

gets(str);

for(;str[i]!du='\0';i++)

for(j=0;j<=i;j++)

if(str[j]!=str[i-j]) break;

if(j>=i) printf("yes");

else printf("no");

return 0;

}

扩展资料

C语言的运算符主要用于构成表达式,同一个符号在不同的表达式中,其作用并不一致。下面按计算的优先顺序,分别说明不同作用的表达式。需要特别指出,在C语言标准中,并没有结合性的说法。

相同优先级运算符,从左至右依次运算。注意后缀运算优先级高于前缀。因此++i++应解释为++(i++)。

而与或非的运算优先级都不一样,因此a && b || b && c解释为(a && b) || (b && c)

合理使用优先级可以极大简化表达式。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-12-28

在一开始应该学过一个取整数各个位上的数的程序

x % 10 取个位

x /= 10 缩小10倍

这样,就可以从个位开始检查,看是不是后面的数依次是递减的就可以达到效果了。

#include<stdio.h>

int main()

{

char str[51];

int i=0,j;

gets(str);

for(;str[i]!du='\0';i++)

for(j=0;j<=i;j++)

if(str[j]!=str[i-j]) break;

if(j>=i) printf("yes");

else printf("no");

return 0;

}

扩展资料:

正整数,为大于0的整数,也是正数与整数的交集。正整数又可分为质数,1和合数。正整数可带正号(+),也可以不带。如:+1、+6、3、5,这些都是正整数。 0既不是正整数,也不是负整数(0是整数)。

正整数的唯一分解定理:又称为算术基本定理。

即:每个大于1的自然数均可写为若干个质数的幂的积,而且这些素因子按大小排列之后,写法是唯一的。

离散不等式

若X,N∈N*,则X>N等价于X≥N+1。

参考资料来源:百度百科-正整数

本回答被网友采纳
第2个回答  推荐于2016-04-17
给你提示:
你在一开始应该学过一个取整数各个位上的数的程序
x % 10 取个位
x /= 10 缩小10倍
这样,你就可以从个位开始检查,看是不是后面的数依次是递减的就可以达到效果了。本回答被提问者和网友采纳
相似回答
大家正在搜