C语言 分离字符串中的字母、数字、符号

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言 分离字符串中的字母、数字、符号相关的知识,希望对你有一定的参考价值。

原题: 输入一行字符,以回车键作为结束标志,分别统计出大写字母、小写字母、空格、数字和其它字符的个数,并输出结果。
新手,尽量用最基础的语句编写,必须用到循环语句。

参考技术A #include <stdio.h>
void main()

char a;
int h,k,l,m;
h=0;
k=0;
l=0;
m=0;
while(a!='\n')

scanf("%c",&a);
if(65<=a&&a<=90||97<=a&&a<=122) h++;
else if(48<=a&&a<=57) k++;
else if(a==32) l++;
else m++;

printf("h=%d,k=%d,l=%d,m=%d\n",h,k,l,m);

本回答被提问者采纳
参考技术B #include <stdio.h>

main()

char str[81];
int big = 0;
int small = 0;
int number = 0;
int blank = 0;
int other = 0;
int i = 0;

gets(str);
while (str[i] != '\0')

if ('A' <= str[i] && str[i] <= 'Z')
big++;
else if ('a' <= str[i] && str[i] <= 'z')
small++;
else if ('0' <= str[i] && str[i] <= '9')
number++;
else if (str[i] == ' ')
blank++;
else
other++;
i++;

printf("big: %d\n", big);
printf("small: %d\n", small);
printf("number: %d\n", number);
printf("blank: %d\n", blank);
printf("other: %d\n", other);
参考技术C 回答

您好,很高兴为您解答。

把字符串存放到数组里面,一个一个比对(循环)后输出

判断数字:

for (i=0;i

if ((p[i]>=\'0\') && (p[i]<=\'9\'))

printf();

判断字母:

for (i=0;i提问

如何用c语言分离字符串中的字母和数字并分别输出?

定义两个数的加减乘除的四则运算,通过switch语句选择运算,输出对应的结果

回答

给出代码: #include #include #include #include using namespace std;int main() int num,snum; num=0; snum=0; char s[100]; char zi[100]; char fu[100]; scanf("%s",s); for(int i=0;i提问

代码确定没错的

运行不起

回答

请截图

代码是正确的喔

参考技术D #include"stdio.h"
#include"string.h"
int main()

static int num[5],i=0;//
char str[25];
puts("enter a string :");
gets(str);
while(str[i])

if ('A' <= str[i] && str[i] <= 'Z')
num[0]++
else if ('a' <= str[i] && str[i] <= 'z')
num[1]++;
else if ('0' <= str[i] && str[i] <= '9')
num[2]++;
else if (str[i] == ' ')
num[3]++;
else
num[4]++;
i++;

printf("big: %d\n", num[0]);
printf("small: %d\n", num[1]);
printf("number: %d\n", num[2]);
printf("blank: %d\n", num[3]);
printf("other: %d\n",num[4]);

怎么用c语言随机生成一串字符串,字符串要求8-16位并且包含大小写字母.数字.和符号

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

int main()

int i,n,j;

 char s[20];

 srand(time(NULL));

 printf("产生20组字符串:\\n");

 for(j=0;j<20;j++)

 s[0]=65+rand()%26;        //以下4行确保含有大小写字母、数字和符号

 s[1]=48+rand()%10;

 s[2]=33+rand()%15;

 s[3]=97+rand()%26;

 n=rand()%9+4;

 for(i=4;i<n+4;i++)        //保证总长度为8~16

   s[i]=33+rand()%94;

 s[i]='\\0';  

 printf("%s\\n",s);

return 0;

参考技术A #include "stdio.h"
#include "time.h"
#include "stdlib.h"

int main(int argc, char* argv[])

int i;
char buf[20]=0;
srand(time(0));
for(i=0;i<16;i++)

buf[i]=rand()%128;


printf("buf=%s\n",buf);

return 0;

以上是关于C语言 分离字符串中的字母、数字、符号的主要内容,如果未能解决你的问题,请参考以下文章

如何用c语言分离字符串中的字母和数字并分别输出?

c语言 利用ascii表输出十个数字符号 26个大写字母符号 笑脸符号和扑克牌符号

C语言从键盘输入一个含有英文字母,英文符号,数字的字符串,如何过滤其中的字母??

如何用C语言将字符串中除字母的其他符号删除

怎么用c语言随机生成一串字符串,字符串要求8-16位并且包含大小写字母.数字.和符号

c语言截取字符串中的一部分