| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1278 人关注过本帖
标题:[求助]请教一个习题,请知道朋友给个思路
只看楼主 加入收藏
jy330799
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-11-25
收藏
 问题点数:0 回复次数:22 
[求助]请教一个习题,请知道朋友给个思路


编写程序,从终端读取一个数字,然后使用英语逐位显示概数.列如,如果用户输入932程序输入:nine three two
这里特别要求,如果用户输入0,那么程序应该显示zero

做天晚上分析的,没分析出来,刚才又看了一下,实在不想放弃,就过来找论坛的朋友求助了

由于刚开始学习前几章,刚学到if switch 判断
分析了一下,确定这个题目后面的部分的思路貌似应该用
switch (c)
{ case '0' ;
printf ("zero");
break;
等等………………………………
但是前面输入一个数的时候,怎样让他读完输入的第一个数以后,接着读第二个,第三个…………
就是前面部分不太会用循环,怎样让它循环读取完输入的第一个数后,读第二个。第三个。。。。

比如 932
读完9 读 3 再读2

谢谢朋友们给个思路

搜索更多相关主题的帖子: 习题 思路 朋友 
2007-04-23 19:39
oclassic
Rank: 1
等 级:新手上路
帖 子:140
专家分:0
注 册:2007-4-18
收藏
得分:0 
#define N 10
#include<stdio.h>
int main(void)
{
int i=0,c=0;

for(i=0;i<N;i++)
{
c=getchar();
switch (c)
{
case '0':printf("zero ");break;
case '1':printf("one ");break;
case '2':printf("two ");break;
case '3':printf("three ");break;
case '4':printf("four ");break;
case '5':printf("five ");break;
case '6':printf("six ");break;
case '7':printf("seven ");break;
case '8':printf("eight ");break;
case '9':printf("nine ");break;
}
}
}

编程群号码30772309群刚刚建立一个论坛http://tszbbs./?u=2 诚招斑猪哦
2007-04-23 20:13
oclassic
Rank: 1
等 级:新手上路
帖 子:140
专家分:0
注 册:2007-4-18
收藏
得分:0 
这个程序我老觉得结果不应该是这样,但是它就是这种效果,不知道怎么了。我也得去问问高手了。

编程群号码30772309群刚刚建立一个论坛http://tszbbs./?u=2 诚招斑猪哦
2007-04-23 20:16
laigaoat2005
Rank: 4
等 级:业余侠客
帖 子:388
专家分:226
注 册:2007-4-5
收藏
得分:0 
我觉得还应该怎样改一下,因为它总是要等到执行到10才停。
2007-04-23 20:38
laigaoat2005
Rank: 4
等 级:业余侠客
帖 子:388
专家分:226
注 册:2007-4-5
收藏
得分:0 
我没有想出来。
2007-04-23 20:39
oclassic
Rank: 1
等 级:新手上路
帖 子:140
专家分:0
注 册:2007-4-18
收藏
得分:0 

可以啊。改成这样就行了。

#define N 10
#include<stdio.h>
int main(void)
{
int i=0,c=0;
printf("If want to stop,input \"!\"\n");
for(i=0;i<N;i++)
{
c=getchar();
if(c=='!')
break;
switch (c)
{
case '0':printf("zero ");break;
case '1':printf("one ");break;
case '2':printf("two ");break;
case '3':printf("three ");break;
case '4':printf("four ");break;
case '5':printf("five ");break;
case '6':printf("six ");break;
case '7':printf("seven ");break;
case '8':printf("eight ");break;
case '9':printf("nine ");break;
}
}
}


编程群号码30772309群刚刚建立一个论坛http://tszbbs./?u=2 诚招斑猪哦
2007-04-23 20:44
限量版猪头
Rank: 2
等 级:论坛游民
威 望:1
帖 子:165
专家分:30
注 册:2006-2-5
收藏
得分:0 

#include<stdio.h>
void NUM(int);
void main()
{ int num,i,j=10,k=1,a,bit=1,s[10],bit1;
scanf("%d",&num);

a=num;

while((a=a/10)!=0)
bit++;
bit1=bit;

for(i=0;i<bit;i++) //此循环用来根据数的位数,得出每位的数值
{ a=num%j;
a=a/k;
s[bit1]=a;
j*=10;
k*=10;
bit1--;
}
for(i=bit1+1;i<=bit;i++) //此循环是为了将数值对应的英文输出
{
NUM(s[i]);
}
getch();
}
void NUM(int x)
{
switch(x)
{
case 1:printf("one ");break;
case 2:printf("two ");break;
case 3:printf("three ");break;
case 4:printf("four ");break;
case 5:printf("five ");break;
case 6:printf("six ");break;
case 7:printf("seven ");break;
case 8:printf("eight ");break;
case 9:printf("nine ");break;
case 0:printf("zero ");break;

}
}

[此贴子已经被作者于2007-4-23 21:08:42编辑过]


2007-04-23 20:55
oclassic
Rank: 1
等 级:新手上路
帖 子:140
专家分:0
注 册:2007-4-18
收藏
得分:0 
给点注释啊。

编程群号码30772309群刚刚建立一个论坛http://tszbbs./?u=2 诚招斑猪哦
2007-04-23 20:57
laigaoat2005
Rank: 4
等 级:业余侠客
帖 子:388
专家分:226
注 册:2007-4-5
收藏
得分:0 
7楼的程序编译有4个错误哦,C—free3.5中。
2007-04-23 20:58
限量版猪头
Rank: 2
等 级:论坛游民
威 望:1
帖 子:165
专家分:30
注 册:2006-2-5
收藏
得分:0 

没错误啊!


2007-04-23 21:00
快速回复:[求助]请教一个习题,请知道朋友给个思路
数据加载中...
 
   



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

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