今天分享的是“替换”。
那什么是“替换”,“替换”就是交换数值。
我们先来看下面这一个代码——
#include "stdio.h"
void main( )
{
float a,b,c,t; //定义变量
scanf("%f %f %f",&a,&b,&c); //输入变量的值并存入a,b,c中
if(a<b) //选两个数来判断大小,判断a与b谁大
{
t=a; //这里是我们今天讲的重点:首先将a存入t中
a=b; //将b赋给a
b=t; //将t赋给b
} //若执行,此处将大的值放在了a中
if(a<c) //判断a与c谁大
{
t=a; //同理上述
a=c;
c=t;
} //若执行,此处将更大的值放在了a中
if(b<c)
{
t=b;
b=c;
c=t;
}
printf("The largest number is %.2f",a);
}
其实最后一段if(b<c)可以不放,如果放的话就相当于求解从大到小排列了(将printf里的内容改成由大到小打印出来就好了),但放入并不影响。
在if中的一串代码就是我们的替换代码。这也是我们的基础代码,需要牢记,可以运用在各个题中。
还有另外一种替换,也就是将变量变为了数组
二维矩阵元素的互换
#include<stdio.h>
int main()
{
// 请在此添加代码,二维数组定义和赋值初始化
int a[2][3],i,j; //先定义a[][]这二维数组(单个框[]就是一维数组)
for(i=0;i<=1;i++) //想要赋初值要用for循环
{
for(j=0;j<=2;j++)
{
scanf("%d",&a[i][j]); //由循环输入a[][]的每一个值
}
}
/********** End **********/
int b[3][2]; //同上(将a换成b)
printf("array a:\n");
for (i=0;i<=1;i++)
{
for (j=0;j<=2;j++)
{ printf("%5d",a[i][j]); //输出a[2][3]矩阵 %5d是宽度为5,可以看我前面的文章
(在输入与输出中)有介绍
// 请在此添加代码,行列元素互换后存入b数组
b[j][i]=a[i][j]; //今天的主角:替换!将a[2][3]的数与b[3][2]的对应交换
}
printf("\n");
}
printf("array b:\n"); //输出b[3][2]矩阵
for (i=0;i<=2;i++)
{ for(j=0;j<=1;j++)
// 请在此添加代码,输出数组b
printf("%5d",b[i][j]);
printf("\n");
}
return 0;
}
这串代码的详解放在了这串代码的//后
强调一下,我所说的“替换”并不是一种固化的C语言中的一种表达方式,而是灵活的运用其他c语言的运算符与函数,以及规则等等。大家要多多揣摩,理解其中的运算规则。
最后,如果你们有其他的“替换”方式,可以在评论区探讨,多多学习!
多多重复,百炼成钢!