请问以下两个程序可以相互替代吗?为什么?

①#include<stdio.h>
int main(){
int a[10],i;
for(i=0;i<5;i++){
scanf("%d",&a[i]);}
for(i=5;i<10;i++){
int t;
scanf("%d",&t);
a[i]=-t;}
for(i=0;i<10;i++){
printf("%d",a[i]);}
return 0;

}

②#include<stdio.h>
int main(){
int a[10],i;
for(i=0;i<10;i++){
scanf("%d",&a[i]);
if(i>=5)
a[i]=-a[i];}
for(i=0;i<10;i++)
printf("%d",a[i]);
return 0;

}

可以相互替代,这两个程序的本质都是开辟了一个长度为10的数组,前5个数是输入的数,后5个数是输入的数的相反数,最后将数组的10个数输出,所以两个程序可以相互替代