基础循环练习

一、实验内容

1、实现矩阵转置,要求如下。

(1)初始化二维数组a[3][4],并且输出矩阵转置前的二维数组。转置后,将转置后的二维数组b[4][3]输出。

(2)二维数组的行用i变量表示,二维数组的列j变量表示。

(3)运行结果示例图:

2、找出下列矩阵中最大的数,并输出其行号和列号,要求如下。

(1)其中二维数组为a[3][4],数组按照表格中的值进行初始化,按二维数组的行用i变量表示,二维数组的列j变量表示;

(2)最大值用变量max表示,最大值行号用变量row表示,最大值列号用变量col表示。

3.编写程序,输出所有水仙花数,所谓水仙花数是指一个3位数,其各位数字的立方和等于该数本身

二.源代码

1.

#include <stdio.h>
int main()
{
    int a[3][4];
    int i,j;
    int b[4][3];
    for(i=0;i<3;i++)
    {
        for(j=0;j<4;j++)
        {
            scanf("%d",&a[i][j]);
        }
        printf("\n");
    }
printf("输出转置前数组;\n");
    for(i=0;i<3;i++)
    {
        for(j=0;j<4;j++)
        {
            printf("%d ",a[i][j]);
        }
        printf("\n");
    }
for(i=0;i<3;i++)
{
    for(j=0;j<4;j++)
    {
        b[j][i]=a[i][j];
    }
}
    printf("输出转置后数组;\n");
    for(i=0;i<4;i++)
    {
        for(j=0;j<3;j++)
        {
            printf("%d ",b[i][j]);
        }
        printf("\n");
    }
    return 0;
}

2.

#include <stdio.h>
int main()
{
    int a[3][4];
    int i,j;
    int row,col;
    int max=0;
    printf("录入矩阵为:\n");
    for(i=0;i<3;i++)
    {
        for(j=0;j<4;j++)
        {
            scanf("%d",&a[i][j]);
        }
        printf("\n");
    }

for(i=0;i<3;i++)
{
    for(j=0;j<4;j++)
    {
        if(a[i][j]>max)
        {
            max=a[i][j];
            row=i;
            col=j;
        }
    }
}

        printf("最大数%d\n",max);
        printf("行号%d;列号%d\n",row,col);
    return 0;
}

 

3.

#include<stdio.h>
int main()
{
	int i, x, y, z;
	for (i = 100; i < 1000; i++)
	{
		x = i % 10;
		y = i / 10 % 10;
		z = i / 100 % 10;
		if (i == (x * x * x + y * y * y + z * z * z))
			printf("%d\n", i);
	}
	return 0;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值