如何将c语言中的scanf和printf改成C++。以及printf(%c)和(%d)改C++区别 - 爱问答

(爱问答)

如何将c语言中的scanf和printf改成C++。以及printf(%c)和(%d)改C++区别

比如这个

#include<iostream>

#include<math.h>

#include <stdio.h>

#include<string.h> 

#include <algorithm>

 

int main ()

{

    int n;

    while (scanf ("%d", &n) == 1 && n) {

        static char str[100010];

        scanf ("%s", str);

        if (n % 2 == 1) {

            printf ("-1 ");

            continue;

        }

        int h_tot = 0, t_tot = 0;

        for (int i=0; i<n; ++i) {

            if (str[i] == 'T')

                ++t_tot;

            else

                ++h_tot;

        }

        if (h_tot % 2 == 1 || t_tot % 2 == 1) {

            printf ("-1 ");

            continue;

        }

        int h = 0, t = 0;

        for (int i=0; i<n/2; ++i) {

            if (str[i] == 'T')

                ++t;

            else

                ++h;

        }

        if (t * 2 == t_tot && h * 2 == h_tot) {

            printf ("1 %d ", n / 2);

            continue;

        }

        for (int i=n/2; i<n; ++i) {

            if (str[i] == 'T')

                ++t;

            else

                ++h;

            if (str[i - n/2] == 'T')

                --t;

            else

                --h;

            if (t * 2 == t_tot && h * 2 == h_tot) {

                printf ("2 %d %d ", i + 1 - n/2, i + 1);

                break;

            } else if (i == n - 1) {

                printf ("-1 ");

            }

        }

    }

    return 0;

}

printf(%c)和(%d)改C++是有区别的,我查了很多,但是都没有说到,而且有的说没区别,但是在HDU里面,当成没区别去改是会出错的,所以不要说没区别了。希望有大佬解答一下,完美的有多少悬赏追加多少

相关标签:c语言

下一篇:语言文件受损如何修复

上一篇:samba怎么正确安装

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?