鱼C论坛

 找回密码
 立即注册
查看: 610|回复: 10

[已解决]有没有别的算法?

[复制链接]
发表于 2020-8-2 15:10:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
这道题主要是输入一个数,然后把这个数到这输出。
例如;输入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 17:35:38
  1. // 省略导入库
  2. void swap(char& a, char& b)
  3. {
  4.     char temp = a;
  5.     a = b;
  6.     b = temp;
  7. }
  8. int main()
  9. {
  10.     int n;
  11.     printf("请输入一个整数(首末位中没有0):");
  12.     scanf("%d",&n);
  13.     char str[5] = {0};
  14.     sprintf(str, "%d", n);
  15.     int length = strlen(str);
  16.     for (int i = 0; i <= length / 2; i++)
  17.         swap(str[i], str[length - i]);
  18.     printf("%s\n", str);
  19.     return 0;
  20. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-8-2 15:11:31 | 显示全部楼层
倒着
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-8-2 15:12:10 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-2 15:14:11 | 显示全部楼层
本帖最后由 zltzlt 于 2020-8-2 15:18 编辑
  1. #include <iostream>
  2. using namespace std;
  3. int main()
  4. {
  5.     int x, a1, a2, a3, a4, tmp;
  6.     cout << "请输入一个首位末位都不为0的四位数:";
  7.     cin >> x;
  8.     tmp = x;
  9.     a4 = tmp % 10;
  10.     tmp /= 10;
  11.     a3 = tmp % 10;
  12.     tmp /= 10;
  13.     a2 = tmp % 10;
  14.     tmp /= 10;
  15.     a1 = tmp % 10;
  16.     cout << a4 << a3 << a2 << a1;
  17.     return 0;
  18. }
复制代码

  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4. int main()
  5. {
  6.     string a;
  7.     int i;
  8.     cout << "请输入一个首位末位都不为0的四位数:";
  9.     getline(cin, a);
  10.     for (i = a.size() - 1; i >= 0; i--)
  11.         cout << a[i];
  12.     return 0;
  13. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-8-2 15:15:53 From FishC Mobile | 显示全部楼层
本帖最后由 baige 于 2020-8-2 16:42 编辑
  1. #include <iostream>
  2. using namespace std;

  3. int main()
  4. {
  5.     int x;
  6.     cin >> x;
  7.     while(x)
  8.     {
  9.         cout << x % 10;
  10.         x /= 10;
  11.     }
  12.     return 0;
  13. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-2 15:37:34 | 显示全部楼层
  1. #include <iostream>

  2. using namespace std                                             ;

  3. int main()
  4. {
  5.         int c , d , x                                           ;
  6.         cout << "请输入一个整型数:"                             ;
  7.         cin >> x                                                ;
  8.         for(c = x , d = 0 ; c ; c /= 10) d = d * 10 + (c %  10) ;
  9.         cout << x << endl                                       ;
  10.         cout << d << endl                                       ;
  11. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-2 17:17:19 | 显示全部楼层
本帖最后由 巴巴鲁 于 2020-8-2 17:19 编辑
  1. #include <stdio.h>
  2. int main(void)
  3. {
  4.                 int n;
  5.                 int y = 0;
  6.                 printf("请输入一个整数(首末位中没有0):");
  7.                 scanf("%d",&n);
  8.                
  9.                 while(n)
  10.                 {
  11.                         y = y * 10 + n % 10;
  12.                         n /= 10;
  13.                 }
  14.                 printf("%d\n",y);
  15.                 return 0;
  16. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-2 17:35:38 | 显示全部楼层    本楼为最佳答案   
  1. // 省略导入库
  2. void swap(char& a, char& b)
  3. {
  4.     char temp = a;
  5.     a = b;
  6.     b = temp;
  7. }
  8. int main()
  9. {
  10.     int n;
  11.     printf("请输入一个整数(首末位中没有0):");
  12.     scanf("%d",&n);
  13.     char str[5] = {0};
  14.     sprintf(str, "%d", n);
  15.     int length = strlen(str);
  16.     for (int i = 0; i <= length / 2; i++)
  17.         swap(str[i], str[length - i]);
  18.     printf("%s\n", str);
  19.     return 0;
  20. }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-2 18:59:09 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-8-2 18:59:48 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-8-5 14:52:18 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-11 19:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表