| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5033 人关注过本帖
标题:求一个简单的C语言程序
只看楼主 加入收藏
jstxlwl118
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2007-6-1
收藏
 问题点数:0 回复次数:42 
求一个简单的C语言程序
题目是这样的:

编写程序,从终端读取一个数字,然后使用英语一位一位显示应该数字:
例如932
nine three two

申明一下:老师只讲了一些判断语句,循环语句,和一些变量的自定义.
后面的什么数组呀之类的都没有讲到

哪位高手能够帮帮忙用C语言写出来
或者告诉我用什么方法???

希望各位大虾帮帮忙!!!
搜索更多相关主题的帖子: C语言 
2007-06-01 20:59
小子也大叔
Rank: 2
等 级:新手上路
威 望:4
帖 子:143
专家分:0
注 册:2007-4-23
收藏
得分:0 
有switch吧

希望一心想学c的加我的群吧~~ 40834003
2007-06-01 21:25
jstxlwl118
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2007-6-1
收藏
得分:0 
有呀..但是想了半天不知道怎么弄..

有哪位能帮帮忙呀..告诉我一个方法也行呀..
2007-06-01 21:26
粟米米
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-2-21
收藏
得分:0 

新人,无责任帮忙。
#include<stdio.h>

int main(void)

{
int gw,sw,bw;

int num;

printf("\ninput the number you want to translate");

scanf("%d",&num);

//以下分别计算出百位,十位,个位,如需要其它位,请自行扩展。

bw=num/100;
sw=(num/10)%10;
gw=(num%10);

if (bw==0)
;
else if (bw==1)
printf("one");

else if (bw==2)
printf("two");

else if (bw==3)
printf("three");

else if (bw==4)
printf("four");

else if (bw==5)
printf("five");

else if (bw==6)
printf("six");

else if (bw==7)
printf("seven");

else if (bw==8)
printf("eight");

else
printf("nine");

if (sw==0)
;
else if (sw==1)
printf("one");

else if (sw==2)
printf("two");

else if (sw==3)
printf("three");

else if (sw==4)
printf("four");

else if (sw==5)
printf("five");

else if (sw==6)
printf("six");

else if (sw==7)
printf("seven");

else if (sw==8)
printf("eight");

else
printf("nine");


if (gw==0)
;
else if (gw==1)
printf("one");

else if (gw==2)
printf("two");

else if (gw==3)
printf("three");

else if (gw==4)
printf("four");

else if (gw==5)
printf("five");

else if (gw==6)
printf("six");

else if (gw==7)
printf("seven");

else if (gw==8)
printf("eight");

else
printf("nine");

return 0;


}

已在TC下面试了,可以完成此功能,就是太繁了好像,期待更好的答案。

2007-06-01 22:10
haoxian
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-6-1
收藏
得分:0 
回复:(jstxlwl118)求一个简单的C语言程序

就像楼上说的一样,用IF就OK了啊

2007-06-01 22:45
gospark
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2007-6-1
收藏
得分:0 

编了一半,不用数组实在太麻烦,你看看吧
#include<stdio.h>
#include<stdlib.h>
main()
{
/*还未实现,最好用数组*/
int i,j,m;
printf(“please input stata");
scanf("%d",&m);
for(i=0;i<5)
n=m%100
/*选择部分*/
switch(n)
{case1:printf("one\n");
case2:printf("two\n");
case3:printf("three\n");
case4:printf("four\n");
case5:printf("five\n");
case6:printf("six\n");
case7:printf("seven\n");
case8:printf("eight\n");
case9:printf("nine\n");
case0:printf("zero\n");
}
^^^^^^^^


软硬结合才是发展之路~~~
2007-06-01 22:53
jstxlwl118
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2007-6-1
收藏
得分:0 
以下是引用粟米米在2007-6-1 22:10:19的发言:

新人,无责任帮忙。
#include<stdio.h>

int main(void)

{
int gw,sw,bw;

int num;

printf("\ninput the number you want to translate");

scanf("%d",&num);

//以下分别计算出百位,十位,个位,如需要其它位,请自行扩展。

bw=num/100;
sw=(num/10)%10;
gw=(num%10);

if (bw==0)
;
else if (bw==1)
printf("one");

else if (bw==2)
printf("two");

else if (bw==3)
printf("three");

else if (bw==4)
printf("four");

else if (bw==5)
printf("five");

else if (bw==6)
printf("six");

else if (bw==7)
printf("seven");

else if (bw==8)
printf("eight");

else
printf("nine");

if (sw==0)
;
else if (sw==1)
printf("one");

else if (sw==2)
printf("two");

else if (sw==3)
printf("three");

else if (sw==4)
printf("four");

else if (sw==5)
printf("five");

else if (sw==6)
printf("six");

else if (sw==7)
printf("seven");

else if (sw==8)
printf("eight");

else
printf("nine");


if (gw==0)
;
else if (gw==1)
printf("one");

else if (gw==2)
printf("two");

else if (gw==3)
printf("three");

else if (gw==4)
printf("four");

else if (gw==5)
printf("five");

else if (gw==6)
printf("six");

else if (gw==7)
printf("seven");

else if (gw==8)
printf("eight");

else
printf("nine");

return 0;


}

已在TC下面试了,可以完成此功能,就是太繁了好像,期待更好的答案。



这个我也想过..但问题是.你不知道它到底要输入的是多少位的数呀.你编的这上面已经先确定了它的位数..那如果位数很长呢.那不是很烦吗?
有没有更好的办法呢?
还是很谢谢你

2007-06-01 23:05
jstxlwl118
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2007-6-1
收藏
得分:0 
以下是引用gospark在2007-6-1 22:53:31的发言:

编了一半,不用数组实在太麻烦,你看看吧
#include<stdio.h>
#include<stdlib.h>
main()
{
/*还未实现,最好用数组*/
int i,j,m;
printf(“please input stata");
scanf("%d",&m);
for(i=0;i<5)
n=m%100
/*选择部分*/
switch(n)
{case1:printf("one\n");
case2:printf("two\n");
case3:printf("three\n");
case4:printf("four\n");
case5:printf("five\n");
case6:printf("six\n");
case7:printf("seven\n");
case8:printf("eight\n");
case9:printf("nine\n");
case0:printf("zero\n");
}
^^^^^^^^


选择部分我也想到了..就是之前的.有什么办法可以把每个位数上的数字分开算出,
可以讲的清楚一点吗?

2007-06-01 23:07
I喜欢c
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:64
帖 子:1749
专家分:0
注 册:2007-3-2
收藏
得分:0 
int main()
{ int n;
scanf("%d",&n);
senyee(n);
return 0;
}
senyee(int n)
{
int i;
char a[10][6]={"zero","one","two","three","four",
"five","six","seven","eight","nine"};
if(n==0) return;
i=n%10;
n=n/10;
senyee(n);
printf("%s\n",a[i]);
}

这样呢? 随便多少位啦......

[此贴子已经被作者于2007-6-4 22:52:57编辑过]


 我是指针,却丢失了目标地址!          我是循环,却缺少了结束条件!      我是函数,却没有人来调用!   
2007-06-01 23:18
jstxlwl118
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2007-6-1
收藏
得分:0 
以下是引用I喜欢c在2007-6-1 23:18:15的发言:
char *a[10]={"zero","one","two",......"nine"};
printf("%s",a[n]);

你这是不是数组呀.

我还没学到呀

我现在最想解决的就是怎么把输入的数字可以分开,只要能分开.问题就解决了.

有谁知道的.说一下.帮帮忙呀

2007-06-01 23:33
快速回复:求一个简单的C语言程序
数据加载中...
 
   



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

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