1.打印图形
程序代码:
1 #include<stdio.h>
2 #include<string.h>
3 #include<stdlib.h>
4 int main(int argc, const char *argv[])
5 {
6 int n; //定义n,终端输入
7 printf("please enter n:");
8 scanf("%d",&n);
9 for(int i=1;i<=n;i++) //循环行
10 {
11 char m='A'; //定义m,每次内循环后重置m
12 for(int j=1;j<=i;j++) //循环列
13 {
14 printf("%c",m); //打印A
15 m++; //m++,ASCII+1,打印ABCD
16 }
17 printf("\n");
18 }
19 return 0;
20 }
运行结果:
2.循环输入10位评委的分数,除去最大值和最小值,计算平均值
程序代码:
1 #include<stdio.h>
2 #include<string.h>
3 #include<stdlib.h>
4 int main(int argc, const char *argv[])
5 {
6 int arr[10]; //定义数组
7 for(int i=0;i<10;i++) //循环输入
8 {
9 printf("please enter %d num:",i+1);
10 scanf("%d",&arr[i]);
11 }
12 int max,min,sum=0; //定义最大、最小
13 max=min=arr[0];
14 for(int i=0;i<10;i++) //循环比较大小
15 {
16 sum+=arr[i];
17 if(max<=arr[i])
18 max=arr[i];
19 if(min>=arr[i])
20 min=arr[i];
21 }
22 float ave=(sum-max-min)/8; //计算平均值
23 printf("ave=%.2f\n",ave);
24 return 0;
25 }
运行结果:
3.一维数组所有案例
程序代码:
1 #include<stdio.h>
2 #include<string.h>
3 #include<stdlib.h>
4 int main(int argc, const char *argv[])
5 {
6 int n;
7 printf("please enter num:");
8 scanf("%d",&n);
9 int arr[n];
10 for(int i=0;i<n;i++)
11 {
12 printf("please enter %d num:",i+1);
13 scanf("%d",&arr[i]);
14 }
15 /*//一维数组的最值
16 int max,min;
17 max=min=arr[0];
18 for(int i=0;i<n;i++)
19 {
20 if(max<=arr[i])
21 max=arr[i];
22 if(min>=arr[i])
23 min=arr[i];
24 }
25 printf("max=%d\n",max);
26 printf("min=%d\n",min);
27 */
28 /*//一维数组的查找
29 int key; //定义寻找值key
30 printf("please enter key:");
scanf("%d",&key);
32 int count=0,index; //定义计数count,下标inde
33 for(int i=0;i<n;i++) //循环查找
34 {
35 if(key==arr[i])
36 {
37 count++;
38 index=i;
39 }
40 }
41 if(count==0) //不存在
42 printf("unexist\n");
43 else if(count==1) //存在一个,打印下标
44 printf("exist and i=%d\n",index);
45 else
46 printf("exist %d\n",count); //存在多个,打印个>
47 */
48 /*//一维数组的冒泡
49 for(int i=1;i<n;i++) //外层循环轮数
50 {
51 for(int j=0;j<n-i;j++) //内层循环比较次数,数组
52 {
53 if(arr[j]>=arr[j+1]) //判断并交换
54 {
55 int t=arr[j];
56 arr[j]=arr[j+1];
57 arr[j+1]=t;
58 }
59 }
60 }
61 for(int i=0;i<n;i++) //循环打印
62 printf("%d ",arr[i]);
63 printf("\n");
64 */
65 //一维数组简单选择
66 for(int i=0;i<n-1;i++)
67 {
68 int min=i;
69 for(int j=i+1;j<n;j++)
70 {
71 if(arr[min]>arr[j])
72 {
73 min=j;
74 }
75 }
76 if(i!=min)
77 {
78 int t=arr[i];
79 arr[i]=arr[min];
80 arr[min]=t;
81 }
82 }
83 for(int i=0;i<n;i++)
84 printf("%d ",arr[i]);
85 printf("\n");
86 return 0;
87 }
一维数组最值运行结果:
一维数组查找运行结果:
一维数组冒泡运行结果:
一维数组简单排序运行结果:
4.二维数组案例题
4.1.二维数组计算最大值以及对应行、列
程序代码:
1 #include<stdio.h>
2 #include<string.h>
3 #include<stdlib.h>
4 int main(int argc, const char *argv[])
5 {
6 int arr[2][3]; //定义二维数组
7 for(int i=0;i<2;i++) //循环输入
8 {
9 for(int j=0;j<3;j++)
10 {
11 printf("please enter num:");
12 scanf("%d",&arr[i][j]);
13 }
14 }
15 int max; //定义最值
16 max=arr[0][0];
17 int indexi=0,indexj=0; //定义最值下标为0,防止第一个数为最大值
18 for(int i=0;i<2;i++) //循环比较
19 {
20 for(int j=0;j<3;j++)
21 {
22 if(max<=arr[i][j]) //替换
23 {
24 max=arr[i][j];
25 indexi=i;
26 indexj=j;
27 }
28 }
29 }
30 printf("max=%d\n",max);
31 printf("max indexi:%d\n",indexi);
32 printf("max indexj:%d\n",indexj);
33 return 0;
34 }
运行结果:
4.2、杨辉三角
程序代码:
1 #include<stdio.h>
2 #include<string.h>
3 #include<stdlib.h>
4 int main(int argc, const char *argv[])
5 {
6 int n; //定义n,终端输入
7 printf("please enter num:");
8 scanf("%d",&n);
9 int arr[n][n]; //杨辉三角,行列相等,定义数组
10 for(int i=0;i<n;i++) //循环打印,行
11 {
12 for(int j=0;j<=i;j++) //列
13 {
14 if(j==0||i==j) //规律
15 arr[i][j]=1;
16 else
17 {
18 arr[i][j]=arr[i-1][j]+arr[i-1][j-1];
19 }
20 printf("%-4d",arr[i][j]);
21 }
22 printf("\n");
23 }
24 return 0;
25 }
运行结果:
4.3、逆置
程序代码:
1 #include<stdio.h>
2 #include<string.h>
3 #include<stdlib.h>
4 int main(int argc, const char *argv[])
5 {
6 int arr[2][3]; //定义数组
7 for(int i=0;i<2;i++) //循环输入
8 {
9 for(int j=0;j<3;j++)
10 {
11 printf("please enter num:");
12 scanf("%d",&arr[i][j]);
13 }
14 }
15 int a[3][2]; //定义逆置接收数组
16 for(int i=0;i<2;i++) //循环逆置,i、j交换
17 {
18 for(int j=0;j<3;j++)
19 {
20 a[j][i]=arr[i][j];
21 }
22 }
23 for(int i=0;i<3;i++)//循环打印
24 {
25 for(int j=0;j<2;j++)
26 {
27 printf("%d ",a[i][j]);
28 }
29 printf("\n");
30 }
31 return 0;
32 }
运行结果:
流程图: