C语言 分离字符串中的字母、数字、符号
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言 分离字符串中的字母、数字、符号相关的知识,希望对你有一定的参考价值。
原题: 输入一行字符,以回车键作为结束标志,分别统计出大写字母、小写字母、空格、数字和其它字符的个数,并输出结果。
新手,尽量用最基础的语句编写,必须用到循环语句。
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 代码确定没错的 ? 运行不起 请截图 代码是正确的喔
#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语言 利用ascii表输出十个数字符号 26个大写字母符号 笑脸符号和扑克牌符号
C语言从键盘输入一个含有英文字母,英文符号,数字的字符串,如何过滤其中的字母??