70,037
社区成员
发帖
与我相关
我的任务
分享
给楼主一个c++的算法和一个类c++的c算法,比较起来c++更优雅~~!
一、c++算法
#include <string>
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
char arr[]={'a','e','i','o','u'};
string test;
cin>>test;
for(int i=0;i<sizeof(arr)/sizeof(arr[0]);++i)
{
cout<<count(test.begin(),test.end(),arr[i])<<endl;
}
return 0;
}
二、c算法
#define MAXSIZE 80
int count(char* str,int length,char arr)
{
int cnt=0,i=0;
for(;i<length;++i)
{
if(str[i]==arr) cnt++;
}
return cnt;
}
int main()
{
char arr[]={'a','e','i','o','u'};
char* test=(char*)malloc(MAXSIZE);
int length=strlen(test)+1,i=0;
gets(test);
for(;i<sizeof(arr)/sizeof(arr[0]);++i)
{
printf("%d\n",count(test,length,arr[i]));
}
free(test);
return 0;
}
#include<stdio.h>
int main()
{
int sum = 0;
char input;
printf("请输入一行字符,结束输入请按回车.\n");
fflush(stdin);
while((input=getchar()) != 10) /* 遇到回车前一直接受输入 */
{
if ((input == 'a') || (input == 'e') || (input == 'i') || (input == 'o') || (input == 'u'))
{
sum++;
}
}
printf("原音个数=%d\n", sum);
return 0;
}
if(s[p][j]='a')a++;
if(s[p][j]='e')e++;
if(s[p][j]='i')i++;
if(s[p][j]='o')o++;
if(s[p][j]='u')u++;
if(s[p][j]=='a')a++;
if(s[p][j]=='e')e++;
if(s[p][j]=='i')i++;
if(s[p][j]=='o')o++;
if(s[p][j]=='u')u++;
scanf("%d",&n);
getchar();
for(p=0;p <n;p++)
{
gets(s[p]);
}