第十一周笔记

这周我学习到了数组的使用。

下面是我的一个实践例子(杭电2008题):

在这道题里,数组的问题不大,主要还是输出的问题,首先要清除统计次数,还有就是对n等于0时的处理。

我刚开始时是在后面加一个n等于0时的情况,在我电脑里跑出来了,但提交的时候超时了。后来将n=0的情

况写在循环里就好了。

题目:

统计给定的n个数中,负数、零和正数的个数。

Input

输入数据有多组,每组占一行,每行的第一个数是整数n(n<100),表示需要统计的数值的个数,然后是n个实数;如果n=0,则表示输入结束,该行不做处理。

Output

对于每组输入数据,输出一行a,b和c,分别表示给定的数据中负数、零和正数的个数。


我的代码:

#include

#define j 100

main()

{

double m[j];

int n,i,a=0,b=0,c=0;

while(scanf("%d",&n)!=EOF&&n)//设置循环输入组;当n为0时,结束程序。

{

for(i=0;i

{

scanf("%lf", &m[i]);//给数组里的元素逐个赋值 ,赋值次数为n次

}

for(i=0;i

{

if(m[i]<0)

{a++;}

else if(m[i]==0)

{b++;}

else {c++;}

}

printf("%d %d %d\n",a,b,c);

a=0;

b=0;

c=0;//将统计次数归0,以免影响下面数组的值。

}

return 0;

小结:1.定义数组时,最好使用宏定义,减少出错;

2.给数组里的元素赋值时,要逐个赋值;

3.在循环里一定要在输出后,清除数据,避免影响后面数组。

你可能感兴趣的:(第十一周笔记)