| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 639 人关注过本帖
标题:[求助]windous为什么不让运行
只看楼主 加入收藏
HaPpY随心
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2007-9-28
收藏
 问题点数:0 回复次数:9 
[求助]windous为什么不让运行
输入正整数N(N<1000),产生对应的英文字符串并输出。例如
1 ONE
2、TWO
3、THREE
……
11 ELEVEN
135 ONE HANDRED TRIRTY FIVE


昨天问了这题的算法
今天试着写了,但程序无法运行,请版主指教

/*HaPpY随心*/
#include <stdio.h>
#include <string.h>
int main()
{
int i,n,k,m;
char st[9];
char *day[9]={"ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT",
"NINE"};
char *teen[9]={"ELEVEN","TWELVE","THITRTEEN","FOURTEEN","FIFTEEN","SIXTEEN",
"SEVENTEEN","EIGHTEEN","NINETEEN"};
char *tenth[8]={"TWENTY","THIRTY","FOURTY","FIFTY","SIXTY","SEVENTY",
"EIGHTY","NINETY"};
char *a[2]={"TEN","HUNDRED"};
printf("请输入1000以内正整数:\n");
scanf("%s",st);
k=strlen(st);
for(i=0;i<k;i++)
{
if(st[i]>'9'||st[i]<'1') return 0;
}
switch(k)
{
case 1:
n=int(st[0]-'0');
printf("%s\n",*day[n-1]);
break;
case 2:
if(st[1]=='1')
{
if(st[0]=='0') printf("%s\n",*a[0]);
else
{
n=int (st[0]-'0');
printf("%s\n",*teen[n-1]);
}
}
else
{
i=int(st[1]-'0');
n=int(st[0]-'0');
}
printf("%s-%s",*tenth[i-2],*day[n-1]);
break;
case 3:
m=int(st[2]-'0');
if(st[1]=='1')
{
if(st[0]=='0') printf("%s %s %s\n",*day[m-1],*a[1],*a[0]);
else
{
n=int(st[0]-'0');
printf("%s %s %s\n",*day[m-1],*a[1],*teen[n-1]);
}
}
else
{
i=int(st[1]-'0');
n=int(st[0]-'0');
}
printf("%s %s %s-%s",*day[m-1],*a[1],*tenth[i-2],*day[n-1]);
break;
default:
printf("error!");
return 0;
}
return 0;

}
搜索更多相关主题的帖子: windous ELEVEN int 运行 
2007-10-21 13:39
windlzf
Rank: 1
等 级:新手上路
帖 子:56
专家分:0
注 册:2006-8-7
收藏
得分:0 
/*路过,修改了一下*/
#include <stdio.h>
#include <string.h>
int main()
{
int i,n,k,m;
char st[9];
char *day[10]={"ZERO","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT",
"NINE"};
char *teen[10]={"TEN","ELEVEN","TWELVE","THITRTEEN","FOURTEEN","FIFTEEN","SIXTEEN",
"SEVENTEEN","EIGHTEEN","NINETEEN"};
char *tenth[8]={"TWENTY","THIRTY","FOURTY","FIFTY","SIXTY","SEVENTY",
"EIGHTY","NINETY"};
char *a[2]={"TEN","HUNDRED"};
printf("请输入1000以内正整数:\n");
scanf("%s",st);
k=strlen(st);
for(i=0;i<k;i++)
{
if(st[i]>'9'||st[i]<'0') return 0;
}
switch(k)
{
case 3:
n=(int)(st[k-3]-'0');
printf("%s %s",day[n],a[1]);
if(st[k-2]=='0'&&st[k-1]=='0') break;
printf(" AND ");
case 2:
if(st[k-2]=='1')
{
n=(int) (st[k-1]-'0');
printf("%s\n",teen[n]);
break;
}
else if(st[k-2]>'1')
{
n=(int)(st[k-2]-'0');
printf("%s",tenth[n-2]);
if(st[k-1]=='0') break;
printf("-");
}
case 1:
n=(int)(st[k-1]-'0');
printf("%s\n",day[n]);
break;
default:
printf("error!");
return 0;
}
getch();
return 0;

}
2007-10-22 12:26
HaPpY随心
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2007-9-28
收藏
得分:0 
回复:(windlzf)/*路过,修改了一下*/#include
恩,谢谢指导,
修改之处我会认真看的;

另外getch();
这句是否可以删除?
2007-10-22 12:41
windlzf
Rank: 1
等 级:新手上路
帖 子:56
专家分:0
注 册:2006-8-7
收藏
得分:0 
嗯 我在win-tc下调试的,getch()用来暂停
我的DEV-C++每次启动都要初始化很久,不知道为什么
2007-10-22 12:46
hangeng
Rank: 2
等 级:论坛游民
帖 子:424
专家分:39
注 册:2007-7-23
收藏
得分:0 

getch();
不可以删掉
你自己删掉以后自己再运行一遍 就会知道


  雨水冲不进窗来,在玻璃上痛哭。但它至少奋斗过。
2007-10-22 14:55
HaPpY随心
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2007-9-28
收藏
得分:0 
回复:(windlzf)嗯 我在win-tc下调试的,getch()用来...
我用的平台是c-free 4.0版
不把getch();删除
编译通不过。。。
2007-10-22 16:16
雨中飞燕
Rank: 3Rank: 3
等 级:禁止访问
威 望:8
帖 子:2200
专家分:0
注 册:2007-8-9
收藏
得分:0 
以下是引用HaPpY随心在2007-10-22 16:16:35的发言:
我用的平台是c-free 4.0版
不把getch();删除
编译通不过。。。

因为你没有写上conio.h头文件



by 雨中飞燕 C/C++讨论群:46520219
[url=http://yzfy.org/]C/C++算法习题(OnlineJudge):[/url] http://yzfy.org/
Blog: http://yzfy.programfan.com

[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url] [url=http://blog.programfan.com/article.asp?id=24801]请不要写出非int声明的main函数[/url]
[url=http://bbs.bc-cn.net/viewthread.php?tid=162918]C++编写的Windows界面游戏[/url]

2007-10-22 16:21
HaPpY随心
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2007-9-28
收藏
得分:0 
回复:(雨中飞燕)以下是引用HaPpY随心在2007-10-22 ...
我看了conio.h里对getch的描述是:#define getch getchar
那getch();写成getchar();就可以运行。
表示的意思一样么?
2007-10-22 16:29
雨中飞燕
Rank: 3Rank: 3
等 级:禁止访问
威 望:8
帖 子:2200
专家分:0
注 册:2007-8-9
收藏
得分:0 
以下是引用HaPpY随心在2007-10-22 16:29:18的发言:
我看了conio.h里对getch的描述是:#define getch getchar
那getch();写成getchar();就可以运行。
表示的意思一样么?

不一样,并且是非常大的差别



by 雨中飞燕 C/C++讨论群:46520219
[url=http://yzfy.org/]C/C++算法习题(OnlineJudge):[/url] http://yzfy.org/
Blog: http://yzfy.programfan.com

[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url] [url=http://blog.programfan.com/article.asp?id=24801]请不要写出非int声明的main函数[/url]
[url=http://bbs.bc-cn.net/viewthread.php?tid=162918]C++编写的Windows界面游戏[/url]

2007-10-22 16:35
HaPpY随心
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2007-9-28
收藏
得分:0 
回复:(雨中飞燕)以下是引用HaPpY随心在2007-10-22 ...
楼上有人说getch();是用来暂停的。。
可我在c-free中,加与不加都一样的,
可以给我一个你们用的编程工具么?
C和C++都可以。
2007-10-22 17:12
快速回复:[求助]windous为什么不让运行
数据加载中...
 
   



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

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