• c语言刷题第10周(16~20)


    规律:

    若多个次数最多按ASCII码顺序输出。

    用for循环i取(0~26)

    则输出满足条件的字符串中位置最靠前的那个。

    用while循环遍历(while(a[i]!='\0'))

    从键盘输入任意只含有大小写字母的串s(最多100个字符),统计串中出现次数最多的字母输出,不区分大小写,若多个次数最多按ASCII码顺序输出。

    题干从键盘输入任意只含有大小写字母的串s(最多100个字符),统计串中出现次数最多的字母输出,不区分大小写,若多个次数最多按ASCII码顺序输出。
    输入样例abcdABCDabhijklmnopqytf
    输出样例a-3
    b-3
    1. #include
    2. int main() {
    3. char a[100];
    4. int n[26]={0}, i = 0, max = 0;
    5. gets(a);
    6. while (a[i] != '\0') {
    7. if (a[i] >= 'A' && a[i] <= 'Z') {
    8. a[i] += 32;
    9. }
    10. n[a[i] - 'a']++;
    11. i++;
    12. }
    13. for (i = 0; i < 26; i++) {
    14. if (n[i] > max) {
    15. max = n[i];
    16. }
    17. }
    18. for (i = 0; i < 26; i++) {
    19. if (n[i] == max) {
    20. printf("%c-%d\n", i + 'a', n[i]);
    21. }
    22. }
    23. return 0;
    24. }

     输入若干个只包含小写字母的串,判断是否存在只在字符串中出现过一次的字符。
    若存在,则输出满足条件的字符串中位置最靠前的那个。

    题干输入若干个只包含小写字母的串,判断是否存在只在字符串中出现过一次的字符。
    若存在,则输出满足条件的字符串中位置最靠前的那个。
    若没有,输出  no。
    各字符串的长度不超过  100。
    输入样例abceabcd
    abccbadddffhghg
    goodgoodstudydaydayup
    输出样例e
    no
    s

     

    1. #include
    2. int main() {
    3. char a[100];
    4. int n[26]={0}, i = 0;
    5. while (~scanf("%s",a)) {//~scanf("%s",a)
    6. for (i = 0; i < 26; i++) {
    7. n[i] = 0;
    8. }
    9. i = 0;
    10. while (a[i] != '\0') {
    11. if (a[i] >= 'A' && a[i] <= 'Z') {
    12. a[i] += 32;
    13. }
    14. n[a[i] - 'a']++;
    15. i++;
    16. }
    17. i = 0;
    18. while (a[i] != '\0') {
    19. if (n[a[i] - 'a'] == 1) {
    20. printf("%c\n", a[i]);
    21. break;
    22. }
    23. i++;
    24. }
    25. if (a[i] == 0) {
    26. printf("no\n");
    27. }
    28. }
    29. return 0;
    30. }

     输入只含小写字母的字串(最多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

     

    1. #include
    2. int main() {
    3. char a[30];
    4. int i=0;
    5. gets(a);
    6. while (a[i] != '\0') {
    7. a[i] = 'a' + (a[i] - 'a'+4) % 26;
    8. i++;
    9. }
    10. puts(a);
    11. return 0;
    12. }

     输入任意字串(最多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
    1. #include
    2. int main() {
    3. char a[30];
    4. int i = 0;
    5. gets(a);
    6. while (a[i] != '\0') {
    7. if (a[i] >= 'a' && a[i] <= 'z') {
    8. a[i] = 'a' + (a[i] - 'a' + 4) % 26;
    9. }
    10. else if (a[i] >= 'A' && a[i] <= 'Z') {
    11. a[i] = 'A' + (a[i] - 'A' + 4) % 26;
    12. }
    13. else {
    14. a[i];
    15. }
    16. i++;
    17. }
    18. puts(a);
    19. return 0;
    20. }

    输入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*

     

    1. #define M 10
    2. #define N 10
    3. #include
    4. int main() {
    5. int a[M][N], b[M][N], c[M][N],i,j,k,m,n,s;
    6. scanf("%d%d", &m, &n);
    7. for (i = 0; i < m; i++) {
    8. for (j = 0; j < n; j++) {
    9. scanf("%d", &a[i][j]);
    10. }
    11. }
    12. for (i = 0; i < n; i++) {
    13. for (j = 0; j < m; j++) {
    14. scanf("%d", &b[i][j]);
    15. }
    16. }
    17. for (i = 0; i < m; i++) {
    18. for (j = 0; j < m; j++) {
    19. s = 0;
    20. for (k = 0; k < n; k++) {
    21. s =s+ a[i][k] * b[k][j];
    22. }
    23. c[i][j] = s;
    24. }
    25. }
    26. for (i = 0; i < m; i++) {
    27. for (j = 0; j < m; j++) {
    28. printf("*%d*", c[i][j]);
    29. }
    30. printf("\n");
    31. }
    32. return 0;
    33. }

    排三角形 

     

    1. #include
    2. int main()
    3. {
    4. int k[9] = { 1,2,3,4,5,6,7,8,9 };
    5. int a, b, c, d, e, f, g, h, i, j, l = 0, m, n, o, p, q, r, s, t, u, P;
    6. scanf("%d", &P);
    7. for (j = 0; j < 9; j++)
    8. {
    9. a = k[j];
    10. for (m = 0; m < 9; m++)
    11. if (a != k[m])
    12. {
    13. b = k[m];
    14. for (n = 0; n < 9; n++)
    15. if (k[n] != a && k[n] != b)
    16. {
    17. c = k[n];
    18. for (o = 0; o < 9; o++)
    19. if (k[o] != a && k[o] != b && k[o] != c)
    20. {
    21. d = k[o];
    22. for (p = 0; p < 9; p++)
    23. if (k[p] != a && k[p] != b && k[p] != c && k[p] != d)
    24. {
    25. e = k[p];
    26. for (q = 0; q < 9; q++)
    27. if (k[q] != a && k[q] != b && k[q] != c && k[q] != d && k[q] != e)
    28. {
    29. f = k[q];
    30. for (r = 0; r < 9; r++)
    31. if (k[r] != a && k[r] != b && k[r] != c && k[r] != d && k[r] != e && k[r] != f)
    32. {
    33. g = k[r];
    34. for (s = 0; s < 9; s++)
    35. if (k[s] != a && k[s] != b && k[s] != c && k[s] != d && k[s] != e && k[s] != f && k[s] != g)
    36. {
    37. h = k[s];
    38. for (t = 0; t < 9; t++)
    39. 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)
    40. {
    41. i = k[t];
    42. 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)
    43. l = l + 1;
    44. }
    45. }
    46. }
    47. }
    48. }
    49. }
    50. }
    51. }
    52. }
    53. if (l == 0)
    54. printf("Not exist");
    55. else
    56. printf("%d", l);
    57. return 0;
    58. }

  • 相关阅读:
    王道3.3 栈的应用
    请问Graph Kernel Fusion(图算融合)在mindspore1.7.0下会生成融合后的mindIR的.dot文件吗
    你知道 Java 有哪些引用吗?
    windows和Linux下mongocxx编译及使用说明
    逆变器原理
    Kafka的基础架构
    动态规划算法(1)--矩阵连乘和凸多边形剖分
    OPPO主题组件开发 - 组件内容自适应
    别处拿来的VUE项目 npm run serve报错
    c++小知识
  • 原文地址:https://blog.csdn.net/2301_77479435/article/details/134321134