41.用c++编写程序:从键盘上任意输20个1-99之间的整数,分别统计其个位数0-9的数字各有多少

简介: 41.用c++编写程序:从键盘上任意输20个1-99之间的整数,分别统计其个位数0-9的数字各有多少

//1、输入数字需要保存在数组中,注意数组的首元素问题

//2、需要截取出各位数字

//3、判断是哪一个数字

//4、进行计数

(1)我出错的程序:

#include<iostream>
using namespace std;
 
int main()
{
    int p[20];
    int temp;
    int a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;
    cout<<"please input 20 numbers between 1~99: "<<endl;
    for(int i=0;i<10;i++)
    {
        cin>>p[i];
    }
    for(int j=0;j<10;j++)
    {
        temp=p[j]%10;
        switch(temp)
        {
            case 1: a++;
            case 2: b++;
            case 3: c++;
            case 4: d++;
            case 5: e++;
            case 6: f++;
            case 7: g++;
            case 8: h++;
            case 9: i++;
            case 0: j++;
        }
    }
    cout<<"有9 "<<i<<" 个"<<endl;
    cout<<"有8 "<<h<<" 个"<<endl;
    cout<<"有7 "<<g<<" 个"<<endl;
    cout<<"有6 "<<f<<" 个"<<endl;
    cout<<"有5 "<<e<<" 个"<<endl;
    cout<<"有4 "<<d<<" 个"<<endl;
    cout<<"有3 "<<c<<" 个"<<endl;
    cout<<"有2 "<<b<<" 个"<<endl;
    cout<<"有1 "<<a<<" 个"<<endl;
    cout<<"有0 "<<j<<" 个"<<endl;
 
    return 0;
}

(2)改正后的正确程序

#include<iostream>
using namespace std;
 
int main()
{
    int p[20];
    int temp;
    int a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,m=0,n=0;
    cout<<"please input 20 numbers between 1~99: "<<endl;
    for(int i=0;i<10;i++)
    {
        cin>>p[i];
    }
    for(int j=0;j<10;j++)
    {
        temp=p[j]%10;
        switch(temp)
        {
            case 1: a++;break;
            case 2: b++;break;
            case 3: c++;break;
            case 4: d++;break;
            case 5: e++;break;
            case 6: f++;break;
            case 7: g++;break;
            case 8: h++;break;
            case 9: m++;break;//注意之前只用的for循环中已经有i,i了,不要重复
            case 0: n++;break;//注意switch语句中的break和default不要忘记
            default : break;
        }
    }
    cout<<"有9 "<<m<<" 个"<<endl;
    cout<<"有8 "<<h<<" 个"<<endl;
    cout<<"有7 "<<g<<" 个"<<endl;
    cout<<"有6 "<<f<<" 个"<<endl;
    cout<<"有5 "<<e<<" 个"<<endl;
    cout<<"有4 "<<d<<" 个"<<endl;
    cout<<"有3 "<<c<<" 个"<<endl;
    cout<<"有2 "<<b<<" 个"<<endl;
    cout<<"有1 "<<a<<" 个"<<endl;
    cout<<"有0 "<<n<<" 个"<<endl;
 
    return 0;
}
目录
相关文章
|
11天前
|
编译器 C++
《Effective C++ 改善程序与设计的55个具体做法》 第一章 笔记
《Effective C++ 改善程序与设计的55个具体做法》 第一章 笔记
|
2天前
|
C语言 图形学 C++
|
6天前
|
编译器 C++
C++:继承性_程序
C++:继承性_程序
8 1
|
11天前
|
存储 算法 程序员
【C++进阶】深入STL之vector:构建高效C++程序的基石
【C++进阶】深入STL之vector:构建高效C++程序的基石
16 1
|
1天前
|
程序员 C语言 C++
【C语言】:柔性数组和C/C++中程序内存区域划分
【C语言】:柔性数组和C/C++中程序内存区域划分
4 0
|
1天前
|
C++ UED 开发者
逆向学习 MFC 篇:视图分割和在 C++ 的 Windows 窗口程序中添加图标的方法
逆向学习 MFC 篇:视图分割和在 C++ 的 Windows 窗口程序中添加图标的方法
2 0
|
11天前
|
编译器 C++
《Effective C++ 改善程序与设计的55个具体做法》 第二章 构造/析构/赋值运算 笔记
《Effective C++ 改善程序与设计的55个具体做法》 第二章 构造/析构/赋值运算 笔记
|
19天前
|
NoSQL Linux C++
Linux C/C++ gdb调试正在运行的程序
Linux C/C++ gdb调试正在运行的程序
|
19天前
|
C++
C++ 获取当前程序路径
C++ 获取当前程序路径
|
19天前
|
程序员 C语言 C++
C语言学习记录——动态内存习题(经典的笔试题)、C/C++中程序内存区域划分
C语言学习记录——动态内存习题(经典的笔试题)、C/C++中程序内存区域划分
35 0