3798|6

7815

帖子

56

TA的资源

裸片初长成(中级)

楼主
 

俺学C时写的习题(1)-------扔上来是来求臭鸡蛋的....... [复制链接]

最近电脑重装了一次,差点没把电脑里几年下来的练习和一些资料弄丢了。
最近,对于清理自己的资料有了一个新的观点:
任何东西都该赋予其生存期,时间到了,就该消失——彻底的消失。

其中我最要紧的是E盘中 电子电路 这个文件夹,这几年的资料,记录都在里头。于是我想到要开始清理他们,毕竟我的旧笔记本只有80G硬盘。

然后想到我学C时,做霍顿 的 《C语言入门经典》的章后习题,写的那几千行代码,于是就想着,把它们扔上来——说是求臭鸡蛋,那绝不是谦虚或者装模作样。

而是因为,这是我第一次放自己的代码上来,以前对着别人的代码喜欢指指点点,用自己所谓的 编程规范,以及一些观点——尽管其中大多数被证明了似乎真是那么一回事,但是自己是否真的就都对呢?
我没把握。
所以,这次我决定挑选其中一些我觉得值得探讨的部分放上来,让大家有空看看,都不是很长,最长的不过三四百行。

好了,闲话少说,先上的这个,是 第六章 第一题。

编写一个程序,从键盘上读入一个小于1000的正整数,然后创建一个字符串,说明这个数字。例如,输入941 ,输出 Nine hundred and forty one


  1. #include<stdio.h>
    int main(void)
    {
    int a=0;
    int hundreds=0;
    int decades=0;
    int digits=0;
    char A[20][10]={
    " ", //这里很蠢,下面的零,根本没必要单独抽出来。开始我以为是题目要求。
    //如果没记错的话,我当时是为了避免 整十整百 的混淆,其实是没必要的。
    //回想这些习题,绝大多数我没看参考答案,结果发现经常自己曲解或者复杂化题目的意图。

    "one",
    "two",
    "three",
    "four",
    "five",
    "six",
    "seven",
    "eight",
    "night",
    "ten",
    "eleven",
    "twelve",
    "thirteen",
    "fourteen",
    "fifteen",
    "sixteen",
    "seventeen",
    "eighteen",
    "ninteen",
    };
    char B[10][10]={
    " ",
    " ",
    "twenty",
    "thirty",
    "forty",
    "fifty",
    "sixty",
    "seventy",
    "eighty",
    "ninty"
    };
    char D[1][10];
    char DE[1][10];
    char H[1][10];



    printf("Enter a number less than a thousand.");
    scanf(" %d",&a);
    if(a>1000)
    printf("I'm sorry but you enter wrong number.");
    else
    {
    if(a==0)
    printf("You enter Zero.");
    }

    if(a>20)

    {
    digits=a%10;
    decades=(a/10)%10;
    hundreds=a/100;
    }
    else
    digits=a;


    printf("%d %d %d", hundreds, decades,digits);
    printf("%10s ",A[hundreds]);
    if(hundreds)
    {
    if((decades)||(digits))
    {
    printf("hundred and");
    }
    else
    printf("hundred");
    }



    printf("%10s",B[decades]);
    printf("%10s",A[digits]);

    return 0;


    }
复制代码



此帖出自编程基础论坛

最新回复

我把程序下载后,编译运行,单输入20,这个程序无法显示英文转换!楼主比较喜欢漏掉(=)号啊! [ 本帖最后由 tianmai007 于 2012-9-28 08:40 编辑 ]  详情 回复 发表于 2012-9-28 08:35
点赞 关注
个人签名

强者为尊,弱者,死无葬身之地

 

回复
举报

7815

帖子

56

TA的资源

裸片初长成(中级)

沙发
 
这个程序很简单,我看了一下就回想起来了,而且也不长,所以我就没加注释。除了一些我觉得不够完善的地方。
此帖出自编程基础论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 
 

回复

44

帖子

0

TA的资源

一粒金砂(高级)

板凳
 
if(a>1000)
好象是有问题,应该是
if(a!<1000)
此帖出自编程基础论坛
 
个人签名能力越大,责任越大;知道越多,未知更多
 
 

回复

7815

帖子

56

TA的资源

裸片初长成(中级)

4
 

回复 板凳 能圈就圈 的帖子

额,老大,你这个,用意何在?
我觉得,逻辑上没啥问题吧
晕,是小于1000,应该是 >=
[ 本帖最后由 辛昕 于 2011-12-30 11:11 编辑 ]
此帖出自编程基础论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 
 

回复

7219

帖子

192

TA的资源

五彩晶圆(高级)

5
 

回复 板凳 能圈就圈 的帖子

不小于等于吧
很少这么写吧
此帖出自编程基础论坛
 
 
 

回复

44

帖子

0

TA的资源

一粒金砂(高级)

6
 

回复 5楼 常见泽1 的帖子

嗯,写错了.
此帖出自编程基础论坛
 
个人签名能力越大,责任越大;知道越多,未知更多
 
 

回复

2

帖子

0

TA的资源

一粒金砂(中级)

7
 

这个程序一点小瑕疵

我把程序下载后,编译运行,单输入20,这个程序无法显示英文转换!楼主比较喜欢漏掉(=)号啊!

[ 本帖最后由 tianmai007 于 2012-9-28 08:40 编辑 ]
此帖出自编程基础论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表