[关闭]
@Arbalest-Laevatain 2018-05-25T23:31:48.000000Z 字数 1535 阅读 622

C语言程序设计第八章作业

计算机双学位 C语言


第七题

  1. #include <stdio.h>
  2. #define n 10
  3. int main()
  4. {
  5. char c1[n];
  6. char *p1=c1;
  7. int m;
  8. printf("请输入字符串\n");
  9. scanf("%s",c1);
  10. printf("%s\n",p1);
  11. printf("输入一个下标\n");
  12. scanf("%d",&m);
  13. p1+=m;
  14. printf("%s\n",p1);
  15. return 0;
  16. }

总结:

第八题

  1. #include <stdio.h>
  2. #include <string.h>
  3. #define n 10
  4. int main() {
  5. char c[n];
  6. char *p=c;
  7. int n1=0,n2=0,n3=0,n4=0,n5=0;
  8. //大写字母数,小写字母数,空格数,数字,其他字符
  9. p=c;
  10. gets(p);
  11. while (*p)
  12. {
  13. //计算数字的个数
  14. if (*p>='0' && *p<='9')
  15. {
  16. n4++;
  17. }
  18. //计算大写字母
  19. else if (*p>='A' && *p<='Z')
  20. {
  21. n1++;
  22. }
  23. //计算小写字母
  24. else if (*p>='a' && *p<='z')
  25. {
  26. n2++;
  27. }
  28. //计算空格数,空格的ASCII码为32
  29. else if (*p==32)
  30. {
  31. n3++;
  32. } else
  33. n5++;
  34. p++;
  35. }
  36. printf("%d %d %d %d %d\n",n1,n2,n3,n4,n5);
  37. return 0;
  38. }

第十题

  1. #include <stdio.h>
  2. void juzhen(int *p)
  3. {
  4. int temp;
  5. int *pmax,*pmin;
  6. pmax=p;
  7. pmin=p;
  8. for (int i=0;i<5;i++)
  9. {
  10. for (int j=i;j<5;j++)
  11. {
  12. if ((*pmax)<*(p+5*i+j))
  13. pmax=p+5*i+j;
  14. if ((*pmin)>*(p+5*i+j))
  15. pmin=p+5*i+j;
  16. }
  17. }
  18. temp=*(p+12);
  19. *(p+12)=*pmax;
  20. *pmax=temp;
  21. temp=*p;
  22. *p=*pmin;
  23. *pmin=temp;
  24. pmin=p+1;
  25. for (int i=0;i<5;i++)
  26. {
  27. for (int j=0;j<5;j++)
  28. {
  29. if (((p+5*i+j)!=p) && (*pmin>*(p+5*i+j)))
  30. pmin=p+5*i+j;
  31. }
  32. }
  33. temp=*pmin;
  34. *pmin=*(p+4);
  35. *(p+4)=temp;
  36. pmin=p+1;
  37. for (int i=0;i<5;i++)
  38. for (int j=0;j<5;j++)
  39. if (((p+5*i+j)!=(p+4)) && ((p+5*i+j)!=p) && (*pmin>*(p+5*i+j)))
  40. pmin=p+5*i+j;
  41. temp=*pmin;
  42. *pmin=*(p+20);
  43. *(p+20)=temp;
  44. pmin=p+1;
  45. for (int i=0;i<5;i++)
  46. for (int j=0;j<5;j++)
  47. if (((p+5*i+j)!=p) && ((p+5*i+j)!=(p+4)) && ((p+5*i+j)!=(p+20)) && (*pmin>*(p+5*i+j)))
  48. pmin=p+5*i+j;
  49. temp=*pmin;
  50. *pmin=*(p+24);
  51. *(p+24)=temp;
  52. }
  53. int main() {
  54. int a[5][5];
  55. int *p=a;
  56. for (int i=1;i<=25;i++)
  57. {
  58. *p=i;
  59. p++;
  60. }
  61. for (int i=0;i<5;i++)
  62. {
  63. for (int j=0;j<5;j++)
  64. {
  65. printf("%2d ",a[i][j]);
  66. }
  67. printf("\n");
  68. }
  69. juzhen(a);
  70. for (int i=0;i<5;i++)
  71. {
  72. for (int j=0;j<5;j++)
  73. {
  74. printf("%2d ",a[i][j]);
  75. }
  76. printf("\n");
  77. }
  78. return 0;
  79. }
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注