1.打印图形
A
AB
ABC
ABCD
#include <stdio.h>
#include <math.h>
int main(int argc,const char*argv[])
{
int arr[4][4];
for(int i=0;i<4;i++)
{
for(int j=0;j<=i;j++)
{
if(j==0)
{
printf("A");
}
else if(j==1)
{
printf("B");
}
else if(j==2)
{
printf("C");
}
else if(j==3)
{
printf("D");
}
}
printf("\n");
}
return 0;
}
2.循环输入10位评委的分数,除去最大值和最小值,计算平均值
#include <stdio.h>
#include <math.h>
int main(int argc,const char*argv[])
{
int arr[10];
int sum=0;
printf("请输入10位评委给的分数:");
for(int s=0;s<10;s++)
{
scanf("%d",&arr[s]);
sum+=arr[s];
}
int max=arr[0];
int min=arr[0];
for(int s=0; s<10;s++)
if(arr[s]>max)
{
max=arr[s];
}
else if(arr[s]<min)
{
min=arr[s];
}
printf("max=%d,min=%d,pinjunzhi=%d",max,min,sum/10);
return 0;
}
计算一维数组的最值
#include <stdio.h>
#include <math.h>
int main(int argc,const char*argv[])
{
int n;
printf("请输入这是多少个元素的数组:");
scanf("%d",&n);
int arr[n];
for(int i=0;i<n;i++)
{
printf("请输入数组的值为:");
scanf("%d",&arr[i]);
}
int max=arr[0];
int min=arr[0];
for(int i=0;i<n;i++)
{
if(max<arr[i])
{
max=arr[i];
}
else if(min>arr[i])
{
min=arr[i];
}
}
printf("max=%d,min=%d",max,min);
return 0;
}
一维数组查找
#include <stdio.h>
#include <math.h>
int main(int argc,const char*argv[])
{
int key=10;
int n;
printf("请输入这是多少个元素的数组:");
scanf("%d",&n);
int arr[n];
for(int i=0;i<n;i++)
{
printf("请输入数组的值为:");
scanf("%d",&arr[i]);
}
int count=0;
for(int i=0;i<n;i++)
{
if(key==arr[i])
{
count++;
}
}
if(count==0)
{
printf("未查找到\n");
}
else
{
printf("查找到%d次\n",count);
}
return 0;
}
一维数组冒泡
#include <stdio.h>
#include <math.h>
int main(int argc,const char*argv[])
{
int n=0;
printf("请输入这是多少个元素构成的数组:");
scanf("%d",&n);
int arr[n];
for(int i=0;i<n;i++)
{
printf("请输入每个元素的值是:");
scanf("%d",&arr[i]);
}
int t=0;
int a=sizeof(arr)/sizeof(arr[0]);
for(int i=1;i<a;i++)
{
for(int j=0;j<a-1;j++)
{
if(arr[j]>arr[j+1])
{
t=arr[j+1];
arr[j+1]=arr[j];
arr[j]=t;
}
}
}
for(int i=0;i<n;i++)
{
printf("%d ",arr[i]);
}
return 0;
}
计算二维数组最值
#include <stdio.h>
int main(int argc, const char *argv[])
{
int arr[2][3];
int i,j;
for(int i=0;i<2;i++)
{
for(int j=0;j<3;j++)
{
scanf("%d",&arr[i][j]);
}
}
int max=arr[0][0];
int maxi=0;
int maxj=0;
for(int i=0;i<2;i++)
{
for(int j=0;j<3;j++)
{
if(max<arr[i][j])
{
max=arr[i][j];
maxi=i;
maxj=j;
}
}
}
printf("max=%d maxi=%d maxj=%d\n",max,maxi+1,maxj+1);
return 0;
}
2.使用二维数组实现杨辉三角
#include <stdio.h>
int main(int argc, const char *argv[])
{
int n;
printf("请输入有多行:");
scanf("%d",&n);
int arr[n][n];
for(int i=0;i<n;i++)
{
for(int j=0;j<=i;j++)
{
if(j==0||j==i)
{
arr[i][j]=1;
}
else
{
arr[i][j]=arr[i-1][j-1]+arr[i-1][j];
}
printf("%d",arr[i][j]);
}
printf("\n");
}
return 0;
}
转置
#include <stdio.h>
int main(int argc, const char *argv[])
{
int a[2][3]={1,2,3,4,5,6};
int b[3][2];
for(int i=0;i<2;i++)
{
for(int j=0;j<3;j++)
{
b[j][i]=a[i][j];
}
}
for(int i=0;i<3;i++)
{
for(int j=0;j<2;j++)
{
printf("%d ",b[i][j]);
}
printf("\n");
}
return 0;
}