输入任意字串,将串中除了首尾字符的其他字符升序排列显示,串中字符个数最多20个。
题干 | 输入任意字串,将串中除了首尾字符的其他字符升序排列显示,串中字符个数最多20个。 | ||
输入样例 | gfedcba | ||
输出样例 | gbcdefa |
选择排序
#include<stdio.h>
int main() {char a[20],t;int i = 0, len = 0,j,minxb;//gets(a);scanf("%s",a);while (a[len])len++;for (i = 1; i < len - 2; i++) {minxb = i;for (j = i + 1; j < len - 1; j++) {if (a[j] < a[minxb])minxb = j;}if (minxb != i) {t=a[i], a[i] = a[minxb],a[minxb]=t;}}printf("%s", a);return 0;
}
冒泡排序
插入排序
输入三个字符串,求最大串输出,串中字符个数最多20个。
题干 | 输入三个字符串,求最大串输出,串中字符个数最多20个。 | ||
输入样例 | bbb ccc aaa | ||
输出样例 | ccc |
#include<stdio.h>
#include<string.h>
int main() {char a[30], b[30], c[30], max[30];scanf("%s%*c%s%*c%s", a, b, c);strcpy(max, a);if (strcmp(b , max)>0) {strcpy(max, b);}if (strcmp(c , max)>0) {strcpy(max, c);}puts(max);return 0;
}
输入三个字符串,从小到大的顺序输出,串中字符个数最多20个。
题干 | 输入三个字符串,从小到大的顺序输出,串中字符个数最多20个。 | ||
输入样例 | ccc aaa bbb | ||
输出样例 | aaa bbb ccc |
#include<stdio.h>
#include<string.h>
int main() {char a[30], b[30], c[30],t[30];scanf("%s%*c%s%*c%s", a, b, c);if (strcmp(a, b)>0) {strcpy(t, a), strcpy(a, b), strcpy(b, t);}if (strcmp(a, c)>0) {strcpy(t, a), strcpy(a, c), strcpy(c, t);}if (strcmp(b, c)>0) {strcpy(t, b), strcpy(b, c), strcpy(c, t);}printf("%s %s %s", a, b, c);return 0;
}
输入任意个字串,判断是否为回文串,是显示yes,否则显示no,输入用end结束,串中字符个数最多20个。
题干 | 输入任意个字串,判断是否为回文串,是显示yes,否则显示no,输入用end结束,串中字符个数最多20个。 | ||
输入样例 | ikjki abb abba end | ||
输出样例 | yes no yes |
#include<stdio.h>
#include<string.h>
int main() {char a[20];int i=0, j;while(scanf("%s",a),strcmp(a,"end")){while (a[i] != '\0') i++;i--;j = 0;while (j < i) {if (a[i] == a[j]) {i--, j++;}else {break;}}if (j >= i) {printf("yes\n");}elseprintf("no\n");}return 0;
}
从键盘输入N对字符串,比较各对串大小,若两串相等显示0,若两串不等显示第一次不等字符ascii码差值。字串最多20个字符,若某串提前结束计算字符和\0的差值。
题干 | 从键盘输入N对字符串,比较各对串大小,若两串相等显示0,若两串不等显示第一次不等字符ascii码差值。字串最多20个字符,若某串提前结束计算字符和\0的差值。 | ||
输入样例 | 5 asd asd ASDF ASDH ASDHG ASDGH ASD ASDA ASDA ASD | ||
输出样例 | 0 -2 1 -65 65 |
#include<stdio.h>
int main() {char a[20], b[20];int i = 0, n;scanf("%d", &n);while (n--) {scanf("%s%*c%s", a, b);while (a[i] != '\0' && b[i] != '\0' && a[i] == b[i])i++;printf("%d\n", a[i] - b[i]);}return 0;
}