无聊的时候写的——十进制乘二进制

本文提供了一个使用C语言进行字符串操作的示例程序,包括将字符串转换为整数、反转字符串并计算特定数值的和。通过对每个字符的ASCII值进行处理来实现这些功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码贴上:

#include<stdio.h>


int cheng(char* i_1,char * i_2);
int char_int(char *s);
int to_char_length(char *s);
char * char_rahc(char *b,char *s);


int main(int arg,char ** args)
{
	printf("%d\n",cheng(args[1],args[2]));
	return 0;
}
int cheng(char* i_1,char * i_2)
{
	int num_1 = char_int(i_1);
	char num_2[50];
	char_rahc(num_2,i_2);
	int sum = 0;
	for(int i = 0;num_2[i] != 0;i++)
	{
		sum += (num_2[i] - 48)?(num_1 << i):0;
	}
	return sum;
}
int char_int(char *s)
{
	int sum = 0;
	for(int i = 0; s[i] != 0; i++)
	{
		sum *= 10;
		sum += s[i] - 48;
	}
	return sum;
}
char * char_rahc(char *b,char *s)
{
	int length =to_char_length(s);
	int length_2 = length / 2;
	for(int i = 0; i < length_2;i++)
	{
		b[i] = s[length-1-i];
		b[length-1-i] = s[i];
	}
	if(length % 2)b[length_2] = s[length_2];
	b[length] = 0;
	return b;
}
int to_char_length(char *s)
{
	int length;
	for(;s[length]!=0;length++);
	return length;
}

运行结果:
在这里插入图片描述
太简单,就不解释了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值