赞
踩
前言
1、第一章:求出一个整型数组中的最大值
2、第二章:打印出100~999之间所有的水仙花数
3、第三章:输入一个数,打印出n行杨辉三角
4、第四章:小只因跳楼梯问题
5、第五章:创建一个含是10个元素的数组,乱序输入后升序输出(冒泡排序)
6、第六章:输入任意十进制整数后,输出该数的八进制
7、第七章:输入一串字符串后倒序输出
8、第八章:输入一个含9个元素的有序数组,再输入一个数 x,将 x 插入有序列中(与冒泡排序相似)
大家好,C语言作为最基本的编程语言之一,在编程语言中有着很重要的地位。接下来就让我来为大家介绍几个用C语言写出来的几个小程序。
一、求出一个整型数组的最大值
- #include<stdio.h>
- void main()
- {
- int array[] = { 11,13,2,45,34,67,56,78 };//array[]为一个整型数组
- int max, a;
- max = array[0];//先假设最大值是该整型数组中的第一个元素
- for (a = 0; a < 8; a++)//利用for循环使数组中的每个元素都与array[0]进行比较
- {
- if (array[a] > max)
- {
- max = array[a];//让max与数组中所有的元素进行比较,实现max的值交换后最大
- }
- }
- printf("最大值:%d\n", max);
- }
“水仙花数”是指一个三位数,其各位数字立方和等于该数本身
- #include<stdio.h>
- void main()
- {
- int a, b, c, t;
- for (t = 100; t < 1000; t++)//限制数的范围是从100~999
- {
- a = t % 10; b = (t / 10) % 10; c = t / 100;//a是个位上的数字,b是十位上的数字,c是百位上的数字
- if (t == a * a * a + b * b * b + c * c * c)//也可以写成(t==a**3+b**3+c**3)
- printf("%5d", t);
- }
-
- }
1、由杨辉三角的规律可知,每一行第一位数和最后一位数都为1;
2、其余的数为正上方和左边数之和;
- //打印杨辉三角
- #include<stdio.h>
- #include<stdlib.h>
- void main()
- {
- int n=0,i,j; //对n初始化
- scanf_s("%d", &n);
- int a[40][40];
- for (i = 0; i < n; i++)
- {
- a[i][0] = 1;//杨辉三角中第一列都为1
- a[i][i] = 1;//当行=列时也为1
- }
- for (i = 2; i < n; i++)
- {
- for (j = 1; j < i; j++)
- {
- a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
- }
- }
- for (i = 0; i < n; i++)
- {
- for (j = 0; j <= i; j++)
- printf("%5d", a[i][j]);
- printf("\n");
-
- }
-
- }
只因一次可以跳一级台阶,也可以跳两级台阶,求该只因跳上一个n级台阶共有多少种跳法;
n=1时只有一种解决方案:直接跳一级台阶;
n=2时有两种解决方案:第一种是直接跳两级,第二种是上两次一级台阶;
n=3时有三种方案:第一种在第一层,直接跳到两级台阶到第三层;第二种和第三种在第二层再跳一层到第三层,从第一层到第二层有两种方案,同理,co
- #include<stdio.h>
- int f(int n)
- {
- int a = 1;
- int b = 2;
- int c = 0;
- while (n > 2)
- {
- c = a + b;
- a = b;
- b = c;
- n--;
- }
- return c;
- if (n <= 2)
- {
- return n;
- }
- }
- int main()
- {
- int m = 0;
- scanf_s("%d", &m);
- printf("小只因有几种跳法=>");
- printf("%d\n\n\n\n",f(m));
- }
- #include<stdio.h>
- #define N 10
- void main()
- {
- int a[N], i, j, temp;
- printf("请输入数字:\n", N);
- for (i = 0; i < N; i++)
- scanf_s("%d", &a[i]);
- for (i = 0; i < N - 1; i++)
- {
- for (j = 0; j < N - 1; j++)
- {
- if (a[j] > a[j + 1])
- {
- temp = a[j];
- a[j] = a[j + 1];
- a[j + 1] = temp;
- }
- }
- }
- for (i = 0; i < N; i++)
- printf(" %d ", a[i]);
- printf("\n\n\n\n\n");
-
-
- }
- #include<stdio.h>
- void main()
- {
- int x;
- scanf_s("%d", &x);
- int i = 0;
- int a[50];
- while (1)
- {
- a[i] = x % 8;
- x= x / 8;
- if (x == 0)
- {
- break;
- }
- i++;
- }
- int j;
- for (j = i; j >= 0; j--)
- {
- printf("%d", a[j]);
- }
- printf("\n\n\n\n\n");
-
- }
- #include<stdio.h>
- #include<string.h>
- void main()
- {
- char arr[100];
- printf("请输入一串字符串:");
- scanf_s("%s", arr, 100);
- int i = 0;
- while (i >= 0)
- {
- if (arr[i] != '\0')
- {
- i++;
- }
- else
- {
- break;
- }
-
- }
- printf("倒序后:");
- for (int j = i; j >= 0; j--)
- {
- printf("%c", arr[j]);
- }
- printf("\n\n\n\n\n");
- }
- #include<stdio.h>
- void main()
- {
- int a[11] = { 1,2,3,4,6,7,8,9,10 };//为了防止溢出,最好选择比10大的数
- int x;
- scanf_s("%d", &x);
- for (int i = 0; i < 10; i++)
- {
- if (x > a[i] && i == 9)
- a[9] = x;//第十个元素为x
- else if (x <= a[i])
- {
- for (int j = 9; j >= i; j--)
- {
- a[j + 1] = a[j];
- }
- a[i] = x;
- break;
- }
- }
- for (int i = 0; i < 11; i++)
- printf("%-3d", a[i]);
- printf("\n\n\n\n\n");
- return 0;
- }
总结
以上就是今天要讲的内容,本文仅仅简单介绍了一些有关C语言的小程序。希望能给大家带来帮助。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。