今天参加了视源股份的笔试题,真就是别人挖个坑让我挑,我就乖乖的跳,话不多说,分享下我的踩坑记0.0

第一道编程题目:

对一个字符型数组中的数据进行减1操作。

比如输入100,输出99(用c的话,不可以使用atoi等函数)

解题思路:

1)首先计算这个数组的长度

char c[16] = {'\0'};
int len = strlen(c)

2)确定这个数组中后几位是'0',到不是'0'哪一位进行字符减1操作,并退出循环

while(1){if( (char)((int)c[len - 1] - 1)>= '0' ){c[len - 1] = (char)((int)c[len - 1] - 1);break;else{len--;temp++;}
}

3)判断这个数组中是否有是'0'的字符,如果有将是'0'的部分赋值为'9'

int j = len-temp;
if(temp!=0){
for(j; j<=len;j++ ){printf("j = %d\n",j);c[j] = '9';}
}

4)然后输出就好了

strcpy(pro,c);printf("output:%s\n",pro);

完整代码如下:

#include <stdio.h>
#include <string.h>int main()
{int len;int j;int temp = 0;char c[16] = {'\0'};char pro[16] = {'\0'};printf("input:");scanf("%s",c);len = strlen(c);while(1){if( (char)((int)c[len - 1] - 1)>= '0' ){c[len - 1] = (char)((int)c[len - 1] - 1);break;}else{len--;temp++;}}j = len-temp;if(temp!=0){for(j; j<=len;j++ ){printf("j = %d\n",j);c[j] = '9';}}strcpy(pro,c);printf("output:%s\n",pro);return 0;
}

下面说一下我踩的坑:

当时我是这样对字符进行加减操作的

#include <stdio.h>int main()
{char c = '1';c = c + '1';    //对字符进行加1printf("output:%c\n",(char)c);return 0;
}
~    

运行结果:

错误原因其实看一下 ascii码表就知道了

我想让当前数组下标中的字符加1,如果让他加上'1',其实加上的是49,这样结果就是98,对应的就是'b'字符。

正确操作应该是这样的:

#include <stdio.h>int main()
{char c = '1';c = (char)( (int)c + 1 );    //这样才可以实现字符加1printf("output:%c\n",c);return 0;
}

输出结果:

应聘路其修远兮,吾将上下而求索...

菜是原罪,我去刷题了...

视源股份笔试之挖个坑我就跳相关推荐

  1. 【面试】 CVTE 视源股份 C++ 软件开发 二面

    微信搜索"编程笔记本",获取更多信息 ------------- codingbook2020 ------------- 今天继续分享 CVTE 视源股份的 C++ 软件开发的二 ...

  2. 视源股份(CVTE)亮相世界顶级计算机视觉盛会CVPR 2017

    本文讲的是 : 视源股份(CVTE)亮相世界顶级计算机视觉盛会CVPR 2017   ,  夏威夷当地时间7月26日,备受瞩目的世界顶级计算机视觉盛会CVPR 2017于夏威夷会议中心落下帷幕.视源股 ...

  3. 视频会议再添猛将:视源股份推出有“情怀”的MAXHUB会议平台

    <企业网D1Net>3月28日(北京),今日,视源股份在北京国家会议中心宣布推出重量级新品牌高效的会议平台MAXHUB.MAXHUB打破了单一功能的产品逻辑,集高质量显示.触摸书写.无线传 ...

  4. 【面试】 CVTE 视源股份 C++ 软件开发 一面

    微信搜索"编程笔记本",获取更多信息 ------------- codingbook2020 ------------- 面经面经面经!今天分享的是 CVTE 视源股份的 C++ ...

  5. CVTE(视源股份)前端实习生面经

    忐忑 从3月6号在线笔试到3月8号技术一面二面,短短3天的时间,让我尝到了求职的不易,这是我第一次正儿八经参加面试,还是专业面试,3月7号晚上接到一面邀请短信的时候,有些高兴又有些担心,还差点失了眠. ...

  6. 视源股份(CVTE)一面

    一面 1.自我介绍 2.做过什么项目,简单介绍 3.项目压力测试是多少 4.C和C++有什么不同 5.讲讲多态 6.继承 7.智能指针实现原理,智能指针线程安全吗 8.TCP和UDP的区别 9.TCP ...

  7. Hinton再挖新坑:改进胶囊网络,融合Transformer神经场等研究

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 晓查 发自 凹非寺  量子位 报道 | 公众号 QbitAI 你还记 ...

  8. 这些Java8官方挖的坑,你踩过几个?

    导读:系统启动异常日志竟然被JDK吞噬无法定位?同样的加密方法,竟然出现部分数据解密失败?往List里面添加数据竟然提示不支持?日期明明间隔1年却输出1天,难不成这是天上人间?1582年神秘消失的10 ...

  9. linux python3.8源码安装_linux 下从源码安装 Python——小白踩坑记

    实验室服务器使用的系统为 Ubuntu 16.04,自带的 python 版本为 Python 2.7.12 和 Python 3.5.2,命令行下使用$ python命令来启动 python 时默认 ...

最新文章

  1. iOS 几种初始化的分析比较
  2. c++ 程序时间运算 函数;
  3. cobbler网络装机
  4. 35岁北大博士拟升市长
  5. 深入理解DDD中的聚合
  6. 香港城门隧道翻车意外酿一死16伤
  7. Java通用数据访问层 Uncode-DAL
  8. 王小云计算机,王小云,密码专家——神一样的存在( 开讲了 49′55″)
  9. 用 FragmentTabHost 实现底部菜单
  10. keras实现交叉验证以及K折交叉验证
  11. html九宫格排列图片,10款jQuery实现的360浏览器九宫格图片拖拽排序
  12. 江西赣州计算机应用中心,赣州计算机应用与维修专业学校
  13. electron 文件另存为
  14. 软件exe图标变记事本或浏览器、360压缩打不开的几种应急解决方法
  15. Eigen 求解线性方程组
  16. QT纯代码设计UI界面Demo
  17. 芯片PIC32MZ1024ECH100 (MCHP) -- 32位高性能单片机 up to 330 DMIPS
  18. 从零开始快速入门Transformer注意力机制
  19. 夯实Java基础系列15:Java注解简介和最佳实践
  20. 移植FreeModbus

热门文章

  1. 174-C语言入门(进制,补码,类型)
  2. 立创开源丨基于GD32E230C8T6芯片的开发评估板
  3. 云聚华为伙伴暨开发者大会GaussDB专场
  4. python微信加人_Python微信机器人自动添加好友自动回复
  5. 总规、控规、修规、概念性规划之间的关系
  6. [nrf51] BLE DFU:Dual Bank 备份升级 OTA
  7. 高考之后,入世之前,我上了数据的“贼船”
  8. Sass快速入门笔记(将主要知识点截取出来,参考官方文档和一些网络教学视频)
  9. RDKit|分子指纹提取、相似性比较及应用
  10. Capture ORCAD CIS导出原理库OLB文件