我是新手,不知道这个程序该怎么写!大家帮帮忙啊!谢谢啦!
题目是 : 给一个不多于5位数的正整数,要求:(1)求出他是几位数(2)分别打印出每一位数字(3)按逆序打印出各位数字,例如原数为321,则应输出为123
----------------解决方案--------------------------------------------------------
谁帮帮我啊!
----------------解决方案--------------------------------------------------------
#include "math.h" main() { int num,i,aa[4]; int cnt=0,fanxushu=0,x; printf("请输入一个整数,num="); scanf("%d",&num); while(num) /* 求每一个位数 */ { aa[cnt++]=num%10; num=num/10; } for(i=0;i<cnt;i++) { x=pow(10,cnt-i-1); fanxushu+=x*aa[i]; } printf("\n这是一个%d位数\n",cnt); printf("依次打印每一位数字为:"); for(i=cnt-1;i>=0;i--) printf("%4d",aa[i]); printf("\n反向打印每一位数字为:"); for(i=0;i<cnt;i++) printf("%4d",aa[i]); printf("\n这个数的反序数为:%d",fanxushu); getch();
}
----------------解决方案--------------------------------------------------------
#include "math.h" main() { int num,i,aa[4]; int cnt=0,fanxushu=0,x; printf("请输入一个整数,num="); scanf("%d",&num); while(num) /* 求每一个位数 */ { aa[cnt++]=num%10; num=num/10; } for(i=0;i<cnt;i++) { x=pow(10,cnt-i-1); fanxushu+=x*aa[i]; } printf("\n这是一个%d位数\n",cnt); printf("依次打印每一位数字为:"); for(i=cnt-1;i>=0;i--) printf("%4d",aa[i]); printf("\n反向打印每一位数字为:"); for(i=0;i<cnt;i++) printf("%4d",aa[i]); printf("\n这个数的反序数为:%d",fanxushu); getch();
}
有点小问题,题目说是不多于5位的整数,那就是可能是5位的。int num;num<=32767,所以要改成long num;scanf("%ld",&num); aa[4]也要改成aa[5]
----------------解决方案--------------------------------------------------------
啊!!!
对
这个我倒还真的没有考虑到啊 !
----------------解决方案--------------------------------------------------------
真的谢谢啊!~~!怎么有错误啊`!!!int cnt=0,fanxushu=0,x;
[此贴子已经被作者于2004-10-12 15:49:56编辑过]
----------------解决方案--------------------------------------------------------
不是说了改为long型吗??
当然也要改拉!!!
----------------解决方案--------------------------------------------------------
改好的了!!!晕~~~~~~~~~连这个也要我改!!
#include "math.h" main() { long num,i,aa[5]; int cnt=0,x; long fanxushu=0; printf("请输入一个整数,num="); scanf("%ld",&num); while(num) /* 求每一个位数 */ { aa[cnt++]=num%10; num=num/10; } for(i=0;i<cnt;i++) { x=pow(10,cnt-i-1); fanxushu+=x*aa[i]; } printf("\n这是一个%d位数\n",cnt); printf("依次打印每一位数字为:"); for(i=cnt-1;i>=0;i--) printf("%4ld",aa[i]); printf("\n反向打印每一位数字为:"); for(i=0;i<cnt;i++) printf("%4ld",aa[i]); printf("\n这个数的反序数为:%ld",fanxushu); getch();
}
----------------解决方案--------------------------------------------------------
太感谢了啊! 我改了的 ,没改对 呵呵 真不好意思啊1
----------------解决方案--------------------------------------------------------
啊! 甘懒的人点得的啊! 连一小点都不自己改啊呀 人地都已经话左改哪啦甘都不会改! 晕!
----------------解决方案--------------------------------------------------------