输入一串字符,以“?”结束,统计字母个数和数字个数
哪里错了?
#include <iostream>
#include <cctype>
using namespace std;
char a[39];
int isalpha( int ch );int main()
{
int k,j=0,p=0;
cin>>a[39];
for(k=1;k<=a[39];k++)
{
if(a[39]>='0'&&a[39]<='9')
j++;
if(a[39]>='a'&&a[39]<='z')
p++;
}
cout<<p<<" "<<j;
}
对于这个问题,不需要存到数组。按照如下流程即可:
1 输入一个字符,对该字符进行判断:
a) 如果是数字,则数字累加器加一。
b) 如果是字母,则字母累加器加一。
c)如果是换行,则结束统计(以换行为结束符。如需其他结束符,根据需要更改判断)。
2输出结果。
代码:
1234567891011121314151617#include <stdio.h>int main(){ int c, n, i; c=n=0; while(1) { i = getchar(); if(i>='0' && i <= '9') n++; else if((i>='a' && i <= 'z')||(i>='A' && i <= 'Z')) c++; else if(c==' ') break; } printf("数字%d个,字母%d个 ", n,c); return 0;}下一篇:这样的表格如何实现自动统计
上一篇:哪里错了
热门标签: