试编程实现:从键盘输入50个整数,其值在0~4的范围内,用-1作为输入结束的标志。统计每个整数的输

试编程实现:从键盘输入50个整数,其值在0~4的范围内,用-1作为输入结束的标志。统计每个整数的输入次数。

看你题干的意思应该不是一起输入50个,而是一个一个输入用-1作为结束输入,下面是C++代码:


#include <iostream>

using namespace std;

void main()
{
//int arr[50] = {5};
int i = 0;
int a = 0;
int count[5] = {0};
int num = 0;
cout << "从键盘输入50个整数,其值在0~4的范围内,用-1作为输入结束的标志。" << endl;
while (1)
{
cin >> a;
if (a == -1 || num == 50)
{
break;
}
else if (a<0 || a>4)
{
cout << "输入有误" << endl;
}
else
{
switch (a)
{
case 0:
count[0]++;
break;
case 1:
count[1]++;
break;
case 2:
count[2]++;
break;
case 3:
count[3]++;
break;
case 4:
count[4]++;
break;
}
num++;
}
}
for (i=0; i<5; i++)
{
cout << "输入" << i << "的次数是:" << count[i] << endl;
}
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-08
#include<stdio.h>
int main()
{
    int n,times[5];
    for(int i=0;i<=4;i++) times[i]=0;
    scanf("%d",&n);
    while(n!=-1)
    {
        times[n]++;
        scanf("%d",&n);
    }
    for(int i=0;i<=4;i++) printf("%d ",times[i]);
    return 0;
}

本回答被网友采纳
第2个回答  2015-12-08
什么语言追问

c语言

追答#include<stdio.h>
int main()
{
    int n,times[5]={0};
    scanf("%d",&n);
    while(n!=-1)
    {
        times[n]++;
        scanf("%d",&n);
    }  
    for(int i=0;i<=4;i++) printf("%d次数: %d",i,times[i]);
    return 0;
}

第3个回答  2015-12-08
定义一个整数数组,追答

定义五个变量,初始化为0,用来统计各个整数的个数

用for或while来接受输入

用do{}while循环,来判断

内容可以用if
else if
else if
else if
else

判断

也可以用switch

最后输出各个整数的个数

我的思路错了,

你参考c++哪个改下就可以了!

相似回答