c语言编程:输入4个十六进制数,从小到大排序后,按十进制和二进制输出

作者&投稿:伯桦 (若有异议请与网页底部的电邮联系)
输入4个十六进制数,按从大到小顺序分别输出二进制数和十进制数的程序怎么编写~

#include
#include
#include



int cmp(const void *a,const void *b)/*排序*/
{
return *(const int *)a-*(const int *)b;
}
void bit_prt(const int a)/*二进制输出*/
{
int i;
unsigned int mask=1<<(CHAR_BIT*sizeof(a)-1);
for (i = 1; mask; i++)
{
putchar(a&mask?'1':'0');
mask>>=1;
if (i%4==0)putchar(' ');
}

}
int main(int argc, char* argv[])
{
int a[4];
int i;
for (i = 0; i<4; i++) {
scanf("%x",&a[i]);
}
qsort(a,4,sizeof(int),cmp);
for (i = 0; i < 4; i++) {
printf("0x%X%d",a[i],a[i]);
bit_prt(a[i]);
putchar('
');
}

return 0;
}

#include
void dec2bin(int x)
{if(x>1)dec2bin(x/2);
printf("%d",x%2);
}
int main()
{int x;
scanf("%d",&x);
dec2bin(x);
return 0;
}

#include <stdio.h>
#include <stdlib.h>
#include <limits.h>



int cmp(const void *a,const void *b)/*排序*/
{
return *(const int *)a-*(const int *)b;
}
void bit_prt(const int a)/*二进制输出*/
{
int i;
unsigned int mask=1<<(CHAR_BIT*sizeof(a)-1);
for (i = 1; mask; i++)
{
 putchar(a&mask?'1':'0');
 mask>>=1;
 if (i%4==0)putchar(' ');
}

}
int main(int argc, char* argv[])
{
int a[4];
int i;
for (i = 0; i<4; i++) {
scanf("%x",&a[i]);
}
qsort(a,4,sizeof(int),cmp);
for (i = 0; i < 4; i++) {
printf("0x%X%d",a[i],a[i]);
bit_prt(a[i]);
putchar('
');
}

return 0;
}



C语言编程题:输入4个整数,要求按由小到大顺序输出怎么编啊?(要用sw...
include<stdio.h> main(){ int i,j,temp;int a[4];printf("Please you input the four number you want to campare!\\n");for(i=0;i<4;i++) \/*输入要比较的四个数字*\/ scanf ("%d,",&a[i]);for(j=0;j<4;j++)\/*采用冒泡排序法排序*\/ { for (i=0;i<4-j;i++)if ...

C语言编程题:输入4个整数,要求按由小到大顺序输出怎么编啊?_百度知 ...
利用函数的模块化设计。1、完成整体函数格局,输入、排序、输出。2、输入函数代码如下:3、排序函数代码如下:4、输出函数代码如下:5、执行结果:

c语言编一个程序,输入4个数,从大到小输出,用ifelse语言
\/\/ c语言编一个程序,输入4个数,从大到小输出,用ifelse语言#include <stdio.h>void swap(int* p, int* q){ int t = *p; *p = *q; *q = t;}int main(){ int i; int n[4]; for (i = 0; i < 4; i++) { printf("n%d?", i); scanf("%...

c语言编程题:输入4个数,输出最大和最小的均值
include<stdio.h> include<stdlib.h> main(){ int i,k,t=0,n=4,max,min,sum=0;scanf("%d",&n);scanf("%d",&k);if(k%2==0){t++;sum+=k;} max=k;min=k;for(i=1;i<n;i++){ scanf("%d",&k);if(max<k)max=k; if(min>k)min=k;if(k%2==0){t++;sum+=k...

C语言简单程序:输入四个数,按从小到大顺序输出
其次你对四个整数排序的算法错误,建议用冒泡法进行排序。下面是我在你的代码基础上改进过后的代码,在改动处我已作了注释,希望对你有帮助!include"stdio.h"void main(){int a[4],i,j,t; \/\/数组长度为4!\/\/ printf("输入四个整数:");for(i=0;i<4;i++)scanf("%d",&a[i]);for...

C语言中如何编 输入4个数 输出最大值和最小值?(只用4条IF语句,不用FOR...
把这4个数分成两组比较,得出两个比较大的数和两个比较小的数,再比较两个大数和两个小数,得出最大数和最小数 例如:int n1=3, n2=5, n3=1, n4=7;int max1,max2,min1,min2,max,min;if(n1>n2) {max1=n1; min1=n2;} else {max1=n2; min1=n1;} if(n3>n4) {max1=n3; ...

用c语言编程,输入四个数,判断这四个数据能否组成四边形和正方形,能了...
偌a>0和(且)a=12,则错。 这语句的意思是a=12,则错。a>0是多余的。回到你的问题,意思就是判断这四个数据能否组成正方形。程序如下:include<stdio.h> int main(){ float a,b,c,d;int m1,m2,m3;printf("请输入abcd四个数据:\\n");scanf("%f%f%f",&a,&b,&c,&d);m1=(a-...

求大神帮忙 C语言 编程 求求求啊 输入四个整数 输出中间两个数值之和...
include<stdio.h> void main(){ int a[4];int i,sum=0;printf("请输入四个数:\\n");for(i=0;i<4;i++)scanf("%d",&a[i]);sum=a[1]+a[2];printf("中间两个数的和是:%d\\n",sum);} \/\/输入的时候记得输入一个按一次回车 因为是循环输入 ...

求C语言编程序,输入4个实数,求这4个数的和及平均值并输出。
\/*求C语言编程序,输入4个实数,求这4个数的和及平均值并输出。*\/ include<stdio.h> void main(){ float a,b,c,d;float sum=0,avg;printf("请输入这几个数(逗号隔开):\\n");scanf("%f,%f,%f,%f",&a,&b,&c,&d);sum=a+b+c+d;avg=sum\/4;printf("这4个数的和sum=%.2f\\...

输入四个整数要求由大到小顺序输出,用c语言编程,谢谢
include <stdio.h>#include <stdlib.h>#define ARRAY_LEN 4int main(){ int Array[ARRAY_LEN] = {2,3,232,94} ; int i , j; int temp ; for(i = 0; i < ARRAY_LEN; i++) { for(j = 0; j < ARRAY_LEN - 1; j++) { if(Array[i] > Array[...

兰西县13392307026: C++中输入四个16进制数子,从小到大排序后,以十进制输出的程序 -
越青维肝: 输入十六进制数字的时候 scanf 用%x做占位符 或者cin>>hex>>j 再将十六进制转换成十进制 , 一个循环就搞定了 在最简单的冒泡法排序 最后就可以输出了

兰西县13392307026: c语言问题高手进
越青维肝: #include<stdio.h> #include<string.h> void main() { short x; char s[100]; scanf("%hX", &x); sprintf(s, "%hX", x); puts(strrev(s)); }

兰西县13392307026: 有C语言编写一函数,输入一十六进制数,输出相应的十进制数 -
越青维肝: int lox_16,lox_10; cin>>hex>>lox_16; //c中用(scanf())输入的是4位16进制数//将16进制数转换为10进制数 注意lox_16已经为16进制数lox_10=lox_16/1000*pow(10,3)+lox_16/100%10*pow(10,2)+lox_16%100/10*pow(10,1)+lox_16%10*pow(10,0); //lox_16 是4位的,不是4位,可以自己以这种形式编一个循环

兰西县13392307026: 写一个c语言程序,将十六进制数转化为十进制 -
越青维肝: #include<stdio.h> #define MAX 1000 void main() { int func(char s[]);int c,i=0,flag=0,flag1=1;char t[MAX];printf("请输入一个十六进制的数:\n");while((c=getchar())! ='\0'&&i<MAX&&flag1){ if(c>='0'&&c<='9'||c>='a'&&c<='f'||c>='A'&&c<='F') ...

兰西县13392307026: c语言编程题:依次输入4个不同数,要求从大到小依次输出 -
越青维肝: #include "stdio.h" void main() { int a,b,c,d; int i,j,m,n; printf("请输入四个不同的数(每个数用空格隔开):"); scanf("%d%d%d%d",&a,&b,&c,&d); i=a>b?a:b; //a和b中最大的 j=c>d?c:d; //c和d中最大的 m=aj) //如果i最大(i在a和b中) ...

兰西县13392307026: 计算机C语言
越青维肝: #include "stdio.h" main() {int i; long dec,htod(char d[]); char d[10],loop='y',c; for(;loop=='y'||loop=='Y';) {i=0; while((c=getchar())!='\n') {if(c>='0'&&c<='9'||c>='A'&&c<='F'||c>='a'&&c<='f') {d[i]=c; i++; /* 若输入的字符是十六进制允许的字符,存入d数...

兰西县13392307026: 求C语言程序,在单片机中将四位16进制数转化为ASC码,并传给PC机 -
越青维肝: 你说的是什么型号的单片机啊,你先看看串口的初始化51 void main() { uchar OutDat; //定义输出变量 TMOD=0x20; //TMOD=0 TH1=0xf3; //12MHZ ,BPS:4800,N,8,1 TL1=0xf3; PCON=0x80; //方式一 TR1=1;SCON=0x40; //串口通信控制寄存器 ...

兰西县13392307026: 写一个函数,输入一个十六进制的数,输出相应的十进制数.用c语言编程. -
越青维肝: 说明trans() 函数 应该返回n (return n ;) int main() { char num[100]; printf("请输入一个十六进制的数:"); scanf("%s" , num); printf("你输入的数转换为十进制 = %d\n" , trans(num)); return 0 ; }

兰西县13392307026: 十六进制数转换成十进制数C语言 -
越青维肝: #include#define MAX1000 void main() { int func(char s[]); int c,i=0,flag=0,flag1=1; char t[MAX]; printf("请输入一个十六进制的数:\n"); while((c=getchar())!='\0'&&i='0'&&c<='9'||c>='a'&&c<='f'||c>='A'&&c<='F') { flag=1; t[i++]=c; } else if(flag) { t[i]='...

兰西县13392307026: 编写一程序要求任意输入四位十六进制整数,以反序的方式输出该十六进 -
越青维肝: 以下是31位二进制形式输出的pascal程序: {输入为x,转换结果为y,y的长度最多31位}{转换的范围为0~2147483647}const q:array[1..31] of longint=($1,$2,$4,$8,$10,$20,$40,$80, $100,$200,$400,$800,$1000,$2000,$4000,$8000, $10000,$...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网