❶ c语言冒泡排序,输入字母或数字比较大小,输出结果是字母由大到小排在前,数字由小到大排在后
/*
排序前 : 90dhnsuayA34810
降排序后 : yusnhdaA9843100
二次排序后 : yusnhdaA0013489
Press any key to continue
*/
#include <stdio.h>
#include <stdlib.h>
void SortD(char s[]) { // 从大到小排序
int i,j;
char ch;
for(i = 0; s[i + 1]; ++i) {
for(j = i + 1; s[j]; ++j) {
if(s[i] < s[j]) {
ch = s[i];
s[i] = s[j];
s[j] = ch;
}
}
}
}
void SortI(char s[]) { // 从小到大排序
int i,j;
char ch;
for(i = 0; s[i + 1]; ++i) {
for(j = i + 1; s[j]; ++j) {
if(s[i] > s[j]) {
ch = s[i];
s[i] = s[j];
s[j] = ch;
}
}
}
}
int main(){
char s[] = "90dhnsuayA34810";
int i,pos = -1;
printf("排序前 : %s\n",s);
SortD(s);
printf("降排序后 : %s\n",s);
for(i = 0; s[i]; ++i) {
if(s[i] >= '0' && s[i] <= '9') {
pos = i;
break;
}
}
if(pos != -1) {
SortI(&s[pos]);
printf("二次排序后 : %s\n",s);
}
return 0;}
❷ c语言 既有字母又有数字怎么比较大小,如jd002,jd003
字符串按ASCII码比大小。
char str1[]="jd002",str2[]="jd003";
if (strcmp(str1,str2)==0) printf("str1==str2\n"); else
if (strcmp(str1,str2)>0) printf("str1>str2\n");else printf("str1<str2\n");
❸ 输入字母和数字,然后比较它们的大小。用C语言编写代码。
#include
void
main(void)
{
int
num;
char
ch;
for(;;)
{
printf("请输入数字:\n");
scanf("%d",&num);
printf("请输入字母:\n");
scanf("%s",&ch);
if
(ch>num)
{
printf("字母比数字大。\n");
}
if
(num>ch)
{
printf("数字比字母大。\n");
}
if
(num==ch)
{
printf("字母和数字一样大。\n");
}
}
}
不想循环把for()
{}
去掉就可以了
❹ 在单片机C语言中一个字母,一个数字各占几个字节
字母 a-z ,数字 0-9 都是占一个字节。
置于一个数值就是另一回事了,你可以定义:char一个字节,int两个字节,long四个字节, float 四个字节
❺ C语言中一个英文字母.汉字.数字 分别都占几个字节啊
1、英文字母:如果是char 型,那么是占用1个字节,如果是string型,应该是两个。
char c = 'a';//它占用一个字符
char c[] = "a";//占用两个。
char c[] = "abcde";//占用4+1 = 5 个,结尾有一个'