C语言改错 20
5个回答
展开全部
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]);
}
已经运行通过!
展开全部
#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++ ) //去掉分号
#5 gets(c) ;
#6 while( c[k]!='\0' )
#7 if ( 'a'<=c[k] && c[k] <='z' )
#10 for( k=0;k<26;k++ ) //去掉分号
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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++) /* 去掉分号 */
#5 gets(c); /* 去掉长度,数组名就是首地址 */
#6 while(c[k]!='\0') /*少了 \ */
#7 if('a'<=c[k] && c[k]<='z') /* 用&&方式连接*/
#10 for(k=0;k<26;k++) /* 去掉分号 */
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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]);
}
}
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]);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第七句
if('a'<=c[k] && c[k]<='z')
if('a'<=c[k] && c[k]<='z')
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询