❶ 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 個,結尾有一個'