1:打印杨辉三角
91 int arr[6][6];92 int i,j=0;93 for(i=0;i<6;i++)94 {95 for(j=0;j<=i;j++) 96 {97 if(j==0||i==j)98 {99 arr[i][j]=1;
100 }
101 else
102 arr[i][j]=arr[i-1][j]+arr[i-1][j-1];
103 printf("%-4d",arr[i][j]);
104
105 }
106 putchar(10);
107 }
108 return 0;
109 }
运行结果:
2:定义数组并初始化,输出数组中任意两个数的最大差值,以及最大和(不允许使用排序)
int arr[]={12,3,4,23,56,3,6};
最大差: 56-3=53
最大和:56+23=79
113 int arr[]={12,3,4,23,56,3,6};
114 int i,j=0;
115 int max=arr[0];
116 int min=arr[0];
117 int max_he=0;
118 int max_cha=0;
119 for(i=0;i<7;i++)
120 {
121 if(max<arr[i])
122 {
123 max=arr[i];
124 }
125 if(min>arr[i])
126 {
127 min=arr[i];
128 }
129 }
130 int max2=0;
131 for(i=0;i<7;i++)
132 {
133 if(max2<arr[i]&&arr[i]!=max)
134 {
135 max2=arr[i];
136 }
137 }
138 printf("max_he=%d max_cha=%d\n",max+max2,max-min);
运行结果:
3: 定义数组并初始化,现有一个flag,如果flag是1,则默认使用冒泡实现升序排序
如果flag是0,则默认使用简单选择实现降序排序
int arr[]={12,3,4,23,56,3,6};
144 int arr[]={12,3,4,23,56,3,6};
145 int flag;
146 printf("请输入flag的数值:");
147 scanf("%d",&flag);
148 if(flag==1)
149 {
150 int i,j,temp=0;
151 for(i=1;i<7;i++)
152 {
153 for(j=0;j<7-i;j++)
154 {
155 if(arr[j]>arr[j+1])
156 {
157 temp=arr[j];
158 arr[j]=arr[j+1];
159 arr[j+1]=temp;
160 }
161 }
162 }
163 for(i=0;i<7;i++)
164 {
165 printf("%d ",arr[i]);
166 }
167 }
168
169 else if(flag==0)
170 { int i,j=0;
171 int temp2=0;
172 for(i=0;i<7-1;i++)
173 {
174 int min=i;
175 for(j=i+1;j<7-1;j++)
176 {
177 if(arr[min]<arr[j])
178 {
179 min=j;
180 }
181 }
182 if(min!=i)
183 {
184 temp2=arr[min];
185 arr[min]=arr[i];
186 arr[i]=temp2;
187
188 }
189 }
190 for(i=0;i<7;i++)
191 {
192 printf("%d ",arr[i]);
193 }
194 }
运行结果:
3.定义数组存储n个整数,现有key,输入,查找数组中是否在key
如果出现一次,请输出对应的位置
如果出现0次,则提示不存在
如果出现多次,则提示出现的次数
4.定义二维数组并初始化,请输出二维数组每一行的和,以及输出每一列的和
int arr[2][3]={
12,11,0 行和:23
2,3,4} 行和:9
列和 14 14 4
流程图: