南京理工大学MOOC程序设计基础(Ⅰ) SPOC | 第6章作业2答案详细解析

第一题:字符串逆序数(100分)

问题描述:
计算并返回字符串a的逆序。逆序的概念:在一个字符串中,如果存在i<j,且a[i]>a[j],则称a[i]和a[j]构成一个逆序。例如"DAABEC"的逆序是5,其中D与A、A、B、C构成4个逆序,E与C构成1个逆序。

输入描述
输入一个字符串,长度不超过100。

输出描述
输出一个整数,为输入字符串的逆序数目。

输入样例
DAABEC

输出样例
5
 

#include <bits/stdc++.h>  // 引入所有标准库头文件
using namespace std;     // 使用标准命名空间,方便直接使用标准库中的标识符

int main() {
    int i, j;             // 定义整数变量 i 和 j
    int count = 0;        // 定义计数器 count,用于统计逆序对的数量
    char a[150];          // 定义一个大小为 150 的字符数组 a,用于存储输入的字符串

    cin >> a;             // 读取输入的字符串到字符数组 a 中

    // 外层循环遍历字符数组中的每个字符
    for (i = 0; a[i]; i++) {
        // 内层循环遍历当前字符 i 之后的每个字符
        for (j = i + 1; a[j]; j++) {
            // 如果字符数组 a[i] 的字符大于 a[j] 的字符
            if (a[i] > a[j]) {
   
  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值