标题:在C语言中将输入的数字翻译为汉语中的数字
只看楼主
少林小和尚
Rank: 2
等 级:论坛游民
帖 子:57
专家分:26
注 册:2013-3-31
结帖率:73.68%
已结贴  问题点数:10 回复次数:3 
在C语言中将输入的数字翻译为汉语中的数字
#include <stdio.h>
#include <string.h>
char map[] = { "零" , "一" , "二" , "三" , "四" , "五" , "六" , "七" , "八" ,"九","正" , "负"."点"};
 char Search( char c )    //找到字母表示法所对应的数字

 {int i;
     for(i = 0 ; i <= 13 ; i++ )
 {  if( strcmp( c, map[i] ) == 0 )  
 return map[i];
}
}
 int main()
 { char s,c;  
 while( scanf( "%s" , s ) && strcmp( s , "+" ) != '\n')
 {                         c=search(s);         
 printf("%c",&c);      
 }  
 return 1;
 }




在VC6.0中有错误   ers\dell\Desktop\.c(3) : error C2078: too many initializers
C:\Users\dell\Desktop\.c(3) : error C2018: unknown character '0xa3'
C:\Users\dell\Desktop\.c(3) : error C2018: unknown character '0xac'
C:\Users\dell\Desktop\.c(3) : error C2059: syntax error : 'string'
C:\Users\dell\Desktop\.c(8) : warning C4047: 'function' : 'const char *' differs in levels of indirection from 'char '
C:\Users\dell\Desktop\.c(8) : warning C4024: 'strcmp' : different types for formal and actual parameter 1
C:\Users\dell\Desktop\.c(8) : warning C4047: 'function' : 'const char *' differs in levels of indirection from 'char '
C:\Users\dell\Desktop\.c(8) : warning C4024: 'strcmp' : different types for formal and actual parameter 2
C:\Users\dell\Desktop\.c(14) : warning C4047: 'function' : 'const char *' differs in levels of indirection from 'char '
C:\Users\dell\Desktop\.c(14) : warning C4024: 'strcmp' : different types for formal and actual parameter 1
C:\Users\dell\Desktop\.c(15) : warning C4013: 'search' undefined; assuming extern returning int
执行 cl.exe 时出错.
   求解释。。。
搜索更多相关主题的帖子: map 数字翻译 include search 
2013-04-06 15:52
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
得分:4 
问题太多了

总有那身价贱的人给作业贴回复完整的代码
2013-04-06 17:00
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2391
专家分:13384
注 册:2013-3-3
得分:4 
1、char map[] = { "零" , "一" , "二" , "三" , "四" , "五" , "六" , "七" , "八" ,"九","正" , "负"."点"};你定义的是字符数组,你这样初始化不可以,用''单引号;2、if( strcmp( c, map[i] ) == 0)这句中:strcmp()函数的第一个参数应该是字符串 ,比较两个字符直接比较就可以了;
3、strcmp( s , "+" ) != '\n'这句我没看懂,strcmp函数返回的是int型的吧(1,2,3),这是什么,不等于'\n'
4、c=search(s);你调用函数都写错了,大写S的;
5、printf("%c",&c);printf不用&,
同学,要抓住基础学习   

Maybe
2013-04-06 17:21
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
得分:0 
回复 3楼 邓士林
你把自己说的上机试了吗?第一条不对,后面没看

[ 本帖最后由 embed_xuel 于 2013-4-6 17:44 编辑 ]

总有那身价贱的人给作业贴回复完整的代码
2013-04-06 17:37



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-403148-1-1.html




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

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