腾讯面试-程序题

编码区 专栏收录该内容
4 篇文章 0 订阅
//==============================================================
//程序功能:将输入的整数转换成字符串
//程序思路:面试技巧。输入、输出、差错检查
//程序设计语言:c
//===================================================================
#include<stdio.h>


const char* ToString(int val);


int main()
{




int i = 0 ;


const char* ch = ToString(-123);




for(i = 0 ; ch[i]!='\0' ;i++)
printf("%c",ch[i]);
printf("\n");


getchar();


return 0 ;
}


//这是面试中比较难的一个环节,需要考虑全面
const char* ToString(int val)
{
//对输入数据进行差错检查,可以采用口头检查(向面试官咨询,将各种可能说出来)
//1:这个数值在整数能表示的范围内,值是合法的)
//变量的设计一般这个时候需要留有一定的空间,特别C语言,方便临时增加变量
char result_temp[15] ; //作为结果临时存储对象
char* result ; //作为最终的存储对象,这样才能够传出去,要不然局部变量传不出去
int temp ; //临时计算变量
int val1 ; //不能破坏原始数据
int i = 0 ; //作为临时结果变量
int j = 0 ;


//对输入的数据分类讨论
val1 = val ;




if( val1 >= 0 )
{
while( val1 )
{
temp = val1 % 10 ;
result_temp[i++] = temp + '0' ;
val1 = val1 / 10 ;
}


result = new char[i] ;


result[i] = '\0' ;
for(i--,j=0;i>=0;i--,j++)
result[j] = result_temp[i] ;
}
else
{
result_temp[i++] = '-' ;
val1 = 0 - val1 ;
while( val1 )
{
temp = val1 % 10 ;
result_temp[i++] = temp + '0' ;
val1 = val1 / 10 ;
}


result = new char[i] ;


result[i] = '\0' ;
for(i--,j=1;i>0;i--,j++)
result[j] = result_temp[i] ;
result[0] = '-' ;
}


return result ;


}
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

最常见的Java面试大全的程序面试程序,很有影响力的哦!好好珍惜这个资料吧!有Java的常见面试的冒泡,常见的算法,继承,多态 1.抽象: 抽象就是忽略一个主中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承:  继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。 3.封装:  封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。 4. 多态性:  多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值