程序设计:此程序功能将输入的十进制整数num(num<=65535)转换为二进制(双字节,16位)输出。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了程序设计:此程序功能将输入的十进制整数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;

参考技术A void fun(int number, char str[]) 


/**********Program**********/
int n=0;
while(number)

    str[n++] = number&1;
    number>>=1;

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

仅提供fun内部部分。 其它无需改动。 

参考技术B

C语言程序:

#include <stdio.h>

void wwjt();

/**************************************************
十进制数转成二进制数的字符串
int number 要转换的十进制正整数
char str[] 存放二进制数的字符串
**************************************************/
void fun(int number, char str[]) 


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

int i = 0;
int j;

while(number > 0)

str[i++] = number % 2 + '0';
number /= 2;


str[16] = '\\0';


/********** 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;


运行测试:

c语言输入6个整数,存入整数数组int num【6】 求该数数组中所以整数的总和

#include<stdio.h>

void main()

   int num[6],u,pingjunshu;

   int sum=0;

  printf("请输入整数:");

   for(u=0;u<6;u++)

    

 

      scanf("%d",&num[u]);

   

   for(u=0;u<6;u++)

   

  

      printf("%5d",num[u]);

   

   for(u=0;u<6;u++)

   

     sum=sum+num[u];

   

    printf("\\n");

    printf("整数总和为:");

    printf("%d",sum);

追问

1
2 2
3 3
4 4
55555 怎么打啊

追答

#include<stdio.h>

void main()

    int shuzu[12]=1,2,2,3,3,4,4,5,5,5,5,5;

int n=0;

int i,u;

for( i=0;i<7;i++)

  

printf("%d",shuzu[i]);

n++;

if(n>1)

for(u=1;u<n;u++)

  printf(" ");

if(n%2!=0)

printf("\\n");

for(i=7;i<12;i++)

printf("%d",shuzu[i]);

参考技术A #include <stdio.h>
int main()

int num[6] = 0;//数组初始化
int i,sum = 0;//i作为循环变量,sum作为最后求出的和
for(i = 0;i < 6;i++)

printf("please input number:");
scanf("%d",&num[i]);//循环为数组赋值

for(i = 0;i < 6;i++)

sum = sum + num[i];//求出数组和

printf("the sum is: %d\n",sum);//输出数组和
return 0;
参考技术B #include"stdio.h"
void main()

    int num[6];
    int sum = 0;
    for(int i = 0 ;i<6;i++)
    
        printf("请出入整数:");
        scanf("%d",num[i]);
        sum += num[i];
    
    printf("sum=%d",sum);

追问

1
2 2
3 3
4 4
55555
怎么打

以上是关于程序设计:此程序功能将输入的十进制整数num(num<=65535)转换为二进制(双字节,16位)输出。的主要内容,如果未能解决你的问题,请参考以下文章

转换进制程序

输入一个整数,将各位数字反转后输出

C语言。编写一个程序,输入一个二进制的字符串(长度不超过32),然后计算出相应的十进制整数,并打印。

c语言输入6个整数,存入整数数组int num【6】 求该数数组中所以整数的总和

用C语言如何把十进制转换为十六进制,要求程序中运用函数

ZZNUOJ_用C语言编写程序实现1190:查询记录(结构体专题)(附完整源码)