字数が多くなるので分けます
まず「昇順に並んだ適当な整数で初期化された要素数5個の配列を2個用意する。別に要素数10個の配列を用意して、その要素が前の2個の配列中の要素を混ぜ合わせて昇順に並べたものを作れ、ただし2個の配列と要素数を引数としてそれらの配列をマージした結果を返す関数を定義せよ」
という問題で関数を使わないプログラムを以下で書いたのですが
#include <stdio.h>
main(){
int a[5]={1,2,3,4,5};
int b[5]={1,2,3,4,5};
int c[10];
int i, x, y, z, x1, y1, z1;
for(i=0; i<10; i++){
z=999;
x1=999;
for(x=0; x<5; x++){
if(a[x]<z){
z=a[x];
y1=x;
}
}
for(y=0; y<5; y++){
if(b[y]<x1){
x1=b[y];
z1=y;
}
}
if(z<=x1){
c[i]=z;
a[y1]=99999;
}
else{
c[i]=x1;
b[z1]=99999;
}
}
for(i=0; i<10; i++)
printf("[%d]=%d\n", i, c[i]);
}