龙影炎玄 发表于 2020-8-2 15:10:57

有没有别的算法?

这道题主要是输入一个数,然后把这个数到这输出。
例如;输入1368,输出8631。

#include<iostream>
using namespace std;
int main(){
        int x,a1,a2,a3,a4;
        cout<<"请输入一个首位末位都不为0的四位数:";
        cin>>x;
        a1=x/1000;
        a2=x-(x/1000)*1000;
        a3=a2-(a2/100)*100;
        a2=a2/100;
        a4=a3-(a3/10)*10;
        a3=a3/10;
        cout<<a4<<a3<<a2<<a1;
        return 0;
}

我想知道有没有别的算法。
(特别是用取余。)

龙影炎玄 发表于 2020-8-2 15:11:31

倒着

龙影炎玄 发表于 2020-8-2 15:12:10

{:10_269:}{:10_269:}{:10_269:}

zltzlt 发表于 2020-8-2 15:14:11

本帖最后由 zltzlt 于 2020-8-2 15:18 编辑

#include <iostream>
using namespace std;
int main()
{
    int x, a1, a2, a3, a4, tmp;
    cout << "请输入一个首位末位都不为0的四位数:";
    cin >> x;
    tmp = x;
    a4 = tmp % 10;
    tmp /= 10;
    a3 = tmp % 10;
    tmp /= 10;
    a2 = tmp % 10;
    tmp /= 10;
    a1 = tmp % 10;
    cout << a4 << a3 << a2 << a1;
    return 0;
}

#include <iostream>
#include <string>
using namespace std;
int main()
{
    string a;
    int i;
    cout << "请输入一个首位末位都不为0的四位数:";
    getline(cin, a);
    for (i = a.size() - 1; i >= 0; i--)
      cout << a;
    return 0;
}

baige 发表于 2020-8-2 15:15:53

本帖最后由 baige 于 2020-8-2 16:42 编辑

#include <iostream>
using namespace std;

int main()
{
    int x;
    cin >> x;
    while(x)
    {
      cout << x % 10;
      x /= 10;
    }
    return 0;
}

jackz007 发表于 2020-8-2 15:37:34

#include <iostream>

using namespace std                                             ;

int main()
{
      int c , d , x                                           ;
      cout << "请输入一个整型数:"                           ;
      cin >> x                                                ;
      for(c = x , d = 0 ; c ; c /= 10) d = d * 10 + (c %10) ;
      cout << x << endl                                       ;
      cout << d << endl                                       ;
}

巴巴鲁 发表于 2020-8-2 17:17:19

本帖最后由 巴巴鲁 于 2020-8-2 17:19 编辑

#include <stdio.h>
int main(void)
{
                int n;
                int y = 0;
                printf("请输入一个整数(首末位中没有0):");
                scanf("%d",&n);
               
                while(n)
                {
                        y = y * 10 + n % 10;
                        n /= 10;
                }
                printf("%d\n",y);
                return 0;
}

lhgzbxhz 发表于 2020-8-2 17:35:38

// 省略导入库
void swap(char& a, char& b)
{
    char temp = a;
    a = b;
    b = temp;
}
int main()
{
    int n;
    printf("请输入一个整数(首末位中没有0):");
    scanf("%d",&n);
    char str = {0};
    sprintf(str, "%d", n);
    int length = strlen(str);
    for (int i = 0; i <= length / 2; i++)
      swap(str, str);
    printf("%s\n", str);
    return 0;
}

龙影炎玄 发表于 2020-8-2 18:59:09

{:10_257:}{:10_257:}{:10_256:}{:10_256:}

龙影炎玄 发表于 2020-8-2 18:59:48

{:10_257:}

龙影炎玄 发表于 2020-8-5 14:52:18

{:10_279:}
页: [1]
查看完整版本: 有没有别的算法?