C语言改错 20

 我来答
Yuqi_Tan

2015-01-12 · TA获得超过8.9万个赞
知道大有可为答主
回答量:9918
采纳率:93%
帮助的人:3484万
展开全部

1、if(('a'<=c[k]<='z')这一句错误,应该改成:

if(c[k]>='a'&&c[k]<='z')

2、gets(c[50]);这一句错误,改成:

gets(c);

3、int n[26]={0},k;这一句改成:int n[26]={0},k=0;

4、while(c[k]!='0')改成:while(c[k]!='\0')

修改后的程序如下:

#include "stdio.h"
void main()
{
    char c[50];
    int n[26]={0},k=0;
    gets(c);
    puts(c);
    while(c[k]!='\0')
    if(c[k]>='a'&&c[k]<='z')
    {
     n[c[k]-'a']+=1;
     k++;
    }
    for(k=0;k<26;k++) 
     printf("%c:%d\n",k+'a',n[k]);
}

已经运行通过!

kaixingui2012
2015-01-12 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6495万
展开全部
#3 int n[26]={0}, k=0;
#5 gets(c) ;
#6 while( c[k]!='\0' )
#7 if ( 'a'<=c[k] && c[k] <='z' )
#10 for( k=0;k<26;k++ ) //去掉分号
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2ebe1e4f3
2015-01-12 · TA获得超过1.3万个赞
知道大有可为答主
回答量:9245
采纳率:52%
帮助的人:3308万
展开全部
#3 int n[26]={0},k=0; /* k 没初始化*/
#5 gets(c); /* 去掉长度,数组名就是首地址 */
#6 while(c[k]!='\0') /*少了 \ */
#7 if('a'<=c[k] && c[k]<='z') /* 用&&方式连接*/
#10 for(k=0;k<26;k++) /* 去掉分号 */
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Awangchun888
2015-01-12 · 超过12用户采纳过TA的回答
知道答主
回答量:37
采纳率:0%
帮助的人:23.7万
展开全部
#include<stdio.h>
void main()
{
int n[26]={0},k,i;
char c[50];

gets(c[50]);

while(c[k]!='\0')
{
if((c>=‘a’)&&(a<='z'))

{
n[c[k]-'a']+=1;
}
}
for(k=0;k<26;k++)

{
printf("%c:,%d",n[k]+'a',n[k]);

}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
心1aRx5
2015-01-12 · TA获得超过244个赞
知道小有建树答主
回答量:323
采纳率:0%
帮助的人:220万
展开全部
第七句
if('a'<=c[k] && c[k]<='z')
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式