C++ 输入一行字符串,统计其中字符'a'的个数。 输出要求: 只有一个整数,即字符串中字符'a'的个数
int chompnum(char* str, char** to){ int dig = 0; int num = 0; while (*str) { if (*str >= '0' && *str <= '9') { dig++; } else if (dig) { to[num] = (char*) malloc(dig + 1); memcpy(to[num], str-dig, dig); to[num][dig] = 0; num++; dig = 0; } str++; } if (dig) { to[num] = (char*) malloc(dig + 1); memcpy(to[num], str - dig, dig); to[num][dig] = 0; num++; dig = 0; } return num;}int main(){ char a[] = "a123x456,1768?0302tab5876"; char* b[50]; int i = 0; int num = chompnum(a, b); printf("%d
", num); while (i < num) { printf("%s
", b[i]); free(b[i]); i++; } return 0; }
源程序代码以及算法解释如下:
#define _CRT_SECURE_NO_WARNINGS//VS环境下需要,VC不需要
#include
#include
int main()
{
const int n = 80;
int i = 0;
char str[n] = { NULL };//字符数组
int Numb_count = 0;//数字个数
int ABC_count = 0;//大写字母个数
int abc_count = 0;//小写字母个数
scanf("%s", str);//连续输入字符到字符数组
while (str[i] != '\0')
{
if ((str[i] >= '0') && (str[i] <= '9'))//判断是否是数字
{
Numb_count++;
}
else if ((str[i] >= 'a') && (str[i] <= 'z'))//判断是否是小写字母
{
abc_count++;
}
else if ((str[i] >= 'A') && (str[i] <= 'Z'))//判断是否是大写字母
{
ABC_count++;
}
i++;
}
printf("数字个数:%d
小写字母个数:%d
大写字母个数:%d
", Numb_count, abc_count, ABC_count);
return 0;
}
程序运行结果如下:
扩展资料:
其他实现方式:
#include "stdafx.h"
#include
int main()
{
char str[80]="\0",resultStr[80]="\0";
int cursor=0;
printf("请输入字符串:");
scanf("%s",str);
char *tempStr = str;
while (*tempStr != '\0')
{
char ch = *tempStr;
if ((ch>='a'&&ch='A'&&ch<='Z'))
{
resultStr[cursor] = ch;
cursor++;
}
tempStr++;
}
printf("输入字符为:%s
输出字符为:%s
",str,resultStr);
system("pause");
return 0;
}
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str;
cin >> str;
size_t pos;
int count = 0;
while (string::npos != (pos = str.find('a', pos)))
{
count++;
pos++;
}
cout << count << endl;
return 0;
}
#include <stdio.h>
int main(void){
char s[300],i,n;
gets(s);
for(n=i=0;s[i];n+=s[i++]=='a');
printf("A total of 'a' is %d
",n);
return 0;
}
C++.设计一程序,输入一行字符串,求出其中ASCII最大的字符,并输出
include <iostream> using namespace std;void main(){ char str[20], t;gets(str);t=str[0];for(int i=1;str[i]!=NULL;i++)if(str[i]>t) t=str[i];cout<<"最大字符为"<<t<<endl<<"对应的ASCII值为"<<int(t)<<endl;} ...
C语言程序设计:输入一行字符,统计出其中单词的个数,个单词之间用空格分...
count++;} } if (str[0] != ' ' && count > 0) { count++;} printf("单词个数为: %d\\n", count);return 0;} 这个程序首先定义了一个大小为100的字符数组str,用于存储用户输入的字符串。通过使用scanf函数读取用户输入的字符串。接着,程序通过遍历字符串来统计单词的个数。程序假设单词...
输入一行字符,分别统计出其中英文字母,空格,数字字符,其它字符及单词的...
include<stdio.h> int main(){ char c;int letters=0,spaces=0,digits=0,others=0;printf("请输入一串任意的字符:\\n");while((c=getchar())!='\\n'){ if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))letters++;else if(c>='0'&&c<='9')digits++;else if(c==' ')space...
输入一行字符分别统计其中英文字母空格数字以及其他的字符的个数,要求...
include <stdio.h>#include <string.h>int main(){int a, b, c, d;char line[128];char *p = line;a = b = c = d = 0;\/\/计数器初始化为0.gets(line);while (*p != '\\0')\/\/循环读取字符,到字符串结束标记结束。{if (*p >= '0' && *p <= '9')\/\/数字a++;else if...
C语言程序设计:从标准输入设备上输入一个字符串,分别统计其中每个数字...
>='0'&&str[i]<='9')num[0]++;else if(str[i]==' ')num[1]++;else if(str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z')num[2]++;else num[3]++;} printf("数字%d个,空格%d个,字母%d个,其他字符%d个\\n",num[0],num[1],num[2],num[3]);} ...
输入一行字符,分别统计出其中文字,空格,数字的个数。
abccount++;}else if(b[i]>='0'&&b[i]<='9'){ numcount++;}else if(b[i]==' '){ spacecount++;}else{ othercount++;} } int sum=abccount+numcount+spacecount+othercount;System.out.println("字符串中含有的英文字母数为:" + abccount);System.out.println("字符串中含有的...
输入一行字符,分别统计其中10个数字字符,0到9出现的次数。永c语言怎么...
include"stdio.h"include "string.h"int main(){ int a[10]={0};char ca[100];gets(ca);int i;for (i=0;ca[i]!='\\0';++i){ if(ca[i]>='0'&&ca[i]<='9')a[ca[i] - '0']++;} printf("数字0到9分别出现的次数如下\\n");for (i=0;i<10;i++){ printf("%d:%d...
输入一行字符,分别统计出其中的英文字母和其他字符的个数?
include <stdio.h> int main(){ char c;int a=0,o=0;while((c=getchar())!='\\n'){ if(c>='a'&&c<='z'||c>='A'&&c<='Z')a++;else o++;} printf("字母:%d\\n其他:%d\\n",a,o);return 0;}
输入一行字符串,统计每个字母出现的次数?(比如:a:1次 b:0次 c:10次...
include<stdio.h>void main() { int a[26],b[26],i; char str[256]; for ( i=0;i<26;i++ ) a[i]=b[i]=0; gets(str); i=0; while ( str[i]!=0 ) { if ( str[i]>='a' && str[i]<='z' ) a[str[i]-'a']++; else if ( str[i]>='A' &&...
c语言输入一行字符串,如何统计其中的字母和数字的个数
int other=0;char input[1000];int i;scanf("%s",input);for(i=0;input[i]!='\\0';i++){ if(input[i]>=65&&input[i]=97&&input[i]<=122){ letters++;} else if(input[i]==' '){ space++;} else if(input[i]>=48&&input[i]<=57){ digit++;} else { other++;} } ...