数组的使用

来源:互联网 发布:linux os update 编辑:程序博客网 时间:2024/04/30 06:41

在生活中,我们或许会遇到一连串相似类型的数据,逐一的对他们进行处理,我们或许会进行的非常繁琐的处理。比如,我们来计算一下0——n中有多少个9.

是的,略微思考,能写出以下程序。

int main ()

{

int n;

int c9 = 0;                //定义计算9个数的量

scanf ("%d", &n);          //在键盘上输入n的值

int i;

for (i = 1; i <= n; i++)       //1n遍历

{

int num = i;       

                   

while(num)           //num0时,就会跳出循环

{

if (9 == num % 10)         // 如果num求余为9c9计数加一

c9++;

num /= 10;              // num取整,看其是否还有其他位上有数

}

}

printf ("c9 : %d\n", c9);

return 0;

}

 

利用这样的程序,可以求出任意一个数范围内所有9的数量,但是,如果让你计算从1——n中,有多少个0——9又该是如何,是不是感觉头皮发麻。不过,我们的C同样为我们找到了解决的办法,数组,顾名思义,同一类数的集合。因为他们具有着相同的性质,所以才能放到一块。来,我们来看一下使用数组如何解决那个让人头皮发麻的问题。

int main()

{

//定义一个变量 名字叫c

//这个变量占 10 int型变量的空间

int c[10];                  //定义一个数组

int i;

for (i = 0; i < 10; i++)         //利用for循环来将数组进行初始化

{

c[i] = 0;

}

int n;

scanf ("%d", &n);

c[0] = 1;                               //因为我们下面的循环从1开始,对于0                                

//我们只好在之前给他计数加一

for (i = 1; i <= n; i++)                     //开始遍历

{

int num = i;

while (num)

{

c[num%10]++;             //利用for循环,对数组中的每个数进行计数

num /= 10;

}

}

for (i = 0; i < 10; i++)          //使用for循环将数组里的数打印出来

{

printf ("c[%d]  :  %d\n", i, c[i]);

}

return 0;

}

原创粉丝点击