您现在的位置是:首页 >综合 > 2023-11-11 04:00:11 来源:
大一c语言编程题库100题(大一c语言编程题库)
大家好,我是小夏,我来为大家解答以上问题。大一c语言编程题库100题,大一c语言编程题库很多人还不知道,现在让我们一起来看看吧!
1、a. 杨辉三角:
2、代码如下:
3、-------------------------------------------------------
4、#include <stdio.h>
5、int main(int argc, char *argv[])
6、{
7、 int a[10][10] = {1};
8、 int i, j;
9、 for (i = 1; i < 10; i++)
10、 {
11、 a[i][0] = 1; a[i][i] = 1;
12、 for (j = 1; j < i; j++)
13、 {
14、 a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
15、 }
16、 }
17、 for (i = 0; i < 10; i++)
18、 {
19、 for (j = 0; j <= i; j++)
20、 {
21、 printf("%4d ", a[i][j]);
22、 }
23、 printf(" ");
24、 }
25、 return 0;
26、}
27、b. 冒泡排序与折半查找:
28、代码如下:
29、-----------------------------------------------------
30、#include <stdio.h>
31、void sort(int *a)
32、{
33、 int t, i, j;
34、 for (i = 0; i < 10; i++)
35、 {
36、 for (j = 0; j < 10; j++)
37、 {
38、 if (a[i] < a[j])
39、 {
40、 t = a[i]; a[i] = a[j]; a[j] = t;
41、 }
42、 }
43、 }
44、}
45、int find(int *a, int x)
46、{
47、 int l = 0, h = 9, m;
48、 while ((m = (int) (l + h) / 2) > l)
49、 {
50、 if (a[m] > x) // 数只可能在左边, 即再在左半部查找
51、 {
52、 h = m;
53、 }
54、 else if (a[m] < x) // 数只可能在右边, 即再在右半部查找
55、 {
56、 l = m;
57、 }
58、 else // 已经找到
59、 {
60、 return m;
61、 }
62、 }
63、 if (a[h] == x) return h;
64、 if (a[l] == x) return l;
65、 return -1; // 没有找到
66、}
67、int main(int argc, char *argv[])
68、{
69、 int b[10], x, i, j;
70、 for (i = 0; i < 10; i++)
71、 {
72、 printf("a[%d] = ", i); scanf("%d", &b[i]); // 输入
73、 }
74、 for (i = 0; i < 10; i++)
75、 {
76、 printf("%3d ", b[i]); // 输出
77、 }
78、 printf(" ");
79、 sort(b); //排序
80、 printf(" ");
81、 for (i = 0; i < 10; i++)
82、 {
83、 printf("%3d ", b[i]); // 输出排序后的数组
84、 }
85、 do // -1 退出程序
86、 {
87、 printf(" Find What?(type -1 to quit): "); scanf("%d", &x);
88、 printf("[%d] was found at location: [%d] (-1 means not found)", x, find(b, x));
89、 } while (x != -1);
90、 printf(" ");
91、 return 0;
92、}
本文到此讲解完毕了,希望对大家有帮助。