2016.06.06 周一 C语言 将字符串根据字符的ASCII码从大到小排序并打印出字符串中的字符类型的总数

第一次变量冲突问题 解决了一个多小时,。。。。

代码如下: ↓

#include<stdio.h>
#include<string.h>
#define N 200   //输入字符串的最大长度
int main()
{

//************************输入开始部分********************************
    printf("请输入字符串。(长度在200以内)\n\n");
    int i=0,j,k,temp,lowLetters=0,capLetters=0,num=0,speChar=0;  //定义计数变量
    char str1[N],str2[N];
    gets(str1);    //接收键盘输入的字符串传递给str1数组

//***********************排序部分************************************
    strcpy(str2,str1);
    for(k=0;k<strlen(str2);k++)
        for(j=k+1;j<strlen(str2);j++)
        {
            if(str2[j]>str2[k])
            {
            temp=str2[k];
            str2[k]=str2[j];
            str2[j]=temp;
            }
        }

//************************判断类型部分*****************************
    while(str1[i])
        {
            if(str1[i]>=‘a‘&&str1[i]<=‘z‘)
                {
                    printf("\t%c\t是小写字母\n",str1[i]);
                    lowLetters++;
                }
            else if(str1[i]>=‘A‘&&str1[i]<=‘Z‘)
                {
                    printf("\t%c\t为大写字母\n",str1[i]);
                    capLetters++;
                }
            else if(str1[i]>=‘0‘&&str1[i]<=‘9‘)
                {
                    printf("\t%c\t为数字\n",str1[i]);
                    num++;
                }
            else if(str1[i]<=127)
                {
                    printf("\t%c\t为特殊字符\n",str1[i]);
                    speChar++;
                }
            i++;
        }

//***********************************统计总数部分**********************************
    printf("\n\n\t\t按照ASCII码从大到小排列后的字符串为: %s\n",str2);
    printf("\n\n\t\t字符串长度为 %d \n",strlen(str1));
    printf("\t\t大写字母共有 %d 个\n",capLetters);
    printf("\t\t小写字母共有 %d 个\n",lowLetters);
    printf("\t\t特殊字符共有 %d 个\n",speChar);
    printf("\t\t数字共有 %d 个\n",num);
return 0;
}
时间: 2024-10-13 05:35:42

2016.06.06 周一 C语言 将字符串根据字符的ASCII码从大到小排序并打印出字符串中的字符类型的总数的相关文章

求中英文混合字符串长度,中英文混合字符串截取(汉字2个字节,字母数字等1个字节),字符转ASCII码

/// <summary> /// 求字符串的实际长度(汉字2个字节,外语字符1个字节) /// </summary> /// <param name="str"></param> /// <returns></returns> public static int Length(string str) { int len = 0; char[] arr = str.ToCharArray(); for (int i

C语言字符转换ASCII码

//函 数 名:CharToHex()//功能描述:把ASCII字符转换为16进制//函数说明://调用函数://全局变量://输    入:ASCII字符//返    回:16进制/////////////////////////////////////////////////////////////////////unsigned char CharToHex(unsigned char bHex){    if((bHex>=0)&&(bHex<=9))        b

输入5个学生的名字(英文),使用冒泡排序按从大到小排序。 提示:涉及到字符串数组,一个字符串是一个一维字符数组;一个 字符串数组就是一个二维字符数组。

#include <stdio.h>#include <string.h> /*输入5个学生的名字(英文),使用冒泡排序按从大到小排序.提示:涉及到字符串数组,一个字符串是一个一维字符数组:一个字符串数组就是一个二维字符数组.*/ void main(){ char stuNames[5][100]; char tmp[100]; int i = 0,j = 0; for(i = 0; i < 5; i++) { printf("请输入第%d个学生的名字:"

二级 长度为7的字符串除首位外其余五个字符按ascii码进行排序

//编写程序函数的功能为,对长度为7的字符串除首位外其余五个字符按ascii码进行排序 void fun(char *s,int num) { char t; int i,j; for(i=1;i<num-2;i++) for(j=i+1;j<num-1;j++) { if(s[i]<s[j]) { t=s[i]; s[i]=s[j]; s[j]=t; } } }

使用shell统计字符串出现的次数,并从大到小进行排序显示

需求说明:对文档中的字符串进行统计,并进行排序后(从大到小),显示出前2条记录 构造的test.txt内容如下: a 12332 a 2323 a 234234 b 232 c 23432 c 34 统计并排序的方法: [[email protected] ~]$ awk '{a[$1]++} END {for(i in a){print i,a[i] | "sort -r -k 2"}}' test.txt > r.txt 执行结果: a 3 c 2 b 1 打印前两条记录的方

NSlog的%@是如何打印出字符串信息的

在OC中,我们通过NSlog打印的时候往往使用: NSlog(@"%@",myIPhone); 打印的结果,往往是我们所需要的一些信息, 但是%@其实本质只是取到一个地址. 我们先建一个Iphone类,声明如下的成员变量. @public float _cpu;  //描述cpu功能的变量 float _ram;  //描述内存功能的变量 IPColor _color;  // 描述颜色的变量 IPSize  _size;   // 描述尺寸的变量 声明一个方法,在m文件中实现 - (

在云平台上基于Go语言+Google图表API提供二维码生成应用

二维码能够说已经深深的融入了我们的生活其中.到处可见它的身影:但通常我们都是去扫二维码, 曾经我们分享给朋友一个网址直接把Url发过去,如今我们能够把自己的信息生成二维码再分享给他人. 这里就分享一下基于Go语言+Google图表API提供二维码生成功能的小应用,并演示怎样把它公布到云平台上, 让每一个人都能够通过网络訪问使用它. Google图表API Google在http://chart.apis.google.com 上提供了一个将表单数据自己主动转换为图表的服务. 只是,该服务非常难交

小数据池 (常量池 -&gt; 字符串缓存) is和==的区别 重新看编码 以及编码之间相互转化

?. 小数据池 在说小数据池之前. 我们先看一个概念念. 什么是代码块: 根据提示我们从官?方?文档找到了这样的说法: A Python program is constructed from code blocks. A block is a piece of Python program text that is executed as a unit. The following are blocks: a module, a function body, and a class defin

字符串ASCII码排序

在对接第三方支付渠道的时候,第三方会要求参数按照ASCII码从小到大排序. 如下是渠道方有关生成签名规则的java代码示例: //初始化0010merkey.private文件: String merchantprivatekey; merchantprivatekey=PayCfg.getValue("0010merchantprivatekey"); // 将要签名的数据传给map TreeMap map = new TreeMap(); StringBuffer sbf = ne