做题记录-day43
时间:2019-08-20
本文章向大家介绍做题记录-day43,主要包括做题记录-day43使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
《算法笔记》3.5小节——入门模拟->进制转换
B题
因为涉及到了大于十进制的部分需要用到字符串,在写的过程中出现了一点问题
最开始的时候,在tostring函数里面return的是局部变量,这时候在函数结束变量就消失,是不对的,(要么定义全局要么static)
注意因为static的存在,每次都要初始化数组,不然自己不会随着函数的结束而消失
其次,指针是需要初始的,如果仅定义char*p,赋值p几是错误的
要char c;char a[100];p=&c或者p=a才可以
还有就是注意,可以使用memset,但是sizeof(p)的大小固定就是4(无论什么类型,只要是指针就是4,因为地址占用4字节,如果是(sizeof(*p)),这时候里面是char对应的大小,这是不对的,要sizeof(a)才可以
#include<stdio.h> #include<string.h> void tolower(char n[]) { int len=strlen(n); for(int i=0;i<=len-1;i++) { if(n[i]>='a' && n[i]<='z') { n[i]=n[i]-'a'+'A'; } } } int tonum(char c) { if(c>='0' && c<='9') { return c-'0'; } return c-'A'+10; } char tochar(int n) { if(n>=0 && n<=9) return n+'0'; return n-10+'A'; } int toten(int a,char n[]) { int len=strlen(n); int sum=0; int total=1; for(int i=0;i<=len-1;i++) { sum+=tonum(n[len-1-i])*total; total=total*a; } return sum; } char*tostring(int b,int num) { int ans[1000]; static char*anschar; static char tempc[1000]; anschar=tempc; memset(anschar,0,sizeof(anschar)); int count=0; do { ans[count++]=num%b; num=num/b; //printf("num:%d\n",num); }while(num!=0); //printf("count:%d\n",count); for(int i=0;i<=count-1;i++) { anschar[i]=tochar(ans[count-i-1]); // printf("%c ",anschar[i]); } // printf("count:%d\n",count); // printf("len:%d\n",strlen(anschar)); //printf("%c\n",ans[count]); //anschar[count]='\0'; return anschar; } int main() { int a,b; char n[1000]; while(scanf("%d",&a)!=EOF) { getchar(); scanf("%s %d",n,&b); tolower(n); int num=toten(a,n); char*str=tostring(b,num); printf("%s\n",str); //printf("haha"); } return 0; }
字符数组和字符指针都是非常需要注意的,他们的same也是需要自己写的
原文地址:https://www.cnblogs.com/tingxilin/p/11386188.html
- 区块链可以减少社会不平等吗?
- 【干货】不止准确率:为分类任务选择正确的机器学习度量指标(附代码实现)
- python爬虫beautifulsoup4系列1
- 区块链入门教程
- python爬虫beautifulsoup4系列2
- python爬虫beautifulsoup4系列3
- 多元回归模型
- C++ STL之min_element()与max_element()(取容器中的最大最小值)
- RESTful API 设计最佳实践
- python爬虫beautifulsoup4系列4-子节点
- 元胞自动机实现多数分类算法
- 51Nod 1289 大鱼吃小鱼(模拟,经典好题)
- 用Metaclass实现一个精简的ORM框架
- HDU 2504 又见GCD(最大公约数与最小公倍数变形题)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 在 Kubernetes 上编排 MongoDB 集群
- k8s技术圈一周精选[第7期]
- TypeScript namespace 命名空间
- 从Pytorch 的ONNX到OpenVINO中IR中间层
- Linux CPU 性能优化指南
- 差分隐私(Differential Privacy)
- ubuntu changelog/source获取方法
- element ui 图片上传封装多张或单张
- Android:友盟分享升级问题总结
- vue+element实现分页的封装
- 一款基于 Python 语言的 Linux 资源监视器!
- 我讨厌这个绿油油的头像!我用opencv换一下背景
- 哈哈哈哈哈哈镜~
- 【对二寸照片的摧残】一:人脸马赛克
- 二寸照片识别/切边/矫正