简简爱
一个看起来超级简单的作业
输入一个大于100的三位正整数a,将a的百位、十位、个位依次放在b的个位、十位、和百位上。例如:输入“123”,输出结果为:“321”。


结果我苦思冥想了3个小时,写的时候还发现各种问题。最后用了6小时写完了
运行结果:

还行看得过去,要是用java我3分钟搞定
惨不忍睹的代码:



风灬晴
c++也很简单多说,8.9行代码也就可以233

冰川橘子
仿佛看到了我第一次用萝卜圈的样子

Xu__
本帖最后由 Xu__ 于 2020-5-15 20:45 编辑

这……%是个好东西啊!首先%100找十位存起来
然后减去存起的数*100然后继续%10
然后再减去剩下的数字不就是个位了吗
如果有错请指教awa

屑灬月
你还数数掉的头发

Mr.时间之瓶
加油吧

huzpsb
void scan
char a
if(~scanf())
  scan()
else
  return;
putchar a
return

递归基础题 =..=

。—。
huzpsb 发表于 2020-5-15 20:44
void scan
char a
if(~scanf())

又不处理尾递归,哦同志,你的堆栈在冒烟

xmdhs
把正整数当成字符串(



等下我这好像不是 c (

huzpsb
。—。 发表于 2020-5-15 21:11
又不处理尾递归,哦同志,你的堆栈在冒烟

加一行inline,完美
话说你觉得是我的堆栈惨还是楼主的longlong惨

huzpsb
稽风 发表于 2020-5-15 20:42
c++也很简单多说,8.9行代码也就可以233

不,只是你不会递归...只要会递归,一切都不是问题

huzpsb
。—。 发表于 2020-5-15 21:11
又不处理尾递归,哦同志,你的堆栈在冒烟

对了,尾递归我处理了的说
测评姬一般来说是文件重定向或者管道,有EOF

ItIsEnderman
本帖最后由 ItIsEnderman 于 2020-5-15 21:24 编辑

#include <iostream>
#include <iomanip>
using namespace std;

int main() {
    int a;
    do {
        cin >> a;

        if (!cin) {
            cin.clear();
            cin.ignore();
        }

    } while (!(a > 100 && a <= 999));

    int b = 0;

    while (a > 0) {
        b = b * 10 + a % 10;
        a /= 10;
    }

    cout << setw(3) << setfill('0') << b << endl;
}

MashKJo
C++他不香吗

Xiao_hua_da_da
c本来就难吧。

乐之叶
本帖最后由 乐之叶 于 2020-5-15 21:34 编辑

C#版

程度:打包后正常使用


(还是C#好用,C/C++太麻烦且难看了

mohui666
不要怕掉头发,多掉点,就习惯了233

FloatingBlocks
转成char yes xd

第一页 上一页 下一页 最后一页