问题:输入一串字符
怎么能统计出大小写字符的个数
要求:1.按照统计小写字母出现的次数来扩展
2.可以另写函数fun2();
3.也可以集成到fun1();
我的疑惑:我出错在什么地方?
我的思路是不是错了?
有没有更好的办法?最好达到3的要求
我使用的IDE:cfree5.0
网上有免费版的 下一个
我的基础:中专
C语言1基础 (0--100);
母版程序:统计小写字母出现的次数.c
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
void fun(char *tt,int pp[]){
int i;
for(i=0;i<26;i++)
pp[i]=0;
for(; *tt!='/0';tt++)
if(*tt>='a' && *tt<='z')
//2.if(*tt>'a' && *tt<='z')1.//怀疑是这里的问题注释掉
pp[*tt - 'a'] ++;
}
void main()
{
char aa[1000];
int bb[26],k;
system("CLS");
printf("输入一串小写字符: ");
scanf("%s",&aa);
fun(aa,bb);
for(k=0;k<26;k++)
printf("%d",bb[k]);
printf("/n");
}
// 1.字符串都保存在数组里面
//1.问大牛们,在这个设计的基础上,为什么在输入aaa的时候达不到我的要求
//2.又试了几个'a'发现'a'没被统计
//3.由于原来的母板有错了 ,影响到后来的大小写字符都统计的根本性错误
下面的是我自己写的 未完待续,因为还没有达到自己想要的结果
//程序要追求完美
自己的扩展:统计大小写字母出现的次数.c
//开始的时候是因为第5行的*tt写成了**tt结果出错了
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void fun1(char *tt,int pp[]){/*函数定义出错了 多了一些参数 所以出错2.3 就是后果呵呵
*/
//2.3 早先定义的函数void fun1(char *tt,int pp[],int cc[]){
int i;
for(i=0;i<26;i++)
{
pp[i]=0;
}
for(; *tt!='/0';tt++){//4之后又少了个“{”
if(*tt>='a' && *tt<='z') //{ if(*tt>'a' && *tt<='z')//4.设计上的错误要修改
pp[*tt - 'a'] ++;
}
}
void fun2(char *tt,int cc[]){
int x;
for (x=0;x<26;x++)
{
cc[x]=0;
}
for(; *tt!='/0';tt++){
//结果就出现这里错误了
if(*tt>='A' && *tt<='Z') //{if(*tt>'A' && *tt<='Z')//4.设计上的错误要修改
cc[*tt - 'A'] ++;
}
/*4.带来的危害是我要修改 if(*tt>'A' && *tt<='Z')和 if(*tt>'a' && *tt<='z')
*/
}
int main()
{
char aa[1000],c[1000];
int x,bb[26],k,cc[26];
system("CLS");
printf("输入一串字符: ");
scanf("%s",aa);
//3.strcpy(c,aa);照样出现2的错误 郁闷啊什么意思啊?
//strcpy(c,bb);//按照2的思路进行修改显示错误 39: error: too few arguments to function `fun1'
//2.后来看到strcpy(c,bb);有错误应该改成试下3.strcpy(c,aa);试下3.
fun1(aa,bb);
/*
*1.原来的做法:bb=c;//感觉是这里出错了 不应该这么赋值
*2.是不是应该用strcpy()进行复制
*/
fun2(c,cc);
for(k=0;k<26;k++)
{
printf("%d",bb[k]);
}
//这里的k和x能不能用同一个?有没有什么好处啊?
for(x=0;x<26;x++)
{
printf("%d",cc[k]);
}
//printf("/n");
//return 0;
/* 3的错误改正除了之后 还是出错 达不到我要的结果
怎么修改?
4.母板小写字符统计的错误导致出现设计的错误(专业术语叫什么?)
你所看到的都是我已经修改的到现在为止的错误现在的版本到4了
这时编译器又喊:“1.[Error]c:22: error: syntax error before '}' token”
2.c:68: error: syntax error at end of input(注释掉看看(68错误没了67又不行了))
怎么这么多问题啊 呼呼
至今为止 还剩下一个错误2了 呼呼
*/
未完 ....小谢的编程之旅刚刚开始
欢迎大家评点以及 嘻嘻 帮助我解决下难题
因为是刚刚接触这些的 所以 小谢有什么地方做的不对的 请大家不吝赐教 小谢一定感激不尽......