#include<cstring>
using namespace std;
int main()
{
string x;
int x=0;
while(cin>>x)
{
if(x=="apple")n++;
}
cout<<x;
system("pause");
return 0;
} 本帖最后由 jackz007 于 2022-8-18 18:02 编辑
我也来凑个热闹
#include <stdio.h>
char t[] = {{"apple"} , {"peach"} , {"banana"}} ;
int d = {0} ;
int foo(char s[] , int n)
{
int i , k , r = 0 ;
s = 0 ;
for(k = 0 ; k < 3 ; k ++) {
for(i = 0 ; i < n && s == t ; i ++) ;
if(i == n) {
r = k + 1 ;
break ;
}
}
return r ;
}
int main(void)
{
char s ;
int c , k , r ;
for(c = 0 ; (s = getchar()) != '\n';) {
if(s == ' ') {
if((k = foo(s , c))) d ++ ;
c = 0 ;
}
}
if((k = foo(s , c))) d ++ ;
for(k = 0 ; k < 3 ; k ++) printf("%6s : %d\n" , t , d) ;
}
编译、运行实况:
D:\\C>g++ -o x x.c
D:\\C>x
apple peach peach banana banana banana
apple : 1
peach : 2
banana : 3
D:\\C> ba21 发表于 2022-4-1 17:20
按照题目要求,这道题并没那么简单。需要用到动态分配内存。
不至于,直接暴力cin.getline(s,600600,'\0')就行 这是我统计苹果个数写的程序,可以看下:
#include<stdio.h>
#include<string.h>
int main()
{
char a;
char b={'a','p','p','l','e'};
int i,j,len,temp,count=0;
char ch;
printf("请输入一些水果:\n");
for (i=0;(ch=getchar())!='\n';i++) //输入一些水果名称
{
a=ch;
}
a='\0';
printf("您输入的这些水果是:%s\n",a); //打印输入的这些水果
len=strlen(a);
printf("这些水果字符的长度是:%d\n",len);
for (i=0;i<len;i++) //把输入的水果的这些字符与"applp"相比较,一样的计数就加1
{
temp=i;
for(j=0;j<5;j++)
{
if(a==b)
{
temp++;
}
else
{
break;
}
}
if (j==5) count++;
}
printf("您输入的水果中一共有%d个苹果!\n",count); //打印输入苹果的个数
return 0;
}
运行的结果如下:
请输入一些水果:
apple peach banana apple apple apple pear
您输入的这些水果是:apple peach banana apple apple apple pear
这些水果字符的长度是:41
您输入的水果中一共有4个苹果!
--------------------------------
Process exited after 23.54 seconds with return value 0
请按任意键继续. . .
页:
1
[2]