c语言,输入一个字符串,计算某字符出现次数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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语言
参考技术A //输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。#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;
参考技术B 修改后:
#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);
本回答被提问者和网友采纳 参考技术C 算法不错。就是语法错误。scanf("%c",x);这儿scanf("%c",&x); 参考技术D 缺少取地址符:scanf("%c",x)改为scanf("%c",x)
Java 数据结构及算法实战系列 016:HJ2 计算某字符出现次数
描述
写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字母,然后输出输入字符串中该字母的出现次数。不区分大小写,字符串长度小于500。
输入描述:
第一行输入一个由字母和数字以及空格组成的字符串,第二行输入一个字母。
输出描述:
输出输入字符串中含有该字符的个数。
解法
该题型主要是考察字符串、哈希的操作。解法步骤如下
- 输入一行,代表要计算的字符串,非空,长度小于500。
- 输入的字符串转为小写
- 构造一个哈希结构,key为字符,值为该字符的个数
- 对输入字符串进行遍历,将每遍历一个字符,就将该字符记录到哈希中
- 再输入一行,代表要统计的字符。
- 输入的字符转为小写。
- 从哈希结构取出指定字符的值
- 输出一个整数,表示输入字符串中含有该字符的个数。
/* * Copyright (c) waylau.com, 2022. All rights reserved. */ package com.waylau.nowcoder.exam.oj.huawei; import java.util.HashMap; import java.util.Map; import java.util.Scanner; /** * HJ2 计算某字符出现次数. 描述:写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符, * 然后输出输入字符串中该字符的出现次数。(不区分大小写字母) 数据范围: 1≤n≤1000 * 输入描述:第一行输入一个由字母和数字以及空格组成的字符串,第二行输入一个字符。 输出描述:输出输入字符串中含有该字符的个数。(不区分大小写字母) * * @author <a href="https://waylau.com">Way Lau</a> * @since 2022-08-05 */ public class HJ2CountsTheNumberOfCharacters public static void main(String[] args) // 输入一行,代表要计算的字符串,非空,长度小于5000。 Scanner sc = new Scanner(System.in); // 全部转为小写 String in = sc.nextLine().toLowerCase(); // 构造一个哈希结构,key为字符,值为该字符的个数 Map<Character, Integer> map = new HashMap<>(); // 对输入字符串进行遍历,将每遍历一个字符,就将该字符记录到哈希中 for (int i = 0; i < in.length(); i++) char c = in.charAt(i); // 之前就记过,就累加个数;否则就记1 Integer count = map.get(c); if (count != null) count++; else count = 1; map.put(c, count); // 再输入一行,代表要统计的字符。 // 从哈希结构取出指定字符的值 char charIn = sc.nextLine().toLowerCase().charAt(0); // 输出一个整数,表示输入字符串中含有该字符的个数。 System.out.println(map.get(charIn) == null ? 0 : map.get(charIn)); // 关闭资源 sc.close();
运行应用输出如下:
hello world
o
2
参考引用
- 本系列归档至GitHub - waylau/nowcoder-exam-oj: nowcoder-exam-oj 牛客题霸-在线编程 题库题解
- 《Java 数据结构及算法实战》:https://github.com/waylau/java-data-structures-and-algorithms-in-action
- 《数据结构和算法基础(Java 语言实现)》(柳伟卫著,北京大学出版社出版):《数据结构和算法基础(Java语言实现)》(柳伟卫)【摘要 书评 试读】- 京东图书
以上是关于c语言,输入一个字符串,计算某字符出现次数的主要内容,如果未能解决你的问题,请参考以下文章
急求。。。C语言实现,计算字符串中子串出现的次数,就是先输入一个字符串,再输入一个上面字符串中存在