精华内容
下载资源
问答
  • C语言统计字符串各字符个数

    千次阅读 2015-03-28 21:16:01
    题目:输入一行字符,分别统计出其中的英文大小写字母、空格、数字和其它字符的个数。

    题目:输入一行字符,分别统计出其中的英文大小写字母、空格、数字和其它字符的个数。

    #include <string.h>
    #include <stdio.h>
    
    int main()
    {
        int i,length=0,daxie=0,xiaoxie=0,kongge=0,shuzi=0,qita=0;
        char arr[30];
        gets(arr);
        length = strlen(arr);
        //printf("%d\n",length);
        //printf("%s\n",arr);
        for(i=0; i<length; i++)
        {
            if(arr[i]==32)//空格判断
                kongge++;
            else
            {
                if(64<arr[i]&&arr[i]<91)//大写判断
                    daxie++;
                else
                {
                    if(96<arr[i]&&arr[i]<123)//小写判断
                        xiaoxie++;
                    else if(47<arr[i]&&arr[i]<58)//数字判断
                        shuzi++;
                    else
                        qita++;
                }
            }
        }
        printf("大写个数:%d\n",daxie);
        printf("小写个数:%d\n",xiaoxie);
        printf("数字个数:%d\n",shuzi);
        printf("空格个数:%d\n",kongge);
        printf("其他个数:%d\n",qita);
    
        return 0;
    }
    


    展开全文
  • //统计数字,英文大,小写,空格,其他字符。 int main( ) { int n = 0,bc = 0,sc = 0,k = 0,o = 0,x = 0;//计数器 char a[80];//80内的字符 int i; printf("请输入80个字符以内的文本:\n"); gets(a); for...

    水平拙劣,望各位留下宝贵意见多多指教

    #include<stdio.h>
    #include<conio.h>
    //统计数字,英文大,小写,空格,其他字符。
    int main( )
    {   
        int n = 0,bc = 0,sc = 0,k = 0,o = 0,x = 0;//计数器
        char a[80];//80个内的字符
        int i;
        printf("请输入80个字符以内的文本:\n");
        gets(a);
        for ( i = 0; a[i] != '\0'; i++)
        {
            if ( (int)a[i] > 32 && (int)a[i] <= 47 \//判断特殊字符
                ||(int)a[i] >= 58 && (int)a[i] <= 64\
                ||(int)a[i] >= 91 && (int)a[i] <= 96\
                ||(int)a[i] >= 123 && (int)a[i] <= 126)
                {
                    o++;
                }
                else if ((int)a[i] >= 65 && (int)a[i] <= 90 )//判断大写字母
                {
                    bc++;
                }
                else if ((int)a[i] >= 97 && (int)a[i] <= 122 )//判断小写字母
                {
                    sc++;
                }
                else if ((int)a[i] >= 48 && (int)a[i] <= 57 )//判断数字
                {
                    n++;
                }
                else if ((int)a[i] == 32)//判断空格
                {
                    k++;
                }
                else//除此以外的就是中文字符了,中文字符 占2字节,所以输出要除以2
                {
                    x++;
                }       
        }
        printf("数字有%d个\n大写字母有%d个\n小写字母有%d个\n特殊符号有%d个,\n空格有%d个,\n中文字符有%d个",n,bc,sc,o,k,(x/2)); 
        getch();
        return 0;
    }
    
    展开全文
  • C语言统计一个文件中大写字符、小写字符、数字个数 “Project15122.exe”: 已加载“C:\Windows\System32\sechost.dll”,已加载符号(去除源信息)。 “Project15122.exe”: 已加载“C:\Windows\System32\rpcrt4....

    C语言:统计一个文件中大写字符、小写字符、数字个数

    在这里插入图片描述
    “Project15122.exe”: 已加载“C:\Windows\System32\sechost.dll”,已加载符号(去除源信息)。
    “Project15122.exe”: 已加载“C:\Windows\System32\rpcrt4.dll”,已加载符号(去除源信息)。
    “Project15122.exe”: 已加载“C:\Windows\System32\cryptbase.dll”,已加载符号(去除源信息)。
    “Project15122.exe”: 已加载“C:\Windows\System32\bcryptprimitives.dll”,已加载符号(去除源信息)。
    线程 ‘Win64 线程’ (0x3674) 已退出,返回值为 0 (0x0)。
    线程 ‘Win64 线程’ (0x206c) 已退出,返回值为 0 (0x0)。
    线程 ‘Win64 线程’ (0x3264) 已退出,返回值为 0 (0x0)。
    “Project15122.exe”: 已加载“C:\Windows\System32\kernel.appcore.dll”,已加载符号(去除源信息)。
    程序“[10208] Project15122.exe: 本机”已退出,返回值为 0 (0x0)。

    代码如下:

    #include <iostream>
    #include <fstream>
    using namespace std;
    void chapterstatistic()
    {
    	printf_s("统计文件开始\r\n");
    	char *path = "E:\\VS2015\\shujuji\\shuju_SVM\\SAVE_wine.txt";
    	FILE *f;
    	int r = fopen_s(&f, path, "r");
    	if (r>0)
    	{
    		printf_s("读取文件错误");
    	}
    	int capletter = 0, lowercase = 0, num = 0, other = 0;
    	char temp = fgetc(f);
    	while (!feof(f))
    	{
    		if (temp >= 'a' && temp <= 'z')
    		{
    			lowercase++;
    		}
    		else if (temp >= 'A' && temp <= 'Z')
    		{
    			capletter++;
    		}
    		else if (temp >= '0' && temp <= '9')
    		{
    			num++;
    		}
    		else
    		{
    			other++;
    		}
    		temp = fgetc(f);
    	}
    	printf_s("大写字符:%d  小写字符个数:%d  数字个数:%d   其他字符个数:%d", capletter, lowercase, num, other);
    
    	fclose(f);
    	printf_s("统计文件结束\r\n");
    }
    
    int main()
    {
    	chapterstatistic();
    	system("pause");
    
    }
    

    效果如图:
    在这里插入图片描述
    另外的,附上数字大小写数值金额统计自定义处理DIY

    int csdsdd()
    {
    	int money;
    	int i = 0;
    	int count = 0;//记录用户输入数字位数
    	int money_s[N];
    	int temp = 0;//临时存放变量
    	char num[10][4] = { "零","壹","贰","叁","肆","伍","陆","柒","捌","玖" };
    	char unit[6][8] = { "拾万","万","仟","佰","拾","元整" };
    	//一个中文占4个字节
    
    	printf("请输入整数为6位及以内的金额(小数点后忽略不计):\n");
    	for (;;)
    	{
    		scanf("%d", &money);
    		if (money / 1000000 >= 1)
    		{
    			printf("输入有误!\n");
    		}
    		else { break; }
    	}
    	printf("您输入的金额为:%d。\n", money);
    	for (i = 0; i<10; i++)//测试num数组正确性
    	{
    		printf("num数组第%d位为:%s\n", i + 1, num[i]);
    	}
    	for (i = 0; i<6; i++)//测试unit数组正确性
    	{
    		printf("数组第%d位为:%s\n", i + 1, unit[i]);
    	}
    	for (i = 0; i<N; i++)//取出用户每一位数字
    	{
    		money_s[i] = money % 10;
    		money /= 10;
    		count++;
    		if (money == 0)
    		{
    			break;
    		};
    	}
    	for (i = 0; i<count; i++)//打印数组中用户每一位数字
    	{
    		printf("%d\n", money_s[count - i - 1]);
    	};
    	printf("\n");
    	for (i = 0; i<count; i++)
    	{
    		temp = money_s[count - i - 1];
    		printf("%s\t", num[temp]);
    		printf("%s\t", unit[6 - count + i]);
    		temp = 0;
    	}
    	return 0;
    }
    
    

    在这里插入图片描述
    整体效果如图:
    在这里插入图片描述
    全部代码运行如下:

    #include <iostream>
    #include <fstream>
    using namespace std;
    #include <stdio.h>
    #include <stdlib.h>
    #define N 6
    
    void chapterstatistic()
    {
    	printf_s("统计文件开始\r\n");
    	char *path = "E:\\VS2015\\shujuji\\shuju_SVM\\save_data_1V.txt";
    	FILE *f;
    	int r = fopen_s(&f, path, "r");
    	if (r>0)
    	{
    		printf_s("读取文件错误");
    	}
    	int capletter = 0, lowercase = 0, num = 0, other = 0;
    	char temp = fgetc(f);
    	while (!feof(f))
    	{
    		if (temp >= 'a' && temp <= 'z')
    		{
    			lowercase++;
    		}
    		else if (temp >= 'A' && temp <= 'Z')
    		{
    			capletter++;
    		}
    		else if (temp >= '0' && temp <= '9')
    		{
    			num++;
    		}
    		else
    		{
    			other++;
    		}
    		temp = fgetc(f);
    	}
    	printf_s("大写字符:%d  小写字符个数:%d  数字个数:%d   其他字符个数:%d", capletter, lowercase, num, other);
    
    	fclose(f);
    	printf_s("统计文件结束\r\n");
    }
    
    int csdsdd()
    {
    	int money;
    	int i = 0;
    	int count = 0;//记录用户输入数字位数
    	int money_s[N];
    	int temp = 0;//临时存放变量
    	char num[10][4] = { "零","壹","贰","叁","肆","伍","陆","柒","捌","玖" };
    	char unit[6][8] = { "拾万","万","仟","佰","拾","元整" };
    	//一个中文占4个字节
    
    	printf("请输入整数为6位及以内的金额(小数点后忽略不计):\n");
    	for (;;)
    	{
    		scanf("%d", &money);
    		if (money / 1000000 >= 1)
    		{
    			printf("输入有误!\n");
    		}
    		else { break; }
    	}
    	printf("您输入的金额为:%d。\n", money);
    	for (i = 0; i<10; i++)//测试num数组正确性
    	{
    		printf("num数组第%d位为:%s\n", i + 1, num[i]);
    	}
    	for (i = 0; i<6; i++)//测试unit数组正确性
    	{
    		printf("数组第%d位为:%s\n", i + 1, unit[i]);
    	}
    	for (i = 0; i<N; i++)//取出用户每一位数字
    	{
    		money_s[i] = money % 10;
    		money /= 10;
    		count++;
    		if (money == 0)
    		{
    			break;
    		};
    	}
    	for (i = 0; i<count; i++)//打印数组中用户每一位数字
    	{
    		printf("%d\n", money_s[count - i - 1]);
    	};
    	printf("\n");
    	for (i = 0; i<count; i++)
    	{
    		temp = money_s[count - i - 1];
    		printf("%s\t", num[temp]);
    		printf("%s\t", unit[6 - count + i]);
    		temp = 0;
    	}
    	return 0;
    }
    
    int main()
    {
    	chapterstatistic();
    	csdsdd();
    	system("pause");
    
    }
    
    展开全文
  • C语言题目:一篇文本,共三行,每行80个字符,分别统计其中的大小写字母、数字、空格以及其他字符个数 //有多种做法,笔者只列出一种,仅供参考 #include <stdio.h> int main() { char str[3][80] = {};//...

    C语言题目:一篇文本,共三行,每行80个字符,分别统计其中的大小写字母、数字、空格以及其他字符个数

    //有多种做法,笔者只列出一种,仅供参考
    
    #include <stdio.h>
    
    int main()
    {
    	char str[3][80] = {};//初始化数组
    	printf("输入文本:\n");
    	int i,j,cnt1 = 0,cnt2 = 0,cnt3 = 0,cnt4 = 0,cnt5 = 0;
    	
    	//可以直接在定义数组的时候定义文本内容,这样就可以省略下列循环步骤 
    	for(i = 0;i < 3;i++)
    	{
    		//采用gets目的是为了输入空格 
    		gets(str[i]);
    	}
    	
    	//第一种方法,遍历数组寻找(也可以采用字符串函数,直接调用得出结果) 
    	for(i = 0;i < 3;i++)
    	{
    		for(j = 0;j < 80;j++)
    		{
    			//英文大写 
    			if(str[i][j] <= 'Z' && str[i][j] >= 'A')	cnt1++;
    			//英文小写 
    			else if(str[i][j] <= 'z' && str[i][j] >= 'a')	cnt2++;
    			//数字
    			else if(str[i][j] <= '9' && str[i][j] >= '0')	cnt3++;
    			//空格  注意是 == 
    			else if(str[i][j] == ' ') cnt4++;
    			//其他字符 
    			else cnt5++;
    		}
    	} 
    	//打印结果 
    	printf("大写字母:%d\n小写字母:%d\n数字:%d\n空格:%d\n其他字符:%d\n",cnt1,cnt2,cnt3,cnt4,cnt5);
    }
    
    展开全文
  • 用户输入一行字符(以回车符作为结束),请统计这行字符中,大小写字母个数、数字字符个数、空格个数和其它字符个数。 输入格式: 一行字符,以回车符作为结束。 输出格式: 输出4个以空格作为间隔的整数,分别代表...
  • 题目:统计字符串中每个英文字符出现的个数,不区分大小写 思路: 控制台任意输入字符串,进行判断每个字符个数 首先判断是否是英文字符(使用头文件<ctype.h>中的isalpha),再转换为小写 参考链接:...
  • 我曾经在Linux上的一C程序,借助Lex做词法分析来同时统计N文本文件的字符数,单词和行数。让我觉得Lex确实挺有意思的。确实Lex的功能非常强大,用来做小巧的词法分析非常适合,也非常好用。这程序参考了...
  • C语言 统计单词个数

    万次阅读 2011-12-10 00:53:43
    写一程序统计单词(不区分大小写)在文章中出现的次数(单词指一英文单词,全部由小写英文字母组成。单词的前后必须是符号字符或空字符)。 输入: 第一行是一些句子,表示一篇文章。(文章的长度不超过...
  • 供初学者练习和参考...1.统计一篇文章中的字符个数 #include <stdio.h> int main() { int i,j,a,b,c,d,e; a=b=c=d=e=0; char text[3][80]; for(i=0;i<3;i++) { printf("请输入第%d行字符串:\n",i...
  • 输入一英文句子,把句子中的单词(不区分大小写)按出现次数按从多到少把单词和次数在屏幕上输出来,要求能识别英文句号和逗号,即是说单词由空格、句号和逗号隔开。 输入描述: 输入有若干行,总计不超过1000...
  • 用指针编写一程序,输入字符串后,统计其中各种字符的个数,输出其中大小写字母,数字,以及其他字符的个数。 主函数已经给出,请编写统计字符种类函数。 Input 一串字符串 Output 该字符串中大小写字母,...
  • 上一篇博文是用C语言进行统计字符个数的程序。真是简单的很。以前,做而论道还用汇编写过大小写转换的程序,也可以统计各字符的个数,还有发音的功能。因为没有被采纳,也就没有发表。现在写出来,和C语言的程序搭...
  • 本题目:先输入一含有多单词的字符串,然后再输入一字母,然后调用函数getWordNum统计该行字符中以指定字母开始的单词的个数(不区分大小写)。所谓“单词”是指连续不含空格的字符串,各单词之间用空格分隔,...
  • C语言:单词统计

    2020-04-11 01:30:28
    =1个大小写字母连续出现所组成的子串,非大小写字母出现可认为一个单词结束。句子长度不超过50。 例如“Hello world!”单词个数为2。 输入格式: 字符串S。 输出格式: 单词的个数 输入样例: Hello-world! 输出样例...
  • 来实现字符大小写转换 不禁 佩服 ASCII的设计者 的缜密思维 如下 将 变量a转换成大写 储存在变量b中 b=(a|0x20)^0x20;1#的回答 很正确 实际上 使用getch()取代 getchar()会好一些在初始化的时候,会在字符串后面z...

空空如也

空空如也

1 2 3 4 5
收藏数 98
精华内容 39
关键字:

c语言统计大小写字符个数

c语言 订阅