规律:
若多个次数最多按ASCII码顺序输出。
用for循环i取(0~26)
则输出满足条件的字符串中位置最靠前的那个。
用while循环遍历(while(a[i]!='\0'))
从键盘输入任意只含有大小写字母的串s(最多100个字符),统计串中出现次数最多的字母输出,不区分大小写,若多个次数最多按ASCII码顺序输出。
题干 | 从键盘输入任意只含有大小写字母的串s(最多100个字符),统计串中出现次数最多的字母输出,不区分大小写,若多个次数最多按ASCII码顺序输出。 | ||
输入样例 | abcdABCDabhijklmnopqytf | ||
输出样例 | a-3 b-3 |
#include<stdio.h>
int main() {char a[100];int n[26]={0}, i = 0, max = 0;gets(a);while (a[i] != '\0') {if (a[i] >= 'A' && a[i] <= 'Z') {a[i] += 32;}n[a[i] - 'a']++;i++;}for (i = 0; i < 26; i++) {if (n[i] > max) {max = n[i];}}for (i = 0; i < 26; i++) {if (n[i] == max) {printf("%c-%d\n", i + 'a', n[i]);}}return 0;
}
输入若干个只包含小写字母的串,判断是否存在只在字符串中出现过一次的字符。
若存在,则输出满足条件的字符串中位置最靠前的那个。
题干 | 输入若干个只包含小写字母的串,判断是否存在只在字符串中出现过一次的字符。 若存在,则输出满足条件的字符串中位置最靠前的那个。 若没有,输出 no。 各字符串的长度不超过 100。 | ||
输入样例 | abceabcd abccbadddffhghg goodgoodstudydaydayup | ||
输出样例 | e no s |
#include<stdio.h>
int main() {char a[100];int n[26]={0}, i = 0;while (~scanf("%s",a)) {//~scanf("%s",a)for (i = 0; i < 26; i++) {n[i] = 0;}i = 0;while (a[i] != '\0') {if (a[i] >= 'A' && a[i] <= 'Z') {a[i] += 32;}n[a[i] - 'a']++;i++;}i = 0;while (a[i] != '\0') {if (n[a[i] - 'a'] == 1) {printf("%c\n", a[i]);break;}i++;}if (a[i] == 0) {printf("no\n");}}return 0;
}
输入只含小写字母的字串(最多30个字符),将串中的各字母字符后移变换为第4个字符,若后移超过z字符,则折回从a字符开始,串中字符个数最多40个。
题干 | 输入只含小写字母的字串(最多30个字符),将串中的各字母字符后移变换为第4个字符,若后移超过z字符,则折回从a字符开始,串中字符个数最多40个。 如: a->e b->f c->g ...... v->z w->a x->b y->c z->d | ||
输入样例 | abcdwxyz | ||
输出样例 | efghabcd |
#include<stdio.h>
int main() {char a[30];int i=0;gets(a);while (a[i] != '\0') {a[i] = 'a' + (a[i] - 'a'+4) % 26;i++;}puts(a);return 0;
}
输入任意字串(最多30个字符),将串中的各字母字符后移变换为第4个字符,若后移超过z/Z字符,则折回从a/A字符开始,非字母字符不变换,串中字符个数最多40个。
题干 | 输入任意字串(最多30个字符),将串中的各字母字符后移变换为第4个字符,若后移超过z/Z字符,则折回从a/A字符开始,非字母字符不变换,串中字符个数最多40个。 如: a->e b->f c->g ...... v->z w->a x->b y->c z->d 大写字母类似 | ||
输入样例 | abcABC09*wxyzWXYZ | ||
输出样例 | efgEFG09*abcdABCD |
#include<stdio.h>
int main() {char a[30];int i = 0;gets(a);while (a[i] != '\0') {if (a[i] >= 'a' && a[i] <= 'z') {a[i] = 'a' + (a[i] - 'a' + 4) % 26;}else if (a[i] >= 'A' && a[i] <= 'Z') {a[i] = 'A' + (a[i] - 'A' + 4) % 26;}else {a[i];}i++;}puts(a);return 0;
}
输入M行N列(M,N<=10),及M行N列按矩阵A,N行M列矩阵B,按下图公式计算C=A*B并输出。
输入样例 | 2 4 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 | ||
输出样例 | *50**60* *114**140* |
#define M 10
#define N 10
#include<stdio.h>
int main() {int a[M][N], b[M][N], c[M][N],i,j,k,m,n,s;scanf("%d%d", &m, &n);for (i = 0; i < m; i++) {for (j = 0; j < n; j++) {scanf("%d", &a[i][j]);}}for (i = 0; i < n; i++) {for (j = 0; j < m; j++) {scanf("%d", &b[i][j]);}}for (i = 0; i < m; i++) {for (j = 0; j < m; j++) {s = 0;for (k = 0; k < n; k++) {s =s+ a[i][k] * b[k][j];}c[i][j] = s;}}for (i = 0; i < m; i++) {for (j = 0; j < m; j++) {printf("*%d*", c[i][j]);}printf("\n");}return 0;
}
排三角形
#include<stdio.h>
int main()
{int k[9] = { 1,2,3,4,5,6,7,8,9 };int a, b, c, d, e, f, g, h, i, j, l = 0, m, n, o, p, q, r, s, t, u, P;scanf("%d", &P);for (j = 0; j < 9; j++){a = k[j];for (m = 0; m < 9; m++)if (a != k[m]){b = k[m];for (n = 0; n < 9; n++)if (k[n] != a && k[n] != b){c = k[n];for (o = 0; o < 9; o++)if (k[o] != a && k[o] != b && k[o] != c){d = k[o];for (p = 0; p < 9; p++)if (k[p] != a && k[p] != b && k[p] != c && k[p] != d){e = k[p];for (q = 0; q < 9; q++)if (k[q] != a && k[q] != b && k[q] != c && k[q] != d && k[q] != e){f = k[q];for (r = 0; r < 9; r++)if (k[r] != a && k[r] != b && k[r] != c && k[r] != d && k[r] != e && k[r] != f){g = k[r];for (s = 0; s < 9; s++)if (k[s] != a && k[s] != b && k[s] != c && k[s] != d && k[s] != e && k[s] != f && k[s] != g){h = k[s];for (t = 0; t < 9; t++)if (k[t] != a && k[t] != b && k[t] != c && k[t] != d && k[t] != e && k[t] != f && k[t] != g && k[t] != h){i = k[t];if (a < f && f < i && b < d && g < h && c < e && a + b + d + f == f + g + h + i && f + g + h + i == i + e + c + a && i + e + c + a == P)l = l + 1;}}}}}}}}}if (l == 0)printf("Not exist");elseprintf("%d", l);return 0;
}