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;
}
目录
相关文章
|
2月前
|
人工智能 C++
第十四届蓝桥杯省赛大学B组(C/C++)整数删除
第十四届蓝桥杯省赛大学B组(C/C++)整数删除
|
4月前
|
C++
C++ 根据程序运行的时间和cpu频率来计算在另外的cpu上运行所花的时间
C++ 根据程序运行的时间和cpu频率来计算在另外的cpu上运行所花的时间
47 0
|
2月前
|
存储 程序员 编译器
简述 C、C++程序编译的内存分配情况
在C和C++程序编译过程中,内存被划分为几个区域进行分配:代码区存储常量和执行指令;全局/静态变量区存放全局变量及静态变量;栈区管理函数参数、局部变量等;堆区则用于动态分配内存,由程序员控制释放,共同支撑着程序运行时的数据存储与处理需求。
121 21
|
3月前
|
C++
【C++基础】程序流程结构详解
这篇文章详细介绍了C++中程序流程的三种基本结构:顺序结构、选择结构和循环结构,包括if语句、三目运算符、switch语句、while循环、do…while循环、for循环以及跳转语句break、continue和goto的使用和示例。
54 2
|
4月前
|
PHP C++ Python
右手坐标系,空间点绕轴旋转公式&程序(Python和C++程序)
右手坐标系,空间点绕轴旋转公式&程序(Python和C++程序)
73 0
|
4月前
|
C++
c++学习笔记03 程序流程结构
C++学习笔记,主要介绍了程序流程结构,包括顺序结构、选择结构和循环结构。选择结构中详细解释了if语句、三目运算符和switch语句的用法和注意事项。循环结构部分则涵盖了while循环、do-while循环和for循环的语法和使用技巧。此外,还介绍了跳转语句,包括break、continue和goto语句的用途和用法。
36 0
|
5月前
|
NoSQL Redis C++
c++开发redis module问题之在复杂的Redis模块中,特别是使用第三方库或C++开发时,接管内存统计有哪些困难
c++开发redis module问题之在复杂的Redis模块中,特别是使用第三方库或C++开发时,接管内存统计有哪些困难
|
4月前
|
C++
C++产生N以内的随机整数
C++产生N以内的随机整数
19 0
|
6月前
|
存储 算法 编译器
程序与技术分享:C++模板元编程简介
程序与技术分享:C++模板元编程简介
47 0