C语言程序设计题

【程序设计】---------------------------------------------------------题目:此程序功能将输入的十进制整数num(n... 【程序设计】
---------------------------------------------------------
题目:此程序功能将输入的十进制整数num(num<=65535)转换为二进制(双字节,16位)输出。
例如:输入:35, 输出:0000000000100011
输入:15625,输出:0011110100001001
说明:逆序输出即可,不要求数组逆置
要求:完成函数fun(),其功能是实现十进制数到二进制字符串的转换,
其形式参数为待转换的十进制整数。
  
注意:部分源程序给出如下。wwjt()为测试函数。 

请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
-------------------------------------------------------*/
#include<stdio.h>
void wwjt();
/**************************************************
十进制数转成二进制数的字符串
int number 要转换的十进制正整数
char str[] 存放二进制数的字符串
**************************************************/
void fun(int number, char str[])
{

/**********Program**********/

/********** End **********/

}
int main()
{
char binStr[17]="0000000000000000"; //用来存放双字节二进制的符串
int number,i;
printf("请输入一个十进制正整数:");
scanf("%d",&number);
if (number > 0)
fun(number,binStr);
printf("%d转成二进制为:",number);
for (i = 15 ; i >= 0;i--) //逆序输出
putchar(binStr[i]);
wwjt();
return 0;
}
void wwjt()
{
FILE *IN,*OUT;
char binstr[17];
int i ,j;
int t;
IN=fopen("in.dat","r");
if(IN==NULL)
{
printf("Read FILE Error");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{
printf("Write FILE Error");
}
for(i=0;i<30;i++)
{
fscanf(IN,"%d",&t);
for (j=0;j<16;j++)
binstr[j]='0';
binstr[j]='\0';
fun(t,binstr);
fprintf(OUT,"%s\n",binstr);
}
fclose(IN);
fclose(OUT);
}
展开
 我来答
风若远去何人留
2017-12-29 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450106
专业C/C++软件开发

向TA提问 私信TA
展开全部
void fun(int number, char str[]) 
{

/**********Program**********/
    int i=0;
    while(number)
    {
        str[i++]=number%2+'0';
        number/=10;
    }
/********** End **********/

}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式