九度-1138-进制转换(char数组的使用)

题目描述:
将一个长度最多为30位数字的十进制非负整数转换为二进制数输出。

输入:
多组数据,每行为一个长度不超过30位的十进制非负整数。
(注意是10进制数字的个数可能有30个,而非30bits的整数)

输出:
每行输出对应的二进制数。

样例输入:
0
1
3
8
样例输出:
0
1
11
1000
来源:
2008年北京大学软件所计算机研究生机试真题
解题心得
本题有几处需要反复复习留意的地方,在写其他算法题目时也要格外注意

  • 变量清空:在循环体外定义的变量使用时要格外小心,在循环处理数据时变量的值是该留还是该清,只有弄清楚了才能写出正确的程序,代码中while循环的idx1和last就进行了清零操作
  • c语言中的char数组赋值:对char数组按下标赋值时会出现字符串无意义的问题,对char某个索引直接赋值时又打印不出来。这是由于字符数组中默认以’\0’结尾,打印时读到’\0’就会结束。而直接赋值又使得字符数组没有结尾,也就没有意义。因此在赋值之后补上’\0’即可
//大数进制转换
#include<stdio.h>
#include<string.h>
using namespace std;
void divide(char str[])
{
	char *res = str;//字符串每次除2后的结果
	char ans[100];//每次余数作为二进制
	int idx1 = 0, idx2 = 0;//分别统计res和ans
	int last = 0, sum = -1;
	while (sum != 0)
	{
		idx1 = 0;
		last = 0;
		int len = strlen(res);
		for (int i = 0; i < len; i++)
		{
			int tmp = last * 10 + res[i] - '0';
			last = tmp % 2;
			res[idx1++] = tmp / 2 + '0';
		}
		last == 0 ? ans[idx2++] = '0' : ans[idx2++] = '1';
		ans[idx2] = '\0';
		sum = 0;
		for (int i = 0; i < idx1; i++)
		{
			sum = sum * 10 + (res[i] - '0');
		}
	}
	char *rev_ans = strrev(ans);
	for (int i = 0; i < strlen(rev_ans); i++)
	{
		printf("%c", rev_ans[i]);
	}
}
int main()
{

	char d[100];
	while (gets(d))
	{
		divide(d);
		getchar();//读取换行符
	}
	return 0;
}

当然代码中可能还会有一些bug或者可以优化的地方,欢迎大家在评论区指出,我们一起讨论,互相学习!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
九度淘宝直通车点击软件是针对搜索引擎的点击类软件软件。软件可像真人点击一样,自动点击百度、谷歌、360搜索、搜狗、搜搜、淘宝、天猫等搜索引擎内的网址,点击逼真,效果好。软件采用互刷机制,由众多挂机自愿者挂机,相互点击网站,可以用来提高来自搜索结果中的点击流量,借以提升网站在搜索中的排名、提高知名度,也可以用来点击网站广告,帮助提高广告收益。 本软件采用互刷机制,挂机时间越长、点击的次数越多,积分就越多,自己设置的网站被其他挂机者点击的机会和次数也会越多!当积分为零时,你设置的网站就不会被其他人点击到,需要先挂机赚积分。由于九度搜索点击软件完全模仿人的自然行为进行点击,所以软件工作时,占用一台电脑,在挂机的同时,不能干其他的事情。建议在闲暇时挂机,或有多余的电脑挂机,也可以在自己的电脑上,安装虚拟机,在虚拟机上运行挂机软件,工作和挂机两不误 九度淘宝直通车点击软件出色功能 1.由全国各地众多挂机者自动点击,流量来源分布广泛而合理; 2.点击逼真,点击过程完全模拟真人点击,点击过程中自动随你模拟鼠标轨迹; 3.点击环境各异,因为是各地网友挂机自动互点,所以电脑环境、所在地区和点击IP等均是真实的,且彼此不同; 4.支持所有主流搜索引擎,包括百度、谷歌、360搜索、搜狗、搜搜、淘宝、天猫; 5.支持点击时段和点击地区设置。针对性强,随心所欲,避免空点,提高效率; 6.智能自动翻页查找,例如可以点击百度搜索结果多前3页内的网站; 7.清空浏览痕迹、cookies、清除浏览缓存,点击有效; 8.目标网页随机停留数秒后自动关闭; 9.目标网页随机位置、随机二次点击、深入点击,效果更真实; 10.随自己点击意愿和预期,设置日最大点击量和每一个小时内的最大点击量; 11.免费。挂机赚到一定的积分后即可用来点击自己的网站且没任何功能限制,全面免费开放。 九度淘宝直通车点击软件截图
很抱歉,根据提供的引用内容,我无法回答关于西北工业大学计算机考研真题在百度云上的问题。引用提供了一个关于字符串合并的样例输入和输出,而引用和引用提供了一些与西北工业大学计算机研究生的相关信息。但是,这些引用内容都没有提供与百度云相关的信息。如果您有关于其他方面的问题,我将很乐意为您提供帮助和回答。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [九度OJ 题目1471:合并符串](https://blog.csdn.net/SJF0115/article/details/8609716)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [2021西北工业大学考研历年真题](https://blog.csdn.net/weixin_42502288/article/details/118177726)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [undefined](undefined)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值