美文网首页
第十一周笔记

第十一周笔记

作者: 朦朦咚咚 | 来源:发表于2019-05-08 23:28 被阅读0次

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

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

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

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

况写在循环里就好了。

题目:

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

Input

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

Output

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

我的代码:

#include <stdio.h>

#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<n;i++)

{

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

}

for(i=0;i<n;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.在循环里一定要在输出后,清除数据,避免影响后面数组。

相关文章

网友评论

      本文标题:第十一周笔记

      本文链接:https://www.haomeiwen.com/subject/tfmboqtx.html