【C语言OJ刷题】数组代码练习(易懂 超详细)

文章目录

  • 二维数组练习
    • 矩形转阵
  • 一维数组练习
    • 逆序输出
    • 求平均值
  • 交换数组
  • 一维数组选择题

二维数组练习

矩形转阵

将矩阵的行列互换得到的新矩阵称为转置矩阵。

  • 输入两个整数分别代表原数组的行和列,输入数据填充,最后打印出交换过行和列的矩阵
#include 
int main()
{
    int m, n;
    scanf("%d%d", &m, &n);//输入想要的行和列
    printf("row=%d\ncolumn=%d",m,n);
    int arr[10][10] = { 0 };//二维数组的初始化,m和n最大为10.
    int i;
    for (i = 0; i < m;i++)//外循环
    {
        int j;
        for (j = 0; j < n; j++)//内循环
        {
            scanf("%d", &arr[i][j]);
        }
    }//输入数据内容
    int j;
    for (j = 0; j < n; j++)//外循环,表示行
    {
        int i;
        for (i = 0; i < m; i++)//内循环,表示列
        {
            printf("%d ", arr[i][j]);//输出你想要的交换过的数据
        }
        printf("\n");//每经过一次内循环,即每打出一行数便换行,比较规范美观
    }
    return 0;
}

一维数组练习

逆序输出

  • 输入10个整数,逆序输出
#include 

int main() {
    int arr[10];
    int i;
    for(i=0;i<10;i++)
   {
     scanf("%d",&arr[i]);//输入10个元素
   }
    for(i=9;i>=0;i--)
   {
      printf("%d ",arr[i]);//输出10个元素
   }
    return 0;
}

求平均值

  • 输入10个整数,求平均值。
#include 

int main() {
    int arr[10];
    int i;
    float sum=0.0,aver=0.0;
    for (i = 0; i < 10; i++)
    {
        scanf("%d", &arr[i]);
        sum += arr[i];//累加
    }
    aver = sum/10;
    printf("%f", aver);
    return 0;
}

交换数组

两个大小相同的数组进行交换。

#include 


int main()
{
	int arr1[10] = {0};
	int arr2[10] = {0};
	int i = 0;
	printf("请输入10个数字:");
	for(i=0; i<10; i++)
	{
		scanf("%d", &arr1[i]);
	}
	printf("请输入10个数字:");
	for(i=0; i<10; i++)
	{
		scanf("%d", &arr2[i]);
	}
	for(i=0; i<10; i++)
	//数组交换
	{
		int temp = arr1[i];
		arr1[i] = arr2[i];
		arr2[i] = temp;
	}
	return 0;
}

一维数组选择题

char arr1[] = "abcdefg";
char arr2[] = { 'a','b','c','d','e','f','g'};

对于上述代码,正确的是:C
A.数组acX和数组acY等价
B.数组acX和数组acY的长度相同
C.sizeof(arr1)>sizeof (arr2)
D.strlen (arr1)>strlen (arr2)

  • A选项数组arr1和数组arr2都是字符数组,但是初始化表达式不同,arr1中的元素笔arr2中的元素多了"\0",所以两者不一样。

  • B长度不同

  • C选项:sizeof这里求的是数组大小,数组大小等于有效元素个数*每个元素的大小。sizeof(arr1) = 8, sizeof(arr2) = 7.

  • D选项:strlen求的是字符串长度,从首元素开始计算,遇见‘\0’停止,由于arr2数组没有’\0‘,所以strlen(arr2)的结果是个随机值.

你可能感兴趣的:(c语言,算法,数据结构,visualstudio)