我正在将数字转换为二进制数,并且必须使用它putchar来输出每个数字.
问题是我正在接受订单.
在做自己的后缀之前,有没有反转数字位模式?
因为在int中有一个特定的位模式 - 我该如何反转这个位模式?
我希望在提出一些反对解决方案的提示后,因为这是家庭作业,我想自己解决
我首先是C的新手.事实上我之前从未做过任何事情,尽管我以前从大学的模块有过java经验.
我正在尝试编写一个将单个整数转换为二进制的程序.我只允许使用按位操作而不使用库函数
任何人都可以提出一些关于我将如何做这件事的想法.显然,我不想要代码或任何东西,只是一些想法,如何探索当前我有点困惑,没有攻击计划.好吧,让它很困惑:D
非常感谢
好的,所以我之前发布的关于尝试(没有任何预建的功能)删除额外的空格
"this is <insert many spaces!> a test" 会回来的
"this is a test"
由于这是家庭作业,我没有要求完整的解决方案,有些人向我提供了以下内容
"如果你需要在适当的位置进行,那么创建两个指针.一个指向正在读取的字符,一个指向要复制的字符.当你遇到一个额外的空间,然后调整'write'指针指向下一个非空格字符.将写字符所指向的字符复制到读取位置.然后在复制字符后提前读取和写入指向字符的指针.
问题是我现在想把我的电脑完全粉碎成碎片,因为我太烦恼了.我当时没有意识到我不能利用char数组所以使用数组索引来做它,我想我可以帮助它如何让它工作但现在我只是使用指针我发现它很难.我真的需要一些帮助,而不是完整的解决方案 到目前为止,这就是我在做的事情;
1)创建一个名为write的指针,所以我无处可写
2)创建一个名为read的指针,这样我就无法从中读取
(这两个指针现在都将指向char数组的第一个元素)
while (read != '\0')
if read == a space
add one to read
if read equals a space now
add one to write
while read != a space {
set write to = read
}
add one to both read and write
else
add one to read and write
write = read
Run Code Online (Sandbox Code Playgroud)