刘汝佳/算法竞赛入门经典第三章数组和字符串-下

  1. 习题3-5旋转
  2. 输入一个n*n的字符矩阵,向左旋转90度输出.
  3. #include <stdio.h>
  4. int main()
  5. {
  6.     int N;
  7.     int i, j;
  8.     printf("请输入N\n");
  9.     scanf("%d",&N);
  10.     printf("请输入N*N矩阵\n"); 
  11.     char m[N][N];
  12.     for(i=0; i<N; i++)
  13.         scanf("%s", &m[i]);
  14.     printf("\n");
  15.     for(i=0; i<N; i++)
  16.     {
  17.         for(j=0; j<N; j++)
  18.         {
  19.         printf("%c ", m[j][N-1-i]);    
  20.         } 
  21.         printf("\n");
  22.     }
  23.     return 0;
  24. }
  25. 习题3-6,3-7进制转换(十进制和n进制互转(2<=n<=10))略
  26. 习题3-8手机键盘
  27. 输入一个由小写字母组成的英文单词,输出用手机的默认英文输入法的敲打序列.例如要打pig,需要按一次p,三次i,(稍作停顿后)1次i记为p1i3g1
  28. #include<stdio.h>
  29. #include<ctype.h>
  30. int main()
  31. {
  32.     int i,j,k,n;
  33.     int len;
  34.     char m[8][4]={
  35.     {'a','b','c','0'}, 
  36.     {'d','e','f','0'}, 
  37.     {'g','h','i','0'}, 
  38.     {'j','k','l','0'}, 
  39.     {'m','n','o','0'}, 
  40.     {'p','q','r','s'}, 
  41.     {'t','u','v','0'}, 
  42.     {'w','x','y','z'}, 
  43.     };
  44.     char str[20];
  45.     gets(str);
  46. //    puts(str);
  47.     for(n=0; n<20; n++)
  48.     {
  49.         if(isalpha(str[n]))
  50.         {
  51.             len++;
  52.         }
  53.     }
  54. //    printf("len=%d\n",len);
  55. //    printf("%c\n",str[0]);//测试 
  56. //    printf("%c\n",str[1]);
  57. //    printf("%c\n",str[2]);
  58.     for(k=0;k<len;k++)
  59.     for(i=0; i<8; i++)//
  60.     {
  61.         for(j=0;j<4;j++)//
  62.         {
  63.             if(m[i][j]==str[k])
  64.             {
  65.             printf("%c%d",str[k],j+1);
  66.             }
  67.         } 
  68.     }
  69.     return 0;
  70. }  
  71.                                                                                                                                  未完持续......

猜你喜欢

转载自blog.csdn.net/a22222259/article/details/87906520