当前位置:   article > 正文

C语言(排序、逆序、计算天数、矩阵转置)

C语言(排序、逆序、计算天数、矩阵转置)

一、对10个整数排序(从小到大)。例如原来 a[0]~a[9]的值为  6  90  45  56  1  15  44  78  58  101,排完序后a[0]~a[9]的值变为  1  6  15  44  45  56  58  78  90  101。

  1. #include<stdio.h>
  2. int main()
  3. {
  4. int i,j,t;
  5. int a[10]={6,90,45,56,1,15,44,78,58,101};
  6. for(i=0;i<10;i++)
  7. {
  8. printf("%d",a[i]);
  9. if(i<9)
  10. printf(",");
  11. }
  12. for(j=0;j<9;j++)
  13. {
  14. for(i=0;i<9-j;i++)
  15. if(a[i]>a[i+1])
  16. {
  17. t=a[i];
  18. a[i]=a[i+1];
  19. a[i+1]=t;
  20. }
  21. }
  22. printf("这些数从小到大排序为:");
  23. for(i=0;i<10;i++)
  24. {
  25. printf("%d",a[i]);
  26. if(i<9)
  27. printf(",");
  28. }
  29. putchar('\n');
  30. return 0;
  31. }
运行结果:

二、将一个数组中的值按逆序重新存放。例如原来a[0]~a[4]为 8、6、5、4、1,逆序后a[0]~a[4]变为  1、4、5、6、8。

  1. #include<stdio.h>
  2. int main()
  3. {
  4. int i,j;
  5. int a[5],b[5];
  6. printf("请输入数组的5个数:");
  7. for(i=0;i<5;i++)
  8. {
  9. scanf("%d",&a[i]);
  10. }
  11. for(j=0,i=4;j<5;j++,i--)
  12. {
  13. b[j]=a[i];
  14. }
  15. printf("该数组逆序为:");
  16. for(i=0;i<5;i++)
  17. {
  18. a[i]=b[i];
  19. printf("%d ",a[i]);
  20. }
  21. putchar('\n');
  22. return 0;
  23. }
运行结果:

三、给出年,月,日,计算该日是该年的第几天

  1. #include<stdio.h>
  2. int main()
  3. {
  4. void run_nian(int x,int y,int z);
  5. void ping_nian(int x,int y,int z);
  6. int a,b,c;
  7. printf("please enter year:");
  8. scanf("%d",&a);
  9. printf("please enter month:");
  10. scanf("%d",&b);
  11. printf("please enter day:");
  12. scanf("%d",&c);
  13. if(a%4==0&&a%100!=0||a%400==0)
  14. run_nian(a,b,c);
  15. else
  16. ping_nian(a,b,c);
  17. return 0;
  18. }
  19. void run_nian(int x,int y,int z)
  20. {
  21. int i;
  22. int sum=0;
  23. int mon[12]={31,29,31,30,31,30,31,31,30,31,30,31};
  24. for(i=0;i<y-1;i++)
  25. {
  26. sum=sum+mon[i];
  27. }
  28. sum=sum+z;
  29. printf("这年为闰年,2月有29天\n");
  30. printf("%d年%d月%d日是这一年的第%d天\n",x,y,z,sum);
  31. }
  32. void ping_nian(int x,int y,int z)
  33. {
  34. int i;
  35. int sum=0;
  36. int mon[12]={31,28,31,30,31,30,31,31,30,31,30,31};
  37. for(i=0;i<y-1;i++)
  38. {
  39. sum=sum+mon[i];
  40. }
  41. sum=sum+z;
  42. printf("这年为平年,2月有28天\n");
  43. printf("%d年%d月%d日是这一年的第%d天\n",x,y,z,sum);
  44. }
运行结果:
闰年

平年

四、写一个函数,是给定的一个3*3的一个二维整数型数组转置,即行列互换

  1. #include<stdio.h>
  2. int main ()
  3. {
  4. int a[3][3]={{4,9,3},{8,5,0},{2,4,6}};
  5. int b[3][3],i,j;
  6. printf("矩阵a为:\n");
  7. for(i=0;i<3;i++)
  8. {
  9. for(j=0;j<3;j++)
  10. {
  11. printf("%5d",a[i][j]);
  12. }
  13. putchar('\n');
  14. }
  15. printf("矩阵a的转置为:\n");
  16. for(i=0;i<3;i++)
  17. {
  18. for(j=0;j<3;j++)
  19. {
  20. b[i][j]=a[j][i];
  21. printf("%5d",b[i][j]);
  22. }
  23. printf("\n");
  24. }
  25. return 0;
  26. }
运行结果:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/273817
推荐阅读
相关标签
  

闽ICP备14008679号