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;}