在C语言中编写一个程序,用于检查一个字符串是否包含任何特殊字符

在c语言中编写一个程序,用于检查一个字符串是否包含任何特殊字符

给定一个字符串 str[],任务是检查字符串是否包含任何特殊字符,如果字符串有特殊字符,则打印“字符串不被接受”,否则打印“字符串被接受”。

特殊字符是那些既不是数字也不是字母的字符,即 – !@#$%^&*()+=-][‘;/.,{}|:”?`~

因此,在C编程语言中,我们将使用if-else方法来解决问题。

输入 – str[] = {“tutorials-point”}

立即学习“C语言免费学习笔记(深入)”;

输出 – 字符串不被接受

输入 – str[] = {“tutorialspoint”}

输出 – 字符串被接受

以下是解决问题的方法:

遍历整个字符串。

查找特殊字符,如果字符串中存在特殊字符,则打印“字符串不被接受并中断”。否则,打印字符串被接受。

其他方法

如果我们在Java或任何其他支持正则表达式概念的语言中编码,那么我们将使用正则表达式来检查给定字符串中是否存在它们。这不仅是一种简单的方法,而且速度快。

算法

StartIn function int special_character(char str[], int n)   Step 1→ initialize i and flag and set flag as 0   Step 2→ Loop For i = 0 and i < n and ++i      If(str[i] == '!' || str[i] == '@' || str[i] == '#' || str[i] == '$'      || str[i] == '%' || str[i] == '^' || str[i] == '&' || str[i] == '*'      || str[i] == '(' || str[i] == ')' || str[i] == '-' || str[i] == '{'      || str[i] == '}' || str[i] == '[' || str[i] == ']' || str[i] == ':'      || str[i] == ';' || str[i] == '"' || str[i] == ''' || str[i] == '' || str[i] == '.' || str[i] == '/' || str[i] == '?'      || str[i] == '~' || str[i] == '`' then         Print "String is not allowed”            Set flag as 1         break   Step 3→ If flag == 0 then,      Print "string is accepted”In function int main(int argc, char const *argv[])   Step 1→ Declare and set str[] as {"Tutorials-point"}   Step 2→ set n as strlen(str)   Step 3→ special_character(str, n)Stop

示例

 实时演示

#include #include int special_character(char str[], int n){   int i, flag = 0;   for (i = 0; i < n; ++i){      //checking each character of the string for special character.      if(str[i] == '!' || str[i] == '@' || str[i] == '#' || str[i] == '$'      || str[i] == '%' || str[i] == '^' || str[i] == '&' || str[i] == '*'      || str[i] == '(' || str[i] == ')' || str[i] == '-' || str[i] == '{'      || str[i] == '}' || str[i] == '[' || str[i] == ']' || str[i] == ':'      || str[i] == ';' || str[i] == '"' || str[i] == ''' || str[i] == '' || str[i] == '.' || str[i] == '/' || str[i] == '?'      || str[i] == '~' || str[i] == '`' ){         printf("String is not allowed

"); flag = 1; break; } } //if there is no special charcter if (flag == 0){ printf("string is accepted

"); } return 0;}int main(int argc, char const *argv[]){ char str[] = {"Tutorials-point"}; int n = strlen(str); special_character(str, n); return 0;}

输出

如果运行上述代码,将生成以下输出−

String is not allowed

以上就是在C语言中编写一个程序,用于检查一个字符串是否包含任何特殊字符的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1444356.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月17日 21:25:14
下一篇 2025年12月9日 10:22:52

相关推荐

  • 在C/C++中,我什么时候可以使用前向声明?

    在 C++ 中,前向声明让声明后面的代码知道存在类名为“人”。当编译器看到这些名称的使用时,它会感到满意。后来的链接器将找到类的定义。 示例代码 Class Person;void myFunc(Person p1) { // …}Class Person { // Class definiti…

    2025年12月17日
    000
  • 在C语言中的随机密码生成器

    在本文中,我们将深入探讨与C编程中的字符串操作相关的一个有趣且实用的问题。我们将在C语言中构建一个“随机密码生成器”。这个问题不仅可以增强您对字符串操作的理解,还可以增加您对C标准库的知识。 问题陈述 任务是构建一个生成指定长度的随机密码的程序。密码应包含大小写字母、数字和特殊字符。 C 解决方案方…

    2025年12月17日
    000
  • C程序计算身体质量指数(BMI)

    给定一个人的体重和身高,任务是找到他的BMI即身体质量指数,并显示出来。 计算身体质量指数需要两个东西: 体重身高 可以使用下面的公式计算BMI: BMI = (质量或体重) / (身高*身高) 其中体重以千克为单位,身高以米为单位 示例 Input 1-: weight = 60.00 Heigh…

    2025年12月17日
    000
  • 查询字符串A中是否存在字符串B作为子字符串

    介绍 In this tutorial, we will see queries to check if string B exists as a substring of string A. A substring is a string that is part of the main stri…

    2025年12月17日
    000
  • 使用C语言检查输入的值是否为回文

    回文是指任何一个单词、数字、句子或其他字符序列,无论从前往后还是从后往前读都是一样的。 在这个编程中,我们尝试从控制台输入一个数字,并将该数字赋值给临时变量。 如果数字大于零,应用下面给出的逻辑: while(n>0){ r=n%10; sum=(sum*10)+r; n=n/10;} 如果t…

    2025年12月17日
    000
  • 如何使用C语言打印出菱形图案中的星星?

    在这里,为了以菱形图案打印星星,我们使用嵌套的 for 循环。 我们用于以菱形图案打印星星的逻辑如下所示 – //For upper half of the diamond the logic is:for (j = 1; j <= rows; j++){ for (i = 1; …

    2025年12月17日
    000
  • 在C++中,计算两点之间的整数点数量

    在本教程中,我们将编写一个程序,用于找到给定两个点之间的整数点的数量。 两个给定点之间的点的数量将是gcd(abs(x2), abs(y1-y2)) – 1。 如果连接线与x轴平行,则整数点的数量将是abs(y1 – y2) – 1。 如果连接线与y轴平行,则整数…

    2025年12月17日
    000
  • 在C语言中,什么是标识符?

    标识符用于程序中的任何变量、函数、数据定义、标签等。 在开始任何语言之前,您至少必须知道如何命名标识符。 在C语言中,标识符是字母数字字符的组合,即首先以字母或下划线开头,其余为字母、任意数字或下划线。标识符命名规则 标识符命名必须遵循的规则如下 – 字母字符的大小写是重要的。例如,对变…

    2025年12月17日
    000
  • 在C语言中,将以下内容翻译为中文:0-1背包问题

    背包是一个袋子。而背包问题涉及根据物品的价值将物品放入袋子中。它的目标是最大化袋子内的价值。在0-1背包中,您可以选择放入物品或丢弃它,没有将物品的一部分放入背包的概念。 示例问题 Value of items = {20, 25,40}Weights of items = {25, 20, 30}…

    2025年12月17日
    000
  • 在C++中,使用O(1)额外空间重新排列数组,使正负项交替出现

    我们得到一个包含正数和负数的整数类型数组,比方说,任意给定大小的 arr[] 。任务是重新排列一个数组,使得正数被负数包围。如果有更多的积极和负数将被排列在数组的末尾。 让我们看看不同的输入输出情况 − 输入 − int arr[] = {-1, -2, -3, 1, 2, 3} 输出 − 排列前的…

    2025年12月17日
    000
  • 解释C语言中变量的生命周期

    存储类指定变量的范围、生命周期和绑定。 要完整定义变量,不仅需要提及其“类型”,还需要提及其存储类。 变量名称标识计算机内存中的某个物理位置,其中分配了一组位来存储变量的值。 存储类别告诉我们以下因素 – 变量存储在哪里(内存或CPU寄存器中)?如果没有初始化,变量的初始值是多少? 变量…

    2025年12月17日
    000
  • 使用STL实现给定字符串的C++全排列

    当给定字符串的字符以任意形式重新排列时,就形成了字符串的排列。例如,在本教程中,我们将讨论如何使用 C++ 的标准模板库打印给定字符串的所有排列 Input : s = “ADT”Output : “ADT”, “ATD”, &…

    2025年12月17日
    000
  • 在C语言中编写一个打印正方形内嵌正方形的程序

    程序描述 按照下面所示的方式打印一个正方形内的另一个正方形 算法 Accept the number of rows the outer Square to be drawnDisplay the Outer Square with the number of rows specified by t…

    2025年12月17日
    000
  • C程序打印空心金字塔和菱形图案

    在这里我们将看到如何使用C语言生成空心金字塔和菱形图案。我们可以很容易地生成实心金字塔图案。要使其成为空心,我们需要添加一些小技巧。 空心金字塔 对于第一行的金字塔,它将打印一个星号,并在最后一行打印n个星号。对于其他行,它将在行的开头和结尾分别打印两个星号,并在这两个星号之间有一些空格。 示例代码…

    2025年12月17日
    000
  • C语言中的字符串字面值是什么?

    字符串文字是一个以零结尾的字符序列。例如, Char * str = “hi, hello”; /* string literal */ 字符串字面量用于初始化数组。 char a1[] = “xyz”; /* a1 is char[4] holding {‘x’,’y’,’z’,”} */cha…

    2025年12月17日
    000
  • 如何使用C语言将二进制转换为十六进制?

    二进制数以 1 和 0 表示。 16 位的十六进制数系统为 {0,1,2,3…..9, A(10), B(11),… …F(15)} 为了从二进制表示转换为十六进制表示,位串 id 被分组为 4 位块,从最低有效侧开始称为半字节。每个块都替换为相应的十六进制数字。 让我们看一个示例,以清楚地了解十六…

    2025年12月17日
    000
  • 在C++中实现strtok()函数

    strtok()函数是C++中最常用的函数之一。使用分隔符作为指导,该函数可以将文本分割成较小的块或标记。由于strtok()函数的存在,使用字符串在C++中变得简单。本文将对strtok()函数进行详细的讲解,包括其定义、语法、算法和各种实现策略。需要记住的是,strtok函数有一些限制和潜在的缺…

    2025年12月17日
    000
  • 使用C++找到图中的汇节点的数量

    在本文中,我们将描述解决图中汇节点数量的重要信息。在这个问题中,我们有一个有 N 个节点(1 到 N)和 M 个边的有向无环图。目标是找出给定图中有多少个汇节点。汇聚节点是不产生任何传出边的节点。这是一个简单的例子 – Input : n = 4, m = 2Edges[] = {{2,…

    2025年12月17日
    000
  • 使用C++移除给定数字中的重复数字

    在本文中,我们给出了一个数字 n,我们需要删除给定数字中的重复数字。 Input: x = 12224Output: 124Input: x = 124422Output: 1242Input: x = 11332Output: 132 在给定的问题中,我们将遍历所有数字并删除重复的数字。 寻找解决…

    2025年12月17日
    000
  • 如何在C语言中将数组中的单个元素作为参数传递给函数?

    如果要将单个元素作为参数传递,则在函数调用中必须给出数组元素及其下标。 为了接收这些元素,在函数定义中使用简单变量。 示例1 #includemain (){ void display (int, int); int a[5], i; clrscr(); printf (“enter 5…

    2025年12月17日
    000

发表回复

登录后才能评论
关注微信