① C语言字符串
签到答一题,空灌不好意思,就随手写一段:
#include <stdio.h>
void main()
{
char buf[256];
scanf("%s",buf);
char k;
int i,j;
for(i=j=0;buf[i];i++) if(buf[i]>buf[j]) j=i; //找到最大的位置
for(k=buf[j];j>0;j--) buf[j]=buf[j-1]; //记下最大的元素,前面的都往后移一位
buf[0]=k; //插到首位
printf("%s",buf);
}
② C语言中的“把abcd四个整数按从小到大的顺序排列后输出”问题
拿a>b来说,因为是从小到大排列,所以得将a
,b的值转换一下,temp是用来转换的中间值,若不用temp,直接使b=a,那么会导致a,b值相等
若a=5,b=3
temp=a
使temp=5
a=b
使a=3
b=temp使b=5
这样a便等于3,b等于5
,依次输出a,b时会输出3,5
从小到大排列
③ C语言编程abcd比较大小
#include<stdio.h>
main()
{
inta,b,c,d,t;
scanf("%d%d%d%d",&a,&b,&c,&d);
if(a<b)
{t=a;a=b;b=t;}
if(a<c)
{t=a;a=c;c=t;}
if(a<d)
{t=a;a=d;d=t;}
if(b<c)
{t=b;b=c;c=t;}
if(b<d)
{t=b;b=d;d=t;}
if(c<d)
{t=c;c=d;d=t;}
printf("&d&d&d&d ",a,b,c,d);
}
④ C语言中,可以有字符‘abcd’存在吗如果可以,应该占多少字节呢
C语言中,不仅可以有字符‘abcd’存在,还可以有汉字,但它们都是以机器码的方式进行存储和传送的。abcd1234和标点是以ASCI码形式存储,占一个字节,汉字有几种编码方式,但都占两个字节。
⑤ C语言编程abcd比较大小,作业,下节课就交,麻烦大佬们帮忙
inti,j;
for(i=0;i<n;i++)
{
for(j=0;i+j<n-1;j++)
{
if(num[j]>num[j+1])
{
inttemp=num[j];
num[j]=num[j+1];
num[j+1]=temp;
}
Print(num,n);
}
}
return;
用冒泡排序排一下就出来了, num 数组是a b c d
⑥ 在不同进制的4个数中,最大的一个数是
C语言中表示数时经常提到二进制、八进制、十进制和十六进制表示。
为方便理解,先介绍十进制。
十进制:是指由0,1,2,3,4,5,6,7,8,9 十个数字表示的数,逢十进位,因此是十进制,可以看出十进制没有单独数字10,因为不需要,10可以用进1位表示。
同理:
二进制:是有0和1两个数字表示的数,逢2进位,所以二进制中不会出现2。
八进制:是指由0,1,2,3,4,5,6,7 八个数字表示的数,逢8进位。
十六进制:是指由0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 十六个数字表示的数,其中英文字符(不区分大小写)A-F分别表示10-15。
C语言标准中,整数可以直接使用八进制、十进制、十六进制三种表示,二进制标准没有支持,但是部分编译器提供支持。
例如,对于自然数100,分别使用以上四种进制表示(tips:可以使用Windows自带的计算器-程序员模式作为工具,方便日常验算)
int i=100; // 十进制
int j=0144; // 八进制,首位必须是0表示
int k=0x64; // 十六进制表示,前缀必须是0x或0X
int m=0b01100100; // 二进制表示,前缀必须是0b或0B
注意:二进制表示,C标准未规定,部分编译器才能支持,不建议使用。
各种进制转换十进制数值:
十进制:
100= 110^2 + 010^1 + 0*10^0
其中102表示10的2次方,101表示10的1次方,以此类推。
八进制:
0144=18^2 + 48^1 + 4*8^0 = 100
十六进制:
0x64=616^1 + 416^0 = 100
二进制:
0b01100100= 02^7 + 12^6 +12^5 + 02^4 + 02^3 + 12^2 + 02^1 + 02^0
二进制和八进制、十六进制快速转换:
观察发现:每3个二进制数位可以转换成1个八进制数位,每4个二进制数位转换成1个十六进制数位。
例如:
二进制到八进制:
0b01100100 = 0b 01 100 100 = 144 = 0144 //加上前缀0
⑦ 在C语言中,计算a和b所指的字符串的长度之差。与比较a和b所指字符串的大小,这两句话有什么区别
计算a和b所指的字符串的长度之差:指的是a所指的字符串和b所指的字符串之间长度的差的大小。。。。
比如:
*a="abc";长度是3
*b="abcd";长度是4
差就是4-3=1;
--------------------------------------------------
与比较a和b所指字符串的大小:
指的是对a b所指的字符串的内容比较大小。。。
例如:
*a="abecd";
*b="abcde";
则a指的字符串要比b所指的字符串要小。。。。。
--------因为比到两个字符串的第三个字母的时候e<c[在ASC码里是这样的]。。。所以a字符串比b字符串小