[C语言改错]

发布网友 发布时间:2022-04-22 10:39

我来回答

5个回答

热心网友 时间:2023-11-01 20:26

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]);
}

已经运行通过!

热心网友 时间:2023-11-01 20:26

#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++ ) //去掉分号

热心网友 时间:2023-11-01 20:27

#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++) /* 去掉分号 */

热心网友 时间:2023-11-01 20:27

#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]);

}

}

热心网友 时间:2023-11-01 20:28

第七句
if('a'<=c[k] && c[k]<='z')

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com