首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

哪位c编程高手给小弟我编译一个程序,求呀

2012-02-11 
哪位c编程高手给我编译一个程序,急求呀!我想让26个小写字母返回成数字,是这样的:a到i返回1到9,j到r返回0到

哪位c编程高手给我编译一个程序,急求呀!
我想让26个小写字母返回成数字,是这样的:a到i返回1到9,j到r返回0到9,s返回0,t到z返回2到8,也就是a到z返回成数字,如果是两位数字就返回个位和十位相加和的个位。如:bku就返回233。以下是我编写的,感觉对着呢就是得不到结果,请高手不吝赐教。  
main()  
{   char   *p,a[20]= "abcdefghij ";  
p=a;  
for(;*p!= '\0 ';p++)  
{   if( 'j '> *p> = 'a ')   *p=*p-48;  
else   if( 's '> *q> = 'j ')   *p=*p-57;  
else   if( 'z '> =*q> 's ')   *p=*p-66;  
*p=*p-67;  
}  
puts(a);  
}

[解决办法]
#include <stdio.h>

int main()
{
char *p,a[20]= "abcdefghij ";
p=a;
for(;*p!= '\0 ';p++)
{
//if( 'j '> *p> = 'a ')
if( *p> = 'a ' && *p < 'j ')
*p=*p-48;
//else if( 's '> *q> = 'j ')
else if( *p> = 'j ' && *p < 's ')
*p=*p-57;
//else if( 'z '> =*q> 's ')
else if( *p> 's ' && *p <= 'z ')
*p=*p-66;
else
*p=*p-67;
}
puts(a);

return 0;
}
[解决办法]
#include <iostream>
void main()
{
char *p,a[20]= "abcdefghij ";
p=a;
for(;*p!= '\0 ';p++)
{
if( 'j '> *p&&*p> = 'a ') *p=*p-48;
else if( 's '> *p&&*p> = 'j ') *p=*p-57;
else if( 'z '> =*p&&*p> 's ') *p=*p-66;
else *p=*p-67;
}
puts(a);
system( "pause ");
}

[解决办法]
楼上的没看出来吗?
C语言里面比较大小的条件没有你那样的表达式..

新的C/C++ 标准都分别规定了 main 的接口只有两种:
int main ( void );
int main ( int argc, char * argv[] );

返回 0 表示运行成功,返回非 0 表示失败。

[解决办法]
if( 'j '> *p> = 'a ')
呵呵不是这样比较法的.
是这样if(*p < 'j ' && *p > = 'a ').

看到楼主这句"上个厕所就解出来了"就想笑,哈哈

热点排行