用shell脚本和c语言将大写字母转成小写的代码

代码如下:

#!/bin/bash
#name: upper_to_lower.sh
#the function is trun uper to lower
#like ABCd to abcd

haveuppernumber()
{
    #test if the string have upper number
    str="$(echo $1 | tr '[:upper:]' '[:lower:]')"
    if [ "$str" != $1 ] ; then #get some problem
        echo "[#have upper number,and i well trun them to lower:#]"
        return 1 #have upper number
    else
        return 0 #no upper number
    fi
}

if [ $# -ne 1 ] ; then
    echo "Usage: $0 <string>" >&2
    exit 1
fi

if ! haveuppernumber $1 ; then #when if is 0 it run?
#if [ 0 ] ; then #in shell true return 0 ,false return 1
    echo $1 | tr '[:upper:]' '[:lower:]' #it can turn the UPPER number to lower
#    echo $1 | tr '[:lower:]' '[:upper:]' #it can turn the lower number to UPPER
else
    echo "[#no upper number:#]"
    echo $1
fi

exit 0

功能说明:当输入”./upper_to_lower.sh AaBbCcdd“时会先判断输入格式是否正确,然后判断字符串中是否有大写字母如果有显示"[#have upper number,and i well trun them to lower:#]"和转换成小写字母后的字符串;如果没有大写字母显示"[#no upper number:#]"和小写字符串。

然后又试着用c语言实现相同的功能,如下:

代码如下:

#include<stdio.h>
#include<stdlib.h>

int haveuppernumber(char *p)
{
    char*q=p;

for(;*q!='\0';q++)
    {
        if(*q>='A'&&*q<='Z')
        {
            printf("[#have upper number and i will turn them to lower #]\n");
            return 1;
        }
    }
    printf("[#no upper number#]\n");
    return 0;
}
void turntolower(char *p)
{
    for(;*p != '\0';p++)
    {
        if(*p>='A' && *p<='Z')
        {
            *p+=' ';
        }
    }
}

int main(int argc , char *argv[])
{
    char *p;
    p=argv[1];

if(argc != 2)
    {
        printf("Usage : %s <string>\n",argv[0]);
        exit(-1);
    }
    if(haveuppernumber(p))
    {
        turntolower(p);
        printf("%s\n",argv[1]);
    }
    else
    {
        printf("%s\n",argv[1]);
    }
    return 0;
}

(0)

相关推荐

  • C语言实现字母大小写转换的方法

    本文实例讲述了C语言实现字母大小写转换的方法.分享给大家供大家参考.具体实现方法如下: /* * 将大写字母转换为小写字母 */ #include <stdio.h> int lower(int c) { return ((c>='A')&&(c<='z'))?(c+'a'-'A'):(c); } main() { int i; char a[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; for(i=0;i<26;i++)

  • C语言中对字母进行大小写转换的简单方法

    C语言tolower()函数:将大写字母转换为小写字母 头文件: #include <ctype.h> 定义函数: int toupper(int c); 函数说明:若参数 c 为小写字母则将该对应的大写字母返回. 返回值:返回转换后的大写字母,若不须转换则将参数c 值返回. 范例:将s 字符串内的小写字母转换成大写字母. #include <ctype.h> main(){ char s[] = "aBcDeFgH12345;!#$"; int i; prin

  • c语言将字符串中的小写字母转换成大写字母

    描述 给定一个字符串,将其中所有的小写字母转换成大写字母. 输入 输入一行,包含一个字符串(长度不超过100,可能包含空格). 输出 输出转换后的字符串. 样例输入 helloworld123Ha 样例输出 HELLOWORLD123HA #include<iostream> #include<cstdio> #include<cstring> using namespace std; char a[100001]; char ans[1001]; int now; i

  • 用shell脚本和c语言将大写字母转成小写的代码

    复制代码 代码如下: #!/bin/bash#name: upper_to_lower.sh#the function is trun uper to lower #like ABCd to abcd haveuppernumber(){    #test if the string have upper number    str="$(echo $1 | tr '[:upper:]' '[:lower:]')"    if [ "$str" != $1 ] ;

  • C语言 字符串首字母转换成大写简单实例

    C语言 字符串首字母转换成大写简单实例 举例: 输入:this is a book 返回:This Is A Book #include<stdio.h> #include<stdlib.h> #include<string.h> int main() { char input[]="this is a book"; char output[256]={'\0'}; int i,len; len=strlen(input); printf("

  • Shell脚本实现C语言代码行数统计

    写了一个比较粗糙的C语言代码行数统计脚本,目前还有些bug,而且效率也不高.脚本主要就是去除大部分的注释后统计行数,相当于做了一部分预处理的工作.下面是代码: #!/bin/bash filename=$1 echo "`whoami`" if [ $# -lt 1 ];then echo "usage : ./scripts filename" exit -1 fi if [ ! -f $filename ];then echo "$filename i

  • shell脚本函数:控制颜色、定位、居中显示的代码

    一.控制颜色 代码: 复制代码 代码如下: #!/bin/sh function colour (){  case $1 in    black_green)       echo -e '\033[40;32m' black_yellow)       echo -e '\033[40;33m' black_white)       echo -e '\033[40;37m' black_cyan)       echo -e '\033[40;36m' black_red)       ec

  • php 将字符串按大写字母分隔成字符串数组

    alert("createTechBook".split(/(?=[A-Z])/)) 谢了啊 复制代码 代码如下: <?php $str="abcDefGhi"; /* preg_match_all("/([a-zA-Z]{1}[a-z]*)?[^A-Z]/",$str,$array); */ $array=preg_split("/(?=[A-Z])/",$str); print_r($array); ?> 复制

  • 什么是Shell?Shell脚本基础知识详细介绍

    Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁.Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解释和执行用户输入的命令:作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支. 它虽然不是Linux系统核心的一部分,但它调用了系统核心的大部分功能来执行程序.建立文件并以并行的方式协调各个程序的运行.因此,对于用户来说,shell是最重要的实用程序,深入了解和熟练掌握shell的特性极其使用方法,是用好L

  • shell脚本传参中包含有空格的参数

    目录 问题描述 原因分析 解决方案 拓展 传递给函数的某个参数含有空格 问题描述 调用并传参数给其他shell脚本,传的参数带有空格,被调用的shell脚本只取了这个参数的第一个单词. 代码如下 # 传参脚本 test_pre.sh [wqf@b1i10 test]$ cat test_pre.sh binFilePath="/apps/test" logpath="/apps/test" std_time="2023-01-31 18:00:00&quo

  • 如何短时间内学好一门语言 shell脚本语言为例

    这里我分享的是学习计算机shell脚本语言的方法,可能你不是在软件行业,但我建议也看看,因为我并没有讲什么技术细节,主要分享的是提炼出的通用性方法,这是对学习任何东西都是有用的. 当然,如果你好奇心足够强的话,建议也可以按照下面的方法来尝试一下,因为科学家已经预测:以后的世界就是一个软件定义的世界,机器人和人工智能会非常普及,而支持它们运行的除了我们看得见的硬件,最关键的就是里面的软件. 所以,学会编程以后就不仅仅只是软件从业人员需要掌握的技能,任何人都可以掌握它,既可以用它来不断提高工作效率,

  • 将PHP作为Shell脚本语言使用

    我们都知道,PHP是一种非常好的动态网页开发语言(速度飞快,开发周期短--).但是只有很少数的人意识到PHP也可以很好的作为编写Shell脚本的语言,当PHP作为编写Shell脚本的语言时,他并没有Perl或者Bash那么强大,但是他却有着很好的优势,特别是对于我这种熟悉PHP但是不怎么熟悉Perl的人. 要使用PHP作为Shell脚本语言,你必须将PHP作为二进制的CGI编译,而不是Apache模式:编译成为二进制CGI模式运行的PHP有一些安全性的问题,关于解决的方法可以参见PHP手册(ht

随机推荐