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);
} 展开
---------------------------------------------------------
题目:此程序功能将输入的十进制整数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);
} 展开
1个回答
展开全部
void fun(int number, char str[])
{
/**********Program**********/
int i=0;
while(number)
{
str[i++]=number%2+'0';
number/=10;
}
/********** End **********/
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询