C语言/C++常见习题问答集锦(四十) 之分门别类

C语言/C++常见习题问答集锦(四十) 之分门别类

程序之美

在这里插入图片描述

1、编写一个count函数,统计下输入的字符串中"."(句号)的个数,并进行输出。

int count(char* p){
    int m = 0;
    while(*p){

        if (*p == '.')
        {
            m ++;
        }
        p ++;

    }

    return m;
}

#include<stdio.h>
int main(){
    int a[100],i;
    gets(a);
    i = count(a);

    printf("句号的个数为:%d\n", i);
    getchar();
        getchar();
    return 0;
    
}

2、C语言
输入格式:
两行,第一行给出一个整数N(1<=N<=100),随后N行,每行给出一个长度为5的字符串(仅包含Y和N,分别代表5个题目小明是否通过),Y代表本题通过,N代表本题未通过。

输出格式:
可以拿到奶茶输出“YES”,否则输出“NO”(输出不含双引号)。

输入样例:
3
NNNYN
NNYYY
YYYNN
结尾无空行
输出样例:
NO
YES
YES
结尾无空行

在这里插入图片描述

#include<stdio.h>
#include<stdlib.h>

int main()
{
    int n, i, j, k, m, *p;
    char sn[5];

    printf("请输入个数:\n");
    scanf("%d",&n);

    if (n<=0)
    {
        return -1;
    }
    
    j = 0;
    m = n;
    p = (int *)malloc(sizeof(int) * n);

    while (n--)
    {
        scanf("%s", sn);
        k = 0;
        for(i = 0; i < 5; i++)
        {
            if (sn[i] == 'Y')
            {
                k ++;
                if (k >= 3)
                {
                    p[j++] = 1;
                    break;
                }
                
            }
            
        }
        
    }

    for ( i = 0; i < m; i++)
    {
        if (p[i] == 1)
        {
            printf("YES\n");
        }
        else{
            printf("NO\n");
        }
        
    }

    return 0;
}

运行结果为:
在这里插入图片描述
3、输出多行字符数组中的数字字符个数

#include<stdio.h>
#include<string.h>
int main(void)
{
    int n,i,k,j;
    scanf("%d",&n); //字符串个数
    char str[100][512];
    for(i=0;i<n;i++){
        scanf("%s",str[i]);
    } //使用二维数组得到多组字符串
    for(i=0;i<n;i++){
        k=0; //对每行的数字个数都先初始化为0
        for(j=0;str[i][j]!='\n';j++){ //注意循环结束条件
            if(str[i][j]>='0'&&str[i][j]<='9'){
                k++; //统计每一行数字字符个数
            }
        } printf("%d\n",k); //输出每行数字字符个数 (在第二层循环中)
    }
    /*********End**********/
    return 0;
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

五一编程

程序之路有我与你同行

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值