首页 > 电脑

一个c语言题,题目和代码如下,求大神解决,在线等,谢谢啦

更新时间2018-05-24 14:55:04

开发一个程序,用户从键盘输入英文单词,程序要返回该单词对应的数值.规则是A/a的值是1, B/b的值是2, C/c的值是3,Z/z的值是26.如果用户输入的单词的和为100,那么就显示恭喜你成功找到了这个单词的信息.

int main(int argc, char *argv[]) {

int fun(char *p);

char s[20];

int i,c;

do{

   printf("enter string:");

scanf("%s",s);

for(i=0;s[i]!='';i++){

if(s[i]>'z'||s[i]<'A')break;

else if(s[i]>'Z'&&s[i]<'a')break;

}

c=fun(s); 

}while(s[i]!=''&&c!=100);

printf("恭喜你成功找到这个单词");

return 0;

}

 

int fun(char *p){

int sum=0,i=0,j;

while(p[i]!=''){

i++;

}

for(j=0;j<=i;j++){

if(p[j]>='A'&&p[j]<='Z')p[j]=p[j]-64;

if(p[j]>='a'&&p[j]<='z')p[j]=p[j]-96;

sum=sum+p[j];

}

return sum;

}

大神帮我看看哪儿出问题了啊,我觉得应该是主程序除了问题,编译没问题,但运行只要全输入字母就是成功找到、、、、急等


while(s[i]!=''&&c!=100);

这里的条件写的不对,如果输入的全是字母,前面的for循环不会跳出,s[i]的值就是'',while循环退出,输出成功找到

相关标签:谢谢大神c语言

上一篇:华为荣耀10能不能加装内存卡的?

下一篇:什么输入法可以在电脑端进行语音输入