C语言简单编程题

qq_33689013 2016-01-09 07:47:54
#include<stdio.h>
int main(void)
{
int i=0,sum=0,b[100];
char ch,a[100];

printf("Enter a word: ");
ch=getchar();
for(i=0;ch!='\n';i++)
{
a[i]=ch;
ch=getchar(); }
for(i=0;a[i]!='\n';i++)
{
if((a[i]=='a')||(a[i]=='e')||(a[i]=='i')||(a[i]=='l')||(a[i]=='n')||(a[i]=='r')||(a[i]=='s')||(a[i]=='t')||(a[i]=='u'))
b[i]=1;
else if((a[i]=='d')||(a[i]=='g'))
b[i]=2;
else if((a[i]=='b')||(a[i]=='c')||(a[i]=='m')||(a[i]=='p'))
b[i]=3;
else if(a[i]=='f'||a[i]=='h'||a[i]=='v'||a[i]=='w'||a[i]=='y')
b[i]=4;
else if(a[i]=='k')
b[i]=5;
else if(a[i]=='j'||a[i]=='x')
b[i]=8;
else if(a[i]=='q'||a[i]=='z')
b[i]=10;
sum=sum+b[i];
}
printf("Scrabble value:%d",sum);
return 0;

}
这哪里不对
...全文
116 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
lilianjie001 2016-01-09
  • 打赏
  • 举报
回复
for(i=0;ch!='\n';i++)
	{
		a[i]=ch;
		ch=getchar();	
	}
a[i]中没有存入'\n' 下面的 for(i=0;a[i]!='\n';i++)中的a[i]!='\n';条件不成立,一直循环,直到等于\n结束循环 最简单的修改方法,加一句a[i] = '\n';
for(i=0;ch!='\n';i++)
	{
		a[i]=ch;
		ch=getchar();	
	}
	a[i] = '\n';

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧