[算法]CSDN编程挑战赛之整数取反
来源:互联网 发布:苹果下载软件itunes 编辑:程序博客网 时间:2024/05/22 04:23
今天看了一下庞果网发布的编程挑战赛,我就做了一题目,结果却让我失望,没提交的上去,也不知道是网速原因还是什么,一直处于提交状态,然后我就没理它,一直耗到时间结束,但最后我发现,竟然记我一个挑战失败,好失望!关键是还没有重新挑战的机会。算了,关键是自己得到了锻炼就好!下面就共享我的算法,可能不是最优的算法,如果读者有什么好的建议或者是好的算法欢迎提出,一起交流!
题目:
以下是我做的几个版本的代码:
C语言版本代码:
#include<stdio.h>int reverse(int x){ int yushu; int res[20]; int jieguo=0; int i=0; if (x>0) { do { yushu=x%10; res[i]=yushu; x=x/10; i++; } while (x); int ii=i-1; for (int j=0;j<i;j++,--ii) { int r=1; //printf("%d",res[j]); for (int n=0;n<ii;n++) { r*=10; } jieguo+=res[j]*r; } return jieguo; } //如果是负数 else { int jj = 0-x; int jieguo1=reverse(jj); jieguo1=0-jieguo1; return jieguo1; } }int main(){ int num; printf("请输入数字:"); scanf("%d",&num); printf("你输入的数字是:%d\n",num); int n =reverse(num); printf("转置后的数字是:%d",n); return 0;}
C语言另外一版本:
#include<stdio.h>int main(){ printf("题目1:整数取反\n"); char a[20],*p,*q; int i,j; p=a; q=a; for(i=0;i<20;i++) { scanf("%c",&a[i]); if(a[i]!='\n') { p++; } else break; } printf("取反后的数是:"); //如果是正数 if (*q!='-') { for(i;i>=0;i--) { printf("%c",*(--p)); } } //如果是负数 else { printf("%c",*q); for (i;i>1;i--) { printf("%c",*(--p)); } } return 0;}
运行结果:
C#版本代码:
#include<stdio.h>int main(){ printf("题目1:整数取反\n"); char a[20],*p,*q; int i,j; p=a; q=a; for(i=0;i<20;i++) { scanf("%c",&a[i]); if(a[i]!='\n') { p++; } else break; } printf("取反后的数是:"); //如果是正数 if (*q!='-') { for(i;i>=0;i--) { printf("%c",*(--p)); } } //如果是负数 else { printf("%c",*q); for (i;i>1;i--) { printf("%c",*(--p)); } } return 0;}
运行结果:
最后提供一个简易版的算法,上面的代码都太差劲了
int fun(int a) { int temp = 0; while(a) { temp = temp*10 + a%10; a = a / 10; } return temp; }
很简单有木有,呵呵,看来算法还是很能考验一个程序员编程和思想的能力的!
==================== 迂者 丁小未 CSDN博客专栏=================
MyBlog:http://blog.csdn.net/dingxiaowei2013 MyQQ:1213250243
Unity QQ群:858550 cocos2dx QQ群:280818155
====================== 相互学习,共同进步 ===================
转载请注明出处:http://blog.csdn.net/dingxiaowei2013/article/details/17471827
8 1
- [算法]CSDN编程挑战赛之整数取反
- CSDN编程之人人code,整数取反
- CSDN之人人code,整数取反
- 在线编程:整数取反
- CSDN之编程挑战赛-玩转算法:最小向量乘积
- [算法]CSDN编程挑战赛之寻找直方图中面积最大的矩形
- 整数取反相关
- 整数取反
- 整数取反
- 整数取反
- 整数取反
- 高校俱乐部 之 人人code,整数取反
- 整数中指定位取反
- 面试题:整数取反
- 人人code,整数取反
- 人人code,整数取反
- 人人code, 整数取反。
- 人人code,整数取反
- UML概论
- 原码、反码、补码和移码其实很简单
- 过滤文件名非法字符
- Josephu问题的数学解法
- 浅析jQuery删除节点的三个方法
- [算法]CSDN编程挑战赛之整数取反
- sklearn学习记录一:官方使用说明
- 线程概述
- 仿微信源码共享
- ABAP内表操作
- java小组第一期攻克课题解答
- Linux卸载MySQL
- ABAP内表操作
- reactor