数组与循环 帮忙写下~解决方法

数组与循环 帮忙写下~~
我想要个程序:
        首先是个数组(一般的数字数组),然后用:if,for,while.do-while...对数组进行输出,排序等操作,反正就是数组与循环的有机结合。无论多么简单的,难的程序也行,就是要用完   c   语言里的循环来进行操作(不要指针),大家随便举个例子吧!

要求:
      举例时要将用到的知识解释清楚,写成注释形式放在程序右边,还要写上在用   循环   时的注意事项,要点等!

------解决方案--------------------
有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去
      掉不满足条件的排列。
2.程序源代码:
main()
{
int i,j,k;
printf( "\n ");
for(i=1;i <5;i++)    /*以下为三重循环*/
 for(j=1;j <5;j++) 
  for (k=1;k <5;k++)
   {
    if (i!=k&&i!=j&&j!=k)    /*确保i、j、k三位互不相同*/
    printf( "%d,%d,%d\n ",i,j,k);
   }
}
========
------解决方案--------------------
#include "stdio.h "
int main()
{
int array[3][3],i=0,j=0;//定义一个数组
printf( "输入数组各值: ");
for(i=0;i <3;i++)//下面是循环输入数祖
{
for(j=0;j <3;j++)
{
scanf( "%d ",array[i][j]);
}
}
for(i=0;i <3;i++)//下面是循环输出数祖
{
for(j=0;j <3;j++)
{
printf( "%d ",array[i][j]);
}
}


}
------解决方案--------------------
题目:射击运动员10发打中90环有多少种可能?

#include <stdio.h>
main()
{long f,g,h,i,j,k,l,m,n,x=0;
for(f=0;f <=10;f++) /*第一枪的可能得分是f=(0--10)环的成绩*/
for(g=10-f;g <=10;g++) /*第二枪的可能得分是g=10-f环的成绩*/
for(h=20-f-g;h <=10;h++)
for(i=30-f-g-h;i <=10;i++)
for(j=40-f-g-h-i;j <=10;j++)
for(k=50-f-g-h-i-j;k <=10;k++)
for(l=60-f-g-h-i-j-k;l <=10;l++)
for(m=70-f-g-h-i-j-k-l;m <=10;m++)
for(n=80-f-g-h-i-j-k-l-m;n <=10;n++) /*第九枪的可能得分是n环的成绩*/
x++;
printf( "%ld ",x);
}