1.数组遍历
#include <stdio.h>
int main()
{
int i,a[10];
for(i=0;i<=9;i++) //对数组元素a[0]~a[9]赋值
a[i]=i;
for(i=9;i>=0;i--) //输出a[9]~a[0]共10个数组元素
printf("%d ",a[i]);
printf("\n");
return 0;
}
运行结果:
2.数组应用:
#include <stdio.h>
int main()
{
int i;
int f[20]={1,1}; //对最前面两个元素赋值为1
for(i=2;i<20;i++)
f[i]=f[i-2]+f[i-1]; //先求出f[2]~f[19]的值
for(i=0;i<20;i++)
{
if(i%5==0) printf("\n"); //控制每个输出5个数后换行
printf("%10d",f[i]); //输出一个数 ,%10d间隔为10
}
printf("\n");
return 0;
}
运行结果;
3.凑硬币:
//凑硬币 ,one指的是1角 ,two是两角, five是五角
#include <stdio.h>
int main()
{
int x;
int one,two,five;
scanf("%d",&x); //输入多少元
for(one=1;one<x*10;one++){
for(two=1;two<x*10/2;two++){
for(five=1;five<x*10/5;five++){
if(one+two*2+five*5==x*10){
printf("可以用%d个1角加%d个2角加%d个5角得到%d元\n",
one,two,five,x);
}
}
}
}
return 0;
}
运行结果:
4.二维数组行列交换
#include <stdio.h>
int main()
{
int a[2][3]={{7,8,9},{6,5,4}}; //两行三列
int b[3][2],i,j;
printf("array a:\n");
for(i=0;i<=1;i++) //处理a数组中的一行中各元素
{
for(j=0;j<=2;j++) //处理a数组中某一列中各元素
{
printf("%5d",a[i][j]); //输出a数组的一个元素
b[j][i]=a[i][j]; //将a数组元素的值赋值给b数组相应元素
}
printf("\n");
}
printf("array b:\n"); //输出b数组各元素
for(i=0;i<=2;i++) //处理b数组中一行中各元素
{
for(j=0;j<=1;j++) //处理b数组中一列中各元素
printf("%5d",b[i][j]); //输出b数组的一个元素
printf("\n");
}
return 0;
}
运行结果:
5.引用数组
//引用数组
#include <stdio.h>
int main()
{
char c[15]={'I',' ','a','m',' ','a',' ','s','t','u','d','e','n','t','.'};
int i;
for(i=0;i<15;i++)
printf("%c",c[i]);
printf("\n");
return 0;
}
运行结果:
//利用数组输出菱形图,用嵌套for循环输出字符数组中的所有元素
#include <stdio.h>
int main()
{
char diamond[][5]={{' ',' ','$'},{' ','$',' ','$'},{'$',' ',' ',' ','$'},
{' ','$',' ','$'},{' ',' ','$'}};
int i,j;
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
printf("%c",diamond[i][j]);
printf("\n");
}
return 0;
}