当前位置:   article > 正文

用 C语言的写出几个小程序_c语言小程序

c语言小程序

系列文章目录

前言

1、第一章:求出一个整型数组中的最大值

2、第二章:打印出100~999之间所有的水仙花数

3、第三章:输入一个数,打印出n行杨辉三角

4、第四章:小只因跳楼梯问题

5、第五章:创建一个含是10个元素的数组,乱序输入后升序输出(冒泡排序)

6、第六章:输入任意十进制整数后,输出该数的八进制

7、第七章:输入一串字符串后倒序输出

8、第八章:输入一个含9个元素的有序数组,再输入一个数 x,将 x 插入有序列中(与冒泡排序相似)  


前言

大家好,C语言作为最基本的编程语言之一,在编程语言中有着很重要的地位。接下来就让我来为大家介绍几个用C语言写出来的几个小程序。


一、求出一个整型数组的最大值

  1. #include<stdio.h>
  2. void main()
  3. {
  4. int array[] = { 11,13,2,45,34,67,56,78 };//array[]为一个整型数组
  5. int max, a;
  6. max = array[0];//先假设最大值是该整型数组中的第一个元素
  7. for (a = 0; a < 8; a++)//利用for循环使数组中的每个元素都与array[0]进行比较
  8. {
  9. if (array[a] > max)
  10. {
  11. max = array[a];//让max与数组中所有的元素进行比较,实现max的值交换后最大
  12. }
  13. }
  14. printf("最大值:%d\n", max);
  15. }

运行截图

二、打印出100~999之间的所有水仙花数

        “水仙花数”是指一个三位数,其各位数字立方和等于该数本身

  1. #include<stdio.h>
  2. void main()
  3. {
  4. int a, b, c, t;
  5. for (t = 100; t < 1000; t++)//限制数的范围是从100~999
  6. {
  7. a = t % 10; b = (t / 10) % 10; c = t / 100;//a是个位上的数字,b是十位上的数字,c是百位上的数字
  8. if (t == a * a * a + b * b * b + c * c * c)//也可以写成(t==a**3+b**3+c**3)
  9. printf("%5d", t);
  10. }
  11. }

运行截图

三、输入一个数,打印出n行杨辉三角

1、由杨辉三角的规律可知,每一行第一位数和最后一位数都为1;

2、其余的数为正上方和左边数之和;

  1. //打印杨辉三角
  2. #include<stdio.h>
  3. #include<stdlib.h>
  4. void main()
  5. {
  6. int n=0,i,j; //对n初始化
  7. scanf_s("%d", &n);
  8. int a[40][40];
  9. for (i = 0; i < n; i++)
  10. {
  11. a[i][0] = 1;//杨辉三角中第一列都为1
  12. a[i][i] = 1;//当行=列时也为1
  13. }
  14. for (i = 2; i < n; i++)
  15. {
  16. for (j = 1; j < i; j++)
  17. {
  18. a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
  19. }
  20. }
  21. for (i = 0; i < n; i++)
  22. {
  23. for (j = 0; j <= i; j++)
  24. printf("%5d", a[i][j]);
  25. printf("\n");
  26. }
  27. }

 运行截图

四 、小只因跳楼梯

只因一次可以跳一级台阶,也可以跳两级台阶,求该只因跳上一个n级台阶共有多少种跳法;

n=1时只有一种解决方案:直接跳一级台阶;

n=2时有两种解决方案:第一种是直接跳两级,第二种是上两次一级台阶;

n=3时有三种方案:第一种在第一层,直接跳到两级台阶到第三层;第二种和第三种在第二层再跳一层到第三层,从第一层到第二层有两种方案,同理,co

  1. #include<stdio.h>
  2. int f(int n)
  3. {
  4. int a = 1;
  5. int b = 2;
  6. int c = 0;
  7. while (n > 2)
  8. {
  9. c = a + b;
  10. a = b;
  11. b = c;
  12. n--;
  13. }
  14. return c;
  15. if (n <= 2)
  16. {
  17. return n;
  18. }
  19. }
  20. int main()
  21. {
  22. int m = 0;
  23. scanf_s("%d", &m);
  24. printf("小只因有几种跳法=>");
  25. printf("%d\n\n\n\n",f(m));
  26. }

运行截图

 

五、创建一个含有10个元素的数组,乱序输入元素后升序输出

  1. #include<stdio.h>
  2. #define N 10
  3. void main()
  4. {
  5. int a[N], i, j, temp;
  6. printf("请输入数字:\n", N);
  7. for (i = 0; i < N; i++)
  8. scanf_s("%d", &a[i]);
  9. for (i = 0; i < N - 1; i++)
  10. {
  11. for (j = 0; j < N - 1; j++)
  12. {
  13. if (a[j] > a[j + 1])
  14. {
  15. temp = a[j];
  16. a[j] = a[j + 1];
  17. a[j + 1] = temp;
  18. }
  19. }
  20. }
  21. for (i = 0; i < N; i++)
  22. printf(" %d ", a[i]);
  23. printf("\n\n\n\n\n");
  24. }

运行截图

、输入任意十进制整数,输出该数的八进制数

  1. #include<stdio.h>
  2. void main()
  3. {
  4. int x;
  5. scanf_s("%d", &x);
  6. int i = 0;
  7. int a[50];
  8. while (1)
  9. {
  10. a[i] = x % 8;
  11. x= x / 8;
  12. if (x == 0)
  13. {
  14. break;
  15. }
  16. i++;
  17. }
  18. int j;
  19. for (j = i; j >= 0; j--)
  20. {
  21. printf("%d", a[j]);
  22. }
  23. printf("\n\n\n\n\n");
  24. }

运行截图

 七、输入一串字符串后倒序输出

  1. #include<stdio.h>
  2. #include<string.h>
  3. void main()
  4. {
  5. char arr[100];
  6. printf("请输入一串字符串:");
  7. scanf_s("%s", arr, 100);
  8. int i = 0;
  9. while (i >= 0)
  10. {
  11. if (arr[i] != '\0')
  12. {
  13. i++;
  14. }
  15. else
  16. {
  17. break;
  18. }
  19. }
  20. printf("倒序后:");
  21. for (int j = i; j >= 0; j--)
  22. {
  23. printf("%c", arr[j]);
  24. }
  25. printf("\n\n\n\n\n");
  26. }

运行截图

八、输入一个含9个元素的有序数组,再输入一个数 x,将 x 插入有序列中(与冒泡排序相似)  

  1. #include<stdio.h>
  2. void main()
  3. {
  4. int a[11] = { 1,2,3,4,6,7,8,9,10 };//为了防止溢出,最好选择比10大的数
  5. int x;
  6. scanf_s("%d", &x);
  7. for (int i = 0; i < 10; i++)
  8. {
  9. if (x > a[i] && i == 9)
  10. a[9] = x;//第十个元素为x
  11. else if (x <= a[i])
  12. {
  13. for (int j = 9; j >= i; j--)
  14. {
  15. a[j + 1] = a[j];
  16. }
  17. a[i] = x;
  18. break;
  19. }
  20. }
  21. for (int i = 0; i < 11; i++)
  22. printf("%-3d", a[i]);
  23. printf("\n\n\n\n\n");
  24. return 0;
  25. }

运行截图


 总结

以上就是今天要讲的内容,本文仅仅简单介绍了一些有关C语言的小程序。希望能给大家带来帮助。

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

闽ICP备14008679号