| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5800 人关注过本帖
标题:学写程序,先把《Hello,world!》写好
只看楼主 加入收藏
gao_guai
Rank: 2
等 级:论坛游民
帖 子:73
专家分:16
注 册:2011-6-5
收藏
得分:0 
回复 91楼 TonyDeng
恩,而且只能是正数,嘻嘻,
2011-08-05 15:38
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
呵呵,那尝试把它做好呗。

授人以渔,不授人以鱼。
2011-08-05 16:14
wfoo
Rank: 3Rank: 3
等 级:论坛游侠
威 望:7
帖 子:120
专家分:134
注 册:2011-8-6
收藏
得分:0 
程序代码:
#include <stdio.h>

#define NUL        ('\0')
#define notZero(x) ((x)!=0)

char *
foo (char *s, unsigned n)
{
  int  i,  i2;
  char *p = s;
  char buf[32];

 

  i = 0;
  do
    buf[i++] = '0' + (n%10U);
  while ((n/=10U));

  i2   = i % 3;
  p[0] = buf[i-1];
  p[1] = buf[i-2];
  p[i2]= ',';
  p   += i2 + notZero(i2);
  i   -= i2;

  while (i > 2)
    {
      p[0] = buf[i-1];
      p[1] = buf[i-2];
      p[2] = buf[i-3];
      p[3] = ',';
      p   += 4;
      i   -= 3;
    }

  p[-1] = NUL;
  return s;
}

char *

foos (char *s, int n)
{
  *s = '-';
  return  n < 0  ?  foo(s+1, -n) -1
                 :  foo(s  ,  n);
}


int main (void)
{
  char buf[1024];
  int  i0 = 0;
  int  i1 = 1234567;
  int  i2 = -1234567;

  printf ("%10d : %10s\n", i0, foos(buf,i0));
  printf ("%10d : %10s\n", i1, foos(buf,i1));
  printf ("%10d : %10s\n", i2, foos(buf,i2));
  return 0;
}


[ 本帖最后由 wfoo 于 2011-8-6 12:42 编辑 ]
收到的鲜花
  • TonyDeng2011-08-06 12:48 送鲜花  10朵   附言:有点创意,p[-1]的用法有待验证。
2011-08-06 12:33
lvku
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-8-14
收藏
得分:0 
学习了,顶!!!
2011-08-14 13:05
QQ346957135
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:148
专家分:658
注 册:2011-8-9
收藏
得分:0 
程序代码:
#include<stdio.h>
int main()
{
    char number1[1000],number2[1000],ch;
    int i,j,k=1,sign=0;
    printf("请输入任意整数:");
    for(i=0;(ch=getchar())!='\n';)
    {
        if(ch=='-')
        {
            sign=1;//负数标记
        }    
        else
        {
            number1[i]=ch;//把除负号的数字输入数组1
            i++;
        }
    }
    i--;//i为最后一个数字序号
    for(j=1;i>=0;i--,j++,k++)//完成逆置并添加‘,’到数组2,此时为逆序
    {
        number2[j]=number1[i];
        if(k%3==0)
        {
            number2[++j]=',';
        }
    }
    j--;
    if(number2[j]==',')//开始正序输出
    {
        j--;
    }
    if(sign==1)
        putchar('-');
    for(;j>=1;j--)
        printf("%c",number2[j]);
    printf("\n");
    return 0;
}
收到的鲜花
  • TonyDeng2011-08-15 11:01 送鲜花  10朵   附言:不错,很好!

A real warrior never quits.
2011-08-15 09:59
xiaolaoshucj
Rank: 2
等 级:论坛游民
帖 子:26
专家分:15
注 册:2011-6-18
收藏
得分:0 
这>....
2011-08-15 15:19
早起de笨鸟
Rank: 1
等 级:新手上路
帖 子:25
专家分:5
注 册:2011-8-15
收藏
得分:0 
在这里我作为一位初学者对楼主的用心表示感谢,我程序也只是会写很简单的,要下功夫了!
2011-08-15 16:04
小偌
Rank: 4
来 自:成都
等 级:业余侠客
帖 子:170
专家分:241
注 册:2011-8-15
收藏
得分:0 
先顶个 晚上 状态好 试试 不知道能不能成功

不是很好么..比起关在笼子里的可怜小鸟..我成为乌鸦已足矣
2011-08-15 16:26
冯博
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-8-17
收藏
得分:0 
楼主 我刚接触c  我要怎么开始  你们说的我都不懂啊
2011-08-17 16:35
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
回复 99楼 冯博
那你先看看这个帖吧:
https://bbs.bccn.net/thread-346395-1-1.html

授人以渔,不授人以鱼。
2011-08-17 16:38
快速回复:学写程序,先把《Hello,world!》写好
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020395 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved