C语言问题P2029

来源:百度知道 编辑:UC知道 时间:2024/05/19 07:44:11
#include<stdio.h>
int wr=0,sp=0,ch=0,nu=0;
void main()
{
char str[100];
void c(char x[]);
puts("input a sentence:");
gets(str);
c(str);
printf("%s\n%d words\n%d numbers\n%d spaces\n%d characters\n",str,wr,nu,sp,ch);
}
void c(char x[])
{
int i;
for(i=0;x[i]!='\0';i++)
{
if(x[i]>=65||x[i]<=90||x[i]>=97||x[i]<=122)wr++;
else if(x[i]>=48||x[i]<=57)nu++;
else if(x[i]==' ')sp++;
else ch++;
}
}

编一个函数,有实参传来一个字符串,统计字符串中字母,数字,空格,其他字符个数,在主函数中输出(不能用指针)

我的有什么问题 为什么总是有字符串数个数个WORDS,别的都是0;

另外问下能不能既不用外部变量也不用指针把这个题做出来
谢谢了 现在说说别的吧

真的 我是新手,我总感觉是自己没掌握到什么

别的不说,
if(x[i]>=65&&x[i]<=90||x[i]>=97&&x[i]<=122)wr++;
else if(x[i]>=48&&x[i]<=57)nu++;
弄清是该与还是或

对不起,我学的是G语言

改为:
if((x[i]>64&&x[i]<=91)||(x[i]>96&&x[i]<123))wr++;
else if(x[i]>47&&x[i]<58)nu++;
else if(x[i]==' ')sp++;
else ch++;
其实C语言是基础,如果你的基础掌握的很好那你以后学习其他语言就容易多了,这里说的容易是指其他语言的关系运算,循环语句,条件语句,函数等等,其他语言都要用到。都是大同小异,这就是为什么好多人都是学C做为基础再去学习其他高级语言。