H2330819027


私信TA

用户名:dotcpp0701405

访问量:13160

签 名:

指向函数指针数组的指针int(*(*p[4]))(int int)

等  级
排  名 107
经  验 8255
参赛次数 1
文章发表 79
年  龄 18
在职情况 学生
学  校 Hzu university
专  业 软件工程

  自我简介:


文章中的单词都是用空格间隔开的,换句话说,单词数=空格数+1。


程序不认识单词,但是程序认识空格。这样,整个问题实际上转换成了统计文章中的空格数。


可以使用指针写。也可以使用数组写




第一种方法 使用指针

// 禁用特定于 Visual Studio 的警告,允许使用标准C库函数
#define _CRT_SECURE_NO_WARNINGS

// 包含标准输入输出库头文件
#include <stdio.h>

// 包含字符串处理库头文件
#include <string.h>

// 包含数学库头文件,尽管在代码中未使用
#include <math.h>

int main() {
    char ch[80];      // 声明一个字符数组用于存储输入的字符串,最大长度为80
    fgets(ch, 80, stdin); // 从标准输入读取字符串,存储在ch数组中

    char* p = ch;      // 声明一个字符指针p,指向字符数组ch的第一个字符
    int len = strlen(ch); // 计算输入字符串的长度

    int count = 0;     // 初始化一个用于计数空格的变量

    for (int i = 0; i < len; i++) {
        if (*(p + i) == ' ') // 如果当前字符是空格
            count++;        // 增加空格计数器
    }

    // 输出单词的个数,这里使用count+1是因为单词之间的空格数量比单词数多1
    printf("%d", count + 1);

    return 0; // 返回0表示程序成功执行
}


第二种方法 使用数组

// 禁用特定于 Visual Studio 的警告,允许使用标准C库函数
#define _CRT_SECURE_NO_WARNINGS

// 包含标准输入输出库头文件
#include <stdio.h>

// 包含字符串处理库头文件
#include <string.h>

// 包含数学库头文件,尽管在代码中未使用
#include <math.h>

int main() {
    char ch[80];      // 声明一个字符数组用于存储输入的字符串,最大长度为80
    fgets(ch, 80, stdin); // 从标准输入读取字符串,存储在ch数组中

    int len = strlen(ch); // 计算输入字符串的长度

    int count = 0;     // 初始化一个用于计数空格的变量

    for (int i = 0; i < len; i++) {
        if (ch[i] == ' ') // 如果当前字符是空格
            count++;        // 增加空格计数器
    }

    // 输出单词的个数,这里使用count+1是因为单词之间的空格数量比单词数多1
    printf("%d", count + 1);

    return 0; // 返回0表示程序成功执行
}


 

0.0分

1 人评分

  评论区

  • «
  • »