C++问题,谢谢帮忙

来源:百度知道 编辑:UC知道 时间:2024/06/23 17:35:45
C++问题,谢谢帮忙

输入一行文字,找出其中的大写字母,小写字母,空格,数字及其他字符的个数。
#include<iostream>
using namespace std;

void main()
{
char array[100];
char *str1;
int n,i=0;
str1=array;
void order_arr(char *p);
cout<<"请输入一个字符串:";
cin>>*str1;
n=strlen(str1);
order_arr(str1);
cout<<n;
}
void order_arr(char *p)
{
int dx=0;
int xx=0;
int kg=0;
int sz=0;
int qt=0;
while(*p!='\n')
{
if('A'<=*p && *p<='Z') dx++;
else if('a'<=*p && *p<='z') xx++;
else if(*p==' ') kg++;
else if(0<=*p && *p<=9) sz++;
else

主函数中 n=strlen(str1);

和void order_arr(char *p) 函数中
while(*p!='\n') 的n不是一个n吧`````````

你应该把void order_arr(char *p) 加个参数n
void order_arr(char *p,int n)
你试试吧,个人意见,我没试运行程序
我C++六十刚及格,呵呵

没必要用指针,也许是指针用错.
下面是我的代码:
#include<iostream>
#include<string.h>
#include<conio.h>
using namespace std;
int main()
{
char a[100];
int dx=0,xx=0,kg=0,sz=0,qt=0;
cout<<"请输入一个字符串:";
gets(a);
for(int i=0;i<strlen(a);i++)
{
if(a[i]>='a'&&a[i]<='z')xx++;
else if(a[i]>='A'&&a[i]<='Z')dx++;
else if(a[i]==' ')kg++;
else if(a[i]>='0'&&a[i]<='9')sz++;
else qt++;
}
cout<<"大写字母的个数为:"<<dx<<endl;
cout<<"小写字母的个数为:"<<xx<<endl;