牛客网初阶练习(7)

x33g5p2x  于2022-02-09 转载在 其他  
字(1.5k)|赞(0)|评价(0)|浏览(236)

1.简单计算器

2.带空格直角三角形图案

方法1:

方法2:

  1. 有序序列插入一个数​

1.简单计算器

  1. #include<stdio.h>
  2. int main()
  3. {
  4. double n1 = 0.0;
  5. double n2 = 0.0;
  6. char ch = ' ';
  7. while (scanf("%lf%c%lf", &n1, &ch, &n2) != EOF)
  8. {
  9. switch (ch)
  10. {
  11. case '*':
  12. printf("%.4lf%c%.4lf=%.4lf\n", n1, ch, n2, n1 * n2);
  13. break;
  14. case '+':
  15. printf("%.4lf%c%.4lf=%.4lf\n", n1, ch, n2, n1 + n2);
  16. break;
  17. case '/':
  18. if (n2 == 0)
  19. {
  20. printf("Wrong!Division by zero!\n");
  21. break;
  22. }
  23. else
  24. printf("%.4lf%c%.4lf=%.4lf\n", n1, ch, n2, n1 / n2);
  25. break;
  26. case '-':
  27. printf("%.4lf%c%.4lf=%.4lf\n", n1, ch, n2, n1 - n2);
  28. break;
  29. default:
  30. printf("Invalid operation!\n");
  31. }
  32. }
  33. return 0;
  34. }

2.带空格直角三角形图案

方法1:

先打印空格,再打印*。

  1. #include<stdio.h>
  2. int main()
  3. {
  4. int n = 0;
  5. while(scanf(" %d",&n)!=EOF)
  6. {
  7. int i = 0;
  8. for(i = 0;i<n;i++)
  9. {
  10. int j = 0;
  11. for(j = 0;j<n-i-1;j++)
  12. {
  13. printf(" ");
  14. }
  15. for(j = 0;j<=i;j++)
  16. {
  17. printf("* ");
  18. }
  19. printf("\n");
  20. }
  21. }
  22. return 0;
  23. }

方法2:

(找规律)

  1. #include<stdio.h>
  2. int main()
  3. {
  4. int n = 0;
  5. while (scanf("%d", &n) != EOF)
  6. {
  7. int i = 0;
  8. for ( i = 0; i < n; i++)
  9. {
  10. int j = 0;
  11. for (j = 0; j < n; j++)
  12. {
  13. if (i + j < n-1)
  14. {
  15. printf(" ");
  16. }
  17. else
  18. {
  19. printf("* ");
  20. }
  21. }
  22. printf("\n");
  23. }
  24. }
  25. return 0;
  26. }

3. 有序序列插入一个数

  1. #include<stdio.h>
  2. #include<malloc.h>
  3. int main()
  4. {
  5. int N = 0;
  6. int X = 0;
  7. scanf("%d",&N);
  8. int *arr = (int*)malloc(sizeof(int)*(N+1));
  9. arr[N] = 0;
  10. for(int i = 0;i<N;i++)
  11. {
  12. scanf("%d",&arr[i]);
  13. }
  14. scanf("%d",&X);
  15. int i =0;
  16. for(i = N-1;i>=0;i--)
  17. {
  18. if(arr[i]>X)
  19. {
  20. arr[i+1] = arr[i];
  21. }
  22. else
  23. {
  24. arr[i+1] = X;
  25. break;
  26. }
  27. }
  28. if(i<0)
  29. {
  30. arr[0] = X;
  31. }
  32. for(int i = 0;i<N+1;i++)
  33. {
  34. printf("%d ",arr[i]);
  35. }
  36. return 0;
  37. }

相关文章