sytn.net
当前位置:首页 >> 输入一个不多于五位数 >>

输入一个不多于五位数

3 - void hehe() { static int haha = 5; char a; scanf("%c", &a); if (haha > 0 && (a <= '9'&&a >= '0')) { haha--; hehe(); printf("%c", a); } } int main() { hehe(); }

C的语法有点忘了,不过我可以说下思路,求位数很简单,只要整除一个数,比如整除2,大于等于5的是二位数,大于等于50的是三位数,大于等于500的是四位数.求逆序比较复杂,如果光要输出,不要数,那就只要求各个位的数就可以了,我这里只说三位数求百位数的办法:就是让此数整除100

#include int main() { int a,i,j,b[5]={-1}; i=0; printf("请输入一个不多于五位的正整数:"); scanf("%d",&a); while(1) { if(!a) break; b[i]=a%10; a=a/10; i++; } printf("%d\n",i); for(j=0;j for(j=0;j getch(); return 0; } 成调试不误,可能在不同的平台中要稍加修改~~

那我就给你写一个不递归的. #include<stdio.h> #include<math.h> main() {int n,i; long a,b; n=0; printf("Please enter a number<99999 "); scanf("%d",&a); if(a>99999||a<0) printf("Please enter a number<99999 and >0 "); else {b=a; while(b%10>0) { n++; b/=10; } for(i=n-1;i>=0;i--) {b+=(a%10)*pow10(i); a/=10;} printf("%d,%ld\n",n,b); } }

int 数字 = 58369;/*质(素)数、歌德巴赫、梅森质数、完美数等均需取数之各位处理.*/ int[] 位数组 = new int[数字.ToString().Length];/*获取任意数各位.*/ foreach (int 序

从高位到低位分解输出正整数,参考代码如下:#include<stdio.h>int main(){long n;int a[5],m=0,i;scanf("%ld",&n);if(n<=0||n>99999)return 0;while(n!=0){a[m++]=n%10;n/=10;}for(i=0;i<m;++i)printf("%d ",a[m-1-i]);return 0;}

用我这个吧,可以对错误进行处理.#include<stdio.h>int main(void){ int x,i=0; do{ printf("请输入数字:"); scanf("%d",&x); if(x>99999||x<0) printf("输入的数据不合法.请重新输入!\n"); }while(x>99999||x<0); while(x!=0) { printf("%d\t",x%10); x=x/10; i++; } printf("\n这个数共有%d位\n",i); return 0;}

#include //解决这个问题只用这一个头文件就够了//#include void main(){ int d ;long a[5]={0,0,0,0,0} ;/*保存各位的数*/\x05int n ; /*用来保存不多于5位的正整数*/\x05int z; /* 记录该数共有几位*/F:\x05printf

# include void main(){ int i,n;int a[5];printf("input the number:");scanf("%d",&n);a[0]=n/10000;a[1]=n%10000/1000;a[2]=n%10000%1000/100;a[3]=n%10000%1000%100/10;a[4]=n%10000%1000%100%10;printf("the original num:\n");for(i=0;i=0;i--)printf("%d ",a[i]);printf("\n");}

网站首页 | 网站地图
All rights reserved Powered by www.sytn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com