鱼C论坛

 找回密码
 立即注册
12
返回列表 发新帖
楼主: asd74827

[已解决]统计个数怎么写这程序

[复制链接]
发表于 2022-8-17 21:02:55 | 显示全部楼层
#include<iostream>
#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;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-8-18 14:45:07 | 显示全部楼层
本帖最后由 jackz007 于 2022-8-18 18:02 编辑

        我也来凑个热闹
#include <stdio.h>

char t[][20] = {{"apple"} , {"peach"} , {"banana"}}                  ;
int d[3] = {0}                                                       ;

int foo(char s[] , int n)
{
        int i , k , r = 0                                            ;
        s[n - 1] = 0                                                 ;
        for(k = 0 ; k < 3 ; k ++) {
                for(i = 0 ; i < n && s[i] == t[k][i] ; i ++)         ;
                if(i == n) {
                        r = k + 1                                    ;
                        break                                        ;
                }
        }
        return r                                                     ;
}

int main(void)
{
        char s[80]                                                   ;
        int c , k , r                                                ;
        for(c = 0 ; (s[c ++] = getchar()) != '\n';) {
                if(s[c - 1] == ' ') {
                        if((k = foo(s , c))) d[k - 1] ++             ;
                        c = 0                                        ;
                }
        }
        if((k = foo(s , c))) d[k - 1] ++                             ;
        for(k = 0 ; k < 3 ; k ++) printf("%6s : %d\n" , t[k] , d[k]) ;
}
        编译、运行实况:
D:\[00.Exerciese.2022]\C>g++ -o x x.c

D:\[00.Exerciese.2022]\C>x
apple peach peach banana banana banana
 apple : 1
 peach : 2
banana : 3

D:\[00.Exerciese.2022]\C>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-8-18 16:23:52 | 显示全部楼层
ba21 发表于 2022-4-1 17:20
按照题目要求,这道题并没那么简单。需要用到动态分配内存。

不至于,直接暴力cin.getline(s,600600,'\0')就行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-8-22 00:15:18 | 显示全部楼层
这是我统计苹果个数写的程序,可以看下:
#include<stdio.h>
#include<string.h>

int main()
{
        char a[128];
        char b[5]={'a','p','p','l','e'};
        int i,j,len,temp,count=0;
        char ch;
        
        printf("请输入一些水果:\n"); 
        for (i=0;(ch=getchar())!='\n';i++)     //输入一些水果名称 
        {
                a[i]=ch;
        }
        a[i]='\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[temp]==b[j])
                        {
                                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
请按任意键继续. . .
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-16 23:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表