数组的使用

在生活中,我们或许会遇到一连串相似类型的数据,逐一的对他们进行处理,我们或许会进行的非常繁琐的处理。比如,我们来计算一下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;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值