一个老问题讨论
要求输入任意不大于5位数的正整数,输出这个数由是几位数组成,输出这个数并按反顺序输出.如123:输出由于三位数组成,123输出为321.自己研究的程序已实现第一和第步,但要求反顺序输出这个还不知道如何实现(在不用数组的情况下)请各位大师帮小弟给个实现的方法,不需要源代码,只要方法.谢谢!.
#include "stdio.h"
void main()
{
int a,b=5,i,c=10000;
printf("请输入任意不大于五位数的一个正整数:");
scanf("%d",&a);
for(i=0;i<4;i++)
{
if(a/c>=1)
break;
else
b--;
c=c/10;
}
printf("输入的为:%d位数\n",b);
printf("这%d位数为:%d",b,a);
}
----------------解决方案--------------------------------------------------------
楼主,看不懂你说什么....你自己检查一下..
----------------解决方案--------------------------------------------------------
题目是:
输入任意一个不大于5位数的一个整数:要求输出:
1:要求判断输入的数由几位数组成;
2:按原样输出这个数
3:按逆顺序输出这个数:(如123输出为321)
----------------解决方案--------------------------------------------------------
#include<stdio.h>
int main(void)
{
int a, b, t;
while(scanf("%d", &a) == 1)
{
b = 0;
t = a;
do
{
b *= 10;
b += t % 10;
t /= 10;
}while(t);
printf("反:%d\n", b);
}
puts("Done.");
return 0;
}
----------------解决方案--------------------------------------------------------
用%来做怎么样?我贡献一条思路...
----------------解决方案--------------------------------------------------------
楼上的大哥谢谢了,不过小弟不要源代码,我只要一个实现这个功能的方法.谢谢!
方法>答案.这样小弟再遇上这样问题就自己可以解决了.
----------------解决方案--------------------------------------------------------
3楼的好象运行不出来哦
----------------解决方案--------------------------------------------------------
用求模来做,把5位数的值分别搞出来就行了,其它的都好做.
----------------解决方案--------------------------------------------------------
昨天看到一个程序是把秒换成小时/分/秒的.跟你这个用的像...你看看,个人意见哦.仅供参考.
/* illustrares the modulus operator. */
/* inputs a number of seconds and converts to hours 8*/
/*minutes, and seconds. */
#include<stdio.h>
/* Define constants */
#define SECS_PER_MIN 60
#define SECS_PER_HOUR 3600
unsigned seconds,minutes,hours,secs_left,mins_left;
int main(void)
{
/* input the number of seconds */
printf("Enter number of seconds (<65000):");
sscanf("%d",&seconds);
hours=seconds/SECS_PER_HOUR;
minutes=seconds/SECS_PER_MIN;
mins_left=minutes%SECS_PER_MIN;
secs_left=seconds%SECS_PER_MIN;
printf("%u seconds is equal to",seconds);
printf("%u h,%u m,and %u s\n",hours,mins_left,secs_left);
getch();
return 0;
}
----------------解决方案--------------------------------------------------------
小弟的程序如下,求模还没有学到所以暂时做不出来.上面的程序也没有提到求模方法,小弟参悟不出来.只能做出前两步:请大哥看看下面这个程序还可以简化看起来专业点不?
#include "stdio.h"
void main()
{
int a,b=5,i,c=10000,j,k;
printf("please enter:");
scanf("%d",&a);
for(i=0;i<4;i++)
{
if(a/c>=1)
break;
else
b--;
c=c/10;
}
printf("输入的为:%d位数\n",b);
printf("这%d位数为:%d",b,a);
}
----------------解决方案--------------------------------------------------------