C言語プログラミング——回数ソート--構造体配列及びバブルソート法
4279 ワード
タイトル:キーボードから文字列を大量に入力し、A、B、C、Dの出現回数を統計し、最後の出現回数は高から低出力アルファベットと出現回数である.
#include
#include
//
int jiShu(char test[], char a)
{
//
int n = 0;
//
for (int i = 0; i<strlen(test); i++) {
// a,n 1
if (test[i] == a) {
n++;
}
}
return n;
}
int main(int argc, const char * argv[]) {
// ,
printf(" :
");
char input[1000];
scanf("%[^
]", &input);
// A
int a = jiShu(input, 'A');
// B
int b = jiShu(input, 'B');
// C
int c = jiShu(input, 'C');
// D
int d = jiShu(input, 'D');
//
struct test{
//
int n;
//
char c;
} array[4] = {{a, 'A'}, {b, 'B'}, {c, 'C'}, {d, 'D'}};
//
struct test temp;
//
for (int i = 0; i<3; i++) {
for (int j = 0; j<3-i; j++) {
if (array[j].n < array[j+1].n) {
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
//
for (int i = 0; i<4; i++) {
printf("%c %d
", array[i].c, array[i].n);
}
return 0;
}