【编程小题目6】字符数统计

题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

#include <iostream>
#include <string>
using namespace std;

int main()
{
  const int size = 100;
  char ch[size];
  int CharNum = 0, DigNum = 0, NullNum = 0, OtherNum = 0; 
  for(int i = 0; i < size; i++)
  {
    ch[i] = getchar();
    if(ch[i] == ‘\n‘)   //终止输入
    {
      break;
    }
  }

  for(int i = 0; i < size && ch[i] != ‘\n‘; i++)
  {
    if( ch[i] >= ‘a‘ && ch[i] <= ‘z‘ || ch[i] >= ‘A‘ && ch[i] <= ‘Z‘)
    {
      CharNum++;
    }
    else if(ch[i] >= ‘0‘ && ch[i] <= ‘9‘)
    {
      DigNum++;
    }
    else if(ch[i] == ‘ ‘)
    {
      NullNum++;
    }
    else
    {
      OtherNum++;
    }
  }
  cout << "字母个数: " << CharNum << endl << "数字个数:" << DigNum << endl 
      << "空格个数: " << NullNum << endl << "其他字符: " << OtherNum << endl;

  return 0;
}

时间: 2024-08-29 08:37:15

【编程小题目6】字符数统计的相关文章

【编程小题目8】求解完数

题目:一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程 找出100以内的所有完数. 分析:本质还是求质因数. #include <iostream> using namespace std; bool IsPerfect(int n){ int i, j = 0; int Temp = n,Sum = 1; int arr[100] = {'0'}; for(i = 2; i <= n; i++) { if(i == n) { arr[j

【编程小题目3】求解水仙花数

题目:打印出100 - 999 之间所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如: 153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方. 程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位. #include <iostream> #include <iomanip> using namespace std; int main() {

【编程小题目2】求解素数

题目:判断101-200之间有多少个素数,并输出所有素数. 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数. //连续整除法求解素数 #include <iostream> #include <cmath> #include <iomanip> using namespace std; int main() { int i, j, count = 0; for(i = 101; i <= 200;

js - 字符数统计

统计字母数字等字符 <script> function testx(o) { var v = o.value; var m1 = v.match(/[a-zA-Z]/g) || []; var m2 = v.match(/\d/g) || []; var m3 = v.match(/[^\da-zA-Z]/g) || []; alert("字母:" + m1.length + " , 数字:" + m2.length + " , 其他:&quo

混合字符串字符数统计

因为汉字占一个以上字节,如何统计一个既有汉字又有字母的字符串呢? 汉字在计算机中的ASCII是以负数来与其他普通字符的ASCII区分的. #include<stdio.h> int main() { char buf[256] = "你好世界"; printf("%d\n",buf[0]); //-60 return 0; } 所以想要统计混合字符串中字符个数,就要用到这个特性. #include<stdio.h> int main() {

【编程小题目7】求s=a+aa+aaa+aaaa+aa...a的值

题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字.例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制 #include <iostream>#include <string>using namespace std; long Function(int number, int n){ if(n == 1) { return number; } else { return Function(number ,n - 1) *

【编程小题目5】求解最大公约数和最大公倍数

题目:输入两个正整数m和n,求其最大公约数和最小公倍数. 程序分析:利用辗除法求最大公约数:最大公倍数等于m * n / Gcd(m,n). #include <iostream> using namespace std; int main() { int n, m; int k,r = 1; cout << "Plese input the number n and m:"; cin >> n >> m; k = n * m; whil

【编程小题目1】求解斐波拉契数列问题

题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... 斐波那契数列又因数学家列昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”.Fibonacci 数列定义:n = 1,2 时,fib(n) = 1n > 2 时,fib(n) = fib(n-2) + fib(n-1) // 递归算法求解Fibonacci 数列 #i

【编程小题目4】求解质因数

题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可. (2)如果n != k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步. (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步. #include <iostream> using namespace std; int