c语言,输入一个字符串,计算某字符出现次数

#include<stdio.h>
这个为什么错??
#include<string.h>
main()
{
char a[100],x;
int i,k=0;
printf("输入字符串\n");
gets(a);
printf("输入查询字符:\n");
scanf("%c",x);
for(i=0;i<strlen(a);i++)
{
if(a[i]==x)
k++;
}
printf("出现次数为%d",k);
}

可以参考下面的代码:

#include <stdio.h>

#include <string.h>

voidmain()

{charc,s[80];inti,k=0;

gets(s);/*输入字符串*/

printf("Pleaseinputacharacter:");c=getchar();

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

{if(s[i]==c)

k++;

}

printf("%cisfound%dtimes",c,k);

}

C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

扩展资料:

C语言参考函数

C语言labs()函数:求整数的绝对值(针对long类型)

C语言isgraph()函数:判断一个字符是否是图形字符

C语言isdigit()函数:判断一个字符是否为数字

C语言iscntrl()函数:判断一个字符是否为控制字符

C语言isalpha()函数:判断一个字符是否是字母

C语言isalnum()函数:判断一个字符是否是字母或者数字

C语言frexp()函数:提取浮点数的尾数和指数部分

参考资料来源:百度百科-c语言

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-22
修改后:
#include<stdio.h>
#include<string.h>
void main()
{
char a[100],x;
int i,k=0;
printf("输入字符串\n");
gets(a);
printf("输入查询字符:\n");
scanf("%c",&x); // 增加 &

for(i=0;i<strlen(a);i++)
{
if(a[i]==x)
{
k++;
}
}
printf("出现次数为%d",k);
}本回答被提问者和网友采纳
第2个回答  2012-12-05
算法不错。就是语法错误。scanf("%c",x);这儿scanf("%c",&x);
第3个回答  2012-12-05
缺少取地址符:scanf("%c",x)改为scanf("%c",x)
第4个回答  2019-09-20
//输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。
#include
int
main(void)
{
char
ch;
int
a=0,b=0,c=0,d=0;
while((ch=getchar())!='\n')
{
if(ch>='a'&&ch<='z'||ch>='a'&&ch<='z')
a++;
else
if(ch>='0'&&ch<='9')
b++;
else
if(ch=='
')
c++;
else
d++;
}
printf("字母=%d\n数字=%d\n空格=%d\n其他字符=%d\n",a,b,c,d);
return
0;
}
相似回答