[求助]几道初级编程题,请各位前辈指点
1给一个不多于5位的正整数,要求:求它是几位数,逆序打印各位数字。2对实型变量(double型正数)值保留2位小数,并对第3位进行四舍五入。
例如8.32433 结果为8.32,8.32533结果为8.33
3输入八进制数,分别转换为10进制和2进制数输出
[此贴子已经被作者于2006-8-9 16:51:12编辑过]
----------------解决方案--------------------------------------------------------
求正整数位数的函数
#include <stdio.h>
#include <string.h>
int mathlen(unsigned long math)
{
char math_s[5]="\0\0\0\0\0";
if (math>99999) {return -1;}
sprintf(math_s,"%lu",math);
return strlen(math_s);
[此贴子已经被作者于2006-8-9 16:57:30编辑过]
----------------解决方案--------------------------------------------------------
谢谢,不过以我的水平有些地方还看不太懂,回去慢慢研究
----------------解决方案--------------------------------------------------------
2 题 3 题 哪位高人指点一下啊
----------------解决方案--------------------------------------------------------
我初学者,请各位前辈教教我啊
----------------解决方案--------------------------------------------------------
第二个,有个小算法。
double a=2.343534;
printf("%.2lf",((int)(a*100+.5)/100.0));
第三个用%o 输入,可以用itoa函数,也可以用switch开关语句对输入的每位分解为三个01代码,我就不写了,让你练习.
----------------解决方案--------------------------------------------------------
谢谢斑竹,我去想想.第三个如果输入的不是8进制数怎么办?有没有办法限制输入的数字只能是0到7?
----------------解决方案--------------------------------------------------------
那您就再加个函数检验,如果输入的数字有大于7的,重新输入。如果要这样,用输入字符串比较方便些.
----------------解决方案--------------------------------------------------------
斑竹好强第二个我也编了一个,弄了n行
----------------解决方案--------------------------------------------------------
先用字符串输入,再转成整形?
----------------解决方案--------------------------------------------------------