免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: lvjida
打印 上一主题 下一主题

大家帮帮忙. [复制链接]

论坛徽章:
0
11 [报告]
发表于 2007-04-17 16:24 |只看该作者
原帖由 Iamlangue 于 2007-4-17 14:39 发表
[code]#include <stdio.h>
#include <string.h>

#define MAX_LEN 5
#define THIS_NUM 1234

int
main()
{
    char n[MAX_LEN + 1] = {'\0'};
    int a = THIS_NUM;

    snprintf(n,  ...


我用Microsoft Visual C++编译后发生错误.:
Compiling...
point.cpp
D:\Program Files\Microsoft Visual Studio\my projects1\point.cpp(13) : error C2065: 'snprintf' : undeclared identifier
执行 cl.exe 时出错.

point.obj - 1 error(s), 0 warning(s)

不过不知道错在哪.

论坛徽章:
0
12 [报告]
发表于 2007-04-17 16:27 |只看该作者
原帖由 cobras 于 2007-4-17 14:51 发表
int main(void) {
    int n;
    int c;

    c = 0;
    for (n = 1234; n; n /= 10) {
          printf("%d: %d\n", c, n % 10);
          c++;
    }
    printf("total digits: % ...

用Visual C++编译运行后的结果:
0:4
1:3
2:2
3:1
total digits:4
好象跟题目的要求不一致..
谢谢.

论坛徽章:
0
13 [报告]
发表于 2007-04-17 19:47 |只看该作者
大家帮帮忙看下啊
谢谢!

论坛徽章:
0
14 [报告]
发表于 2007-04-17 21:13 |只看该作者
原帖由 lvjida 于 2007-4-17 12:50 发表
给一个不多于5位的正整数.要求:1.求出它是几位数;2.分别打印出每一位数字;3.按逆序输出各个数字.
  书上的一道习题,大家帮忙看看要怎么写,谢谢了.


一个很不具技巧性的思路

if (n > 9999 && n < 10000){
       /*print each number*/
}
else if (n > 999 && n < 1000){
       /*print each number*/
}
else if (n > 99 && n < 1000){
       /*print each number*/
}
else if (n > 9 && n < 100){
       /*print each number*/
}
else
       print n;

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
15 [报告]
发表于 2007-04-17 21:25 |只看该作者
原帖由 zwylinux 于 2007-4-17 21:13 发表


一个很不具技巧性的思路

if (n > 9999 && n < 10000){
       /*print each number*/
}
else if (n > 999 && n < 1000){
       /*print each number*/
}
else if (n & ...

这也是一种思路,把所有的可能性都列出来。

论坛徽章:
0
16 [报告]
发表于 2007-04-18 09:43 |只看该作者
我提供一个吧:
十进制的。。
int func ( int num )
{
     bool sign = num < 0 ;
     if(sign) num = -num;
     int count = 0;
     if ( !num ) putchar('0');
     for( int j = 1; num /= j; j *= 10 ) {
          putchar( num % 10 + '0' );
          count ++ ;
     }
     if(sign) putchar('-');
}

[ 本帖最后由 redhat008 于 2007-4-18 14:49 编辑 ]

论坛徽章:
0
17 [报告]
发表于 2007-04-18 20:54 |只看该作者
原帖由 zwylinux 于 2007-4-17 21:13 发表


一个很不具技巧性的思路

if (n > 9999 && n < 10000){
       /*print each number*/
}
else if (n > 999 && n < 1000){
       /*print each number*/
}
else if (n & ...

谢谢.

论坛徽章:
0
18 [报告]
发表于 2007-04-18 20:55 |只看该作者
原帖由 redhat008 于 2007-4-18 09:43 发表
我提供一个吧:
十进制的。。
int func ( int num )
{
     bool sign = num < 0 ;
     if(sign) num = -num;
     int count = 0;
     if ( !num ) putchar('0');
     for( int j = 1; num /= j ...

我试了下,还是不行啊..出错了.

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
19 [报告]
发表于 2007-04-18 21:12 |只看该作者
原帖由 lvjida 于 2007-4-18 20:55 发表
我试了下,还是不行啊..出错了.

出了问题自己先尽量解决,方法包括查书,试验,上网搜索等等。如果自己实在解决不了,或者你懒得自己解决从而希望别人帮你解决,在提问时也请附上出错信息以及其他一些必要信息,例如说编译/运行的报错信息,你所使用的编译器的种类/版本,和其他一些你觉得可能有帮助的信息,例如说你操作系统的种类和版本。如果程序的运行不符合你的期望,也请给出你期望的结果。这些信息都有助于别人更准确快速的对问题进行诊断,并最终帮你解决问题。

另外,如果你自己为了解决该问题已做了许多努力,请简要的列出,这样不但可以避免其他人再做同样的尝试,也可以显示你并非想不劳而获。

最后,别忘了在帖子的标题中准确恰当的描述你的问题。要知道,不论你在帖子中把问题描述的有多好,如果不能被别人看到,那这些对解决你的问题都没有什么帮助。

论坛徽章:
0
20 [报告]
发表于 2007-04-18 21:20 |只看该作者

我很懒

char szNumber[6];
int len;

sprintf(szNumber, "%d",  n);
len = strlen(szNumber);

printf("%d\n", len );

for (int i = 0; i < len ; i ++)
{
  printf("%c\n", szNumber(i));
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP