规律:
若多个次数最多按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");
else
printf("%d", l);
return 0;
}