hdu 2008数值问题 20140722
来源:互联网 发布:怎么修改淘宝店铺网址 编辑:程序博客网 时间:2024/05/20 00:16
错误:
#include<stdio.h>
int main()
{
int n,i,a,b,c;
float m;
while(scanf("%d",&n)!=EOF&&n!=0)
{
a=0;
b=0;
c=0;
while(i<=n)
{
scanf("%d",&m);
while(m<0)
a=a+1;
while(m=0)
b=b+1;
while(m>0)
c=c+1;
i++;
}
printf("%d %d %d\n",a,b,c);
}
while(1);
return 0;
}
需注意:1.第六行“!=EOF”尽量别写,加不加都可以,只是去掉更简洁 2.十五行可改为a++,更简洁,下面同理。
有四处错误:
1.i没有定义。
2.第十三行%d 错误,之前定义的m是float型,应改成%f,或者把m定义成double型,这样更简洁。
3.第十四行while改成if,while是实现循环控制,if才是实现选择控制的,下面的同样要改。
4.第十六行括号里m=0改为m==0,前者是赋值语句,后者才是判断语句。
正确:
#include<stdio.h>
int main()
{
int n,i,a,b,c;
float m;
while(scanf("%d",&n)!=EOF&&n!=0)
{
a=0;
b=0;
c=0;
i=1;
while(i<=n)
{
scanf("%f",&m);
if(m<0)
a++;
if(m==0)
b++;
if(m>0)
c++;
i++;
}
printf("%d %d %d\n",a,b,c);
}
return 0;
}
加注释:
#include<stdio.h>
int main()
{
int n,i,a,b,c;
float m;
//while(scanf("%d",&n)!=EOF&&n!=0)
while(scanf("%d",&n)&&n!=0)
{
a=0;
b=0;
c=0;
i=0;
//while(i<=n)//i没赋初值
while(i<n)
{
//scanf("%d",&m);
scanf("%f",&m);// m定义为浮点型 的
// while(m<0)
if(m<0)
a=a+1;
//while(m=0)
// while(m==0)//今天下午刚讲的
if(m==0)
b=b+1;
//while(m>0)
if(m>0)
c=c+1;
i++;
}
printf("%d %d %d\n",a,b,c);
}
//while(1);
return 0;
}
另一种解法:
#include<stdio.h>
int main()
{
int n;
while(scanf("%d",&n),n)
{
int i,j,a=0,b=0,c=0;
double s;
for(i=0;i<n;i++)
{
scanf("%lf",&s);
{
if(s<0) a++;
else if(s==0) b++;
else if(s>0) c++;
}
}
printf("%d %d %d",a,b,c);
printf("\n");
}
return 0;
}
- hdu 2008数值问题 20140722
- hdu 2008 数值统计
- HDU 2008 数值统计
- hdu 2008 数值统计
- HDU 2008 数值统计
- hdu 2008 数值统计
- HDU 2008 数值统计
- hdu 2008 数值统计
- hdu-2008-数值统计
- HDU 2008 - 数值统计
- HDU 2008 数值统计
- [hdu 2008] 数值统计
- HDU-2008 数值统计
- HDU 2008 数值统计
- HDU 2008 数值统计
- HDU 2008 数值统计
- hdu 2008 数值统计
- HDU 2008 数值统计
- 【未解决】SAE,本地,mysql,date类型,报错
- source insight的自动缩进 以及网上的一些使用技巧
- HD1096输入格式(8)--20140722
- 用户界面设计的40条技巧
- ★★★易忘点总结〖面向对象〗
- hdu 2008数值问题 20140722
- hdu 1045 Fire Net(贪心)
- 给phpcms v9专题添加一个radio单选按钮,可以多次利用专题创建不同的栏目进行内容编辑,给专题添加一个自定义字段
- 学习KeyShot 3D 动画要点
- ★★★易忘点总结〖集合〗
- 中国剩余定理
- Dijkstra算法的Java实现
- 一道sql题目,列转行
- 插入排序