各位高手:小女子遇到困难,老师布置的作业做不出来,帮忙解答一下!谢谢!
通过键盘输入字符串,全是英文字母,统计输入的字符串出现的次,屏幕中显示的字符出现次数最多的。用函数实现
注:本人确实是MM,刚才借用朋友的帐号.这个帐号是刚申请的.
问题点数:20、回复次数:38Top
1 楼Mybox(卡卡西)回复于 2006-03-03 14:48:08 得分 0
只要求显示出现次数最多的字符??Top
2 楼Mybox(卡卡西)回复于 2006-03-03 14:50:11 得分 0
区分大小写吗??Top
3 楼znn_76(纽巳)回复于 2006-03-03 14:50:37 得分 0
是的,因为刚开始学,还没有入门.还望把代码写出来!万分感谢!Top
4 楼znn_76(纽巳)回复于 2006-03-03 14:51:34 得分 0
老师没说要不要区分大小写Top
5 楼jinjiajie(leorio)回复于 2006-03-03 14:52:48 得分 0
....问问题还有分男女的?
你的问题可以这样解决,设置一个数组,根据输入的的字母给相应位置的字母的值+1,最后要显示的时候遍历一下,找到数最大的将相应位置显示就行了。效率不高,但是容易实现Top
6 楼jinjiajie(leorio)回复于 2006-03-03 14:54:00 得分 0
还有问问题请别要原码,自己实现才能锻炼自己的能力,看100个程序不如自己写一条。Top
7 楼lbing7(向青润老大学习!!!)回复于 2006-03-03 15:07:16 得分 0
jinjiajie(leorio) ( ) 信誉:100 2006-03-03 14:52:00 得分: 0
....问问题还有分男女的?
我BS你是为了这个!
Top
8 楼nwnmrj(Nothing's gonna change my love for you)回复于 2006-03-03 15:07:23 得分 0
好好去学数据结构中有关“串的模式匹配算法”的问题,自己动动脑筋
顺便说一下,CSDN的问题是不分男女的,即使你装成女性,也不要期望得到更好的回答
------------------------
我痛恨人妖:-)Top
9 楼znn_76(纽巳)回复于 2006-03-03 15:12:55 得分 0
我今天第一次来这个网站,没想到这里的每个人都不相信人.我第一次用的是我一个男同事的帐号,结果有人说我冒充MM.后来自己申请号再来解释这件事情,没想到没有人相信我!Top
10 楼Mybox(卡卡西)回复于 2006-03-03 15:19:17 得分 0
呵呵,他们不是不相信,只是问问题没必要说明自己是男女,在这里是一视同仁的.Top
11 楼jinjiajie(leorio)回复于 2006-03-03 15:23:14 得分 0
lbing7(楼主,别再给我非专家分!谢谢合作) ( ) 信誉:100
jinjiajie(leorio) ( ) 信誉:100 2006-03-03 14:52:00 得分: 0
....问问题还有分男女的?
我BS你是为了这个!
你Bs我什么?我的意思是问问题用的着特意说明自己的性别吗?莫名其妙Top
12 楼luyufan221(不凡)回复于 2006-03-03 15:54:51 得分 0
我也BS哪种人 。。你是女的有什么了不起啊!!!!!
Top
13 楼luyufan221(不凡)回复于 2006-03-03 15:55:55 得分 0
以这种态度来问题。。还是尽早走远点!!
Top
14 楼jiangjundu(将军肚卸顶没文化穷)回复于 2006-03-03 16:39:08 得分 0
如果是真的不会做,看一下我写的吧(可能不对哦),但是如果是特意用女的的口气来要答案的,就BS你!
#include <stdio.h>
#include <memory.h>
void count()
{
//不区分大小写,也没考虑出现相同次数的情况(比如A和B都出现5次,我这里没有判断,只输出前面的一个结果啦)
char s[100],*p;
int a[26];//依次存放26各字符出现的次数
int max=0,savi=0;
for(int i=0;i<26;i++)
a[i]=0;
p=s;
printf("input some characters please:\n");
scanf("%s",p);
printf("%s\n",s);
while(*p!='\0')
{
if(*p>='a'&&*p<='z')// lower
{
a[*p-97]++;
}
else if(*p>='A'&&*p<='Z')//upper
{
a[*p-65]++;
}
p++;
}
for(i=0;i<26;i++)
{
if(a[i]>max)
{
max=a[i];
savi=i;
}
}
printf("出现次数最多的字符是%c或者%c,共出现了%d次!\n",char(savi+65),char(savi+97),max);
}
void main(void)
{
count();
}Top
15 楼jiazhen(go go go)回复于 2006-03-03 17:00:01 得分 0
回:jiangjundu 出现如下错误:
compiling...
coutofthechar.c
e:\zjl\程序员\countofthechar\coutofthechar.c(10) : error C2143: syntax error : missing ';' before 'type'
e:\zjl\程序员\countofthechar\coutofthechar.c(10) : error C2143: syntax error : missing ';' before 'type'
e:\zjl\程序员\countofthechar\coutofthechar.c(10) : error C2143: syntax error : missing ')' before 'type'
e:\zjl\程序员\countofthechar\coutofthechar.c(10) : error C2143: syntax error : missing ';' before 'type'
e:\zjl\程序员\countofthechar\coutofthechar.c(10) : error C2065: 'i' : undeclared identifier
e:\zjl\程序员\countofthechar\coutofthechar.c(10) : warning C4552: '<' : operator has no effect; expected operator with side-effect
e:\zjl\程序员\countofthechar\coutofthechar.c(10) : error C2059: syntax error : ')'
e:\zjl\程序员\countofthechar\coutofthechar.c(11) : error C2146: syntax error : missing ';' before identifier 'a'
e:\zjl\程序员\countofthechar\coutofthechar.c(36) : error C2059: syntax error : 'type'
Error executing cl.exe.
coutofthechar.obj - 8 error(s), 1 warning(s)
Top
16 楼jiazhen(go go go)回复于 2006-03-03 17:06:57 得分 0
哦,对不起!刚才是作为 C在运行;应该是Cpp
现在测试输出的结果是:
input some characters please:
abcdderwedsfsdafssdfsdfsdfsdfs
abcdderwedsfsdafssdfsdfsdfsdfs
出现次数最多的字符是D或者d,共出现了8次!
Press any key to continue
还有一组是:
input some characters please:
1 2 3 5 998 7
1
出现次数最多的字符是A或者a,共出现了0次!
Press any key to continue
程序基本能够符合题目要求,但是输入不是字符的话,又会出现上面的问题.Top
17 楼wumingchenchao(一缕阳光)回复于 2006-03-03 17:45:06 得分 0
小女子 这三个字好象看到了很多次了。Top
18 楼bombwang(王)回复于 2006-03-03 19:03:52 得分 0
解决非字符的时候是不是可以在程序中加点东西啊?,Top
19 楼Cnwanglin(你们太有才了)回复于 2006-03-03 21:37:13 得分 0
我晕了,哈哈
这道题目我会,哈哈
终于有我会的题目了,哈哈Top
20 楼cunsh(村少)回复于 2006-03-03 21:57:09 得分 0
汗.学c学的男女都不分了.还说程序员找对象不好找.唉~
楼主还是不要学c了. 叫女娃娃学c . 太不人道了. 唉~Top
21 楼hai_li(何家干)回复于 2006-03-03 22:44:03 得分 0
#include<stdio.h>
int max(int count[],int n){
int i,max;
i=0; max=count[0];
for(int j=0;j<n;j++)
if(count[j]>max){
i=j;
max=count[j];
}
return i;
}
int main(){
int count[36],m,n,i,index;
char a[36],c;
m=0;
n=0;
for(i=0;i<=36;i++){
count[i]=0;
}
while((c=getchar())!='\n'){
for(i=n-1;i>=0;i--)
if(a[i]==c){
count[i]++;
break;
}
a[m]=c;
count[m++]++;
n=m;
}
index=max(count,n);
printf("%c is the most char \n the num is %d\n",a[index],count[index]);
return 1;
}
Top
22 楼hai_li(何家干)回复于 2006-03-03 23:03:44 得分 0
不好意思,刚才发的有点问题,现在从发,我试过壳直接运行
#include<stdio.h>
int max(int count[],int n){
int i,max;
i=0; max=count[0];
for(int j=0;j<n;j++)
if(count[j]>max){
i=j;
max=count[j];
}
return i;
}
int main(){
int count[50],n,i,index,flag;
char a[50],c;
n=0;
flag=0;
for(i=0;i<50;i++){
count[i]=0;
}
while((c=getchar())!='\n'){
for(i=0;i<n;i++){
if(a[i]==c){
count[i]++;
flag=1;
break;
}
}
if(flag==0){
a[n]=c;
count[n++]++;
}
}
//for(int k=0;k<n;k++)
// printf("%c is %d\n",a[k],count[k]);
index=max(count,n);
printf("%c is the most char \n the num is %d\n",a[index],count[index]);
return 1;
}
Top
23 楼gd2008(建仔)回复于 2006-03-03 23:41:43 得分 0
jiazhen(团队要精神) ( ) 信誉:100 2006-03-03 17:06:00 得分: 0
哦,对不起!刚才是作为 C在运行;应该是Cpp
现在测试输出的结果是:
input some characters please:
abcdderwedsfsdafssdfsdfsdfsdfs
abcdderwedsfsdafssdfsdfsdfsdfs
出现次数最多的字符是D或者d,共出现了8次!
Press any key to continue
还有一组是:
input some characters please:
1 2 3 5 998 7
1
出现次数最多的字符是A或者a,共出现了0次!
Press any key to continue
程序基本能够符合题目要求,但是输入不是字符的话,又会出现上面的问题.
///////////////////////////////////////////////////////////////////////
jiazhen(团队要精神) ( ) 信誉:100 2006-03-03 17:06:00 得分: 0
哦,对不起!刚才是作为 C在运行;应该是Cpp
现在测试输出的结果是:
input some characters please:
abcdderwedsfsdafssdfsdfsdfsdfs
abcdderwedsfsdafssdfsdfsdfsdfs
出现次数最多的字符是D或者d,共出现了8次!
Press any key to continue
还有一组是:
input some characters please:
1 2 3 5 998 7
1
出现次数最多的字符是A或者a,共出现了0次!
Press any key to continue
程序基本能够符合题目要求,但是输入不是字符的话,又会出现上面的问题.
jiazhen(团队要精神) ( ) 信誉:100 2006-03-03 17:06:00 得分: 0
哦,对不起!刚才是作为 C在运行;应该是Cpp
现在测试输出的结果是:
input some characters please:
abcdderwedsfsdafssdfsdfsdfsdfs
abcdderwedsfsdafssdfsdfsdfsdfs
出现次数最多的字符是D或者d,共出现了8次!
Press any key to continue
还有一组是:
input some characters please:
1 2 3 5 998 7
1
出现次数最多的字符是A或者a,共出现了0次!
Press any key to continue
程序基本能够符合题目要求,但是输入不是字符的话,又会出现上面的问题.
/ /////////////////////////////////////////////////////////////////
循环末修改为
if(max==0)
printf("no letter!");
else
。。。。//后面照抄
————————————————————————
即可
Top
24 楼studylr(编程虾米)回复于 2006-03-04 00:50:41 得分 0
我看到了我也回了这种方法了Top
25 楼zyyoung(倡导开源)回复于 2006-03-04 12:32:51 得分 0
bsTop
26 楼antter(JiangMiao)回复于 2006-03-04 12:38:39 得分 0
jinjiajie(leorio)
lbing7(楼主,别再给我非专家分!谢谢合作) ( ) 信誉:100
jinjiajie(leorio) ( ) 信誉:100 2006-03-03 14:52:00 得分: 0
....问问题还有分男女的?
我BS你是为了这个!
你Bs我什么?我的意思是问问题用的着特意说明自己的性别吗?莫名其妙
---------------------------
我觉得他是在b4楼主.Top
27 楼systemx(-操!老子从不讲脏话的!阿弥陀佛!-)回复于 2006-03-04 12:54:57 得分 0
注:本人确实是MM,刚才借用朋友的帐号.这个帐号是刚申请的.
————————————————————————————
楼主为什么非要强调这一点?
不道德Top
28 楼Dugowe(我不是火星人,我家狗狗才是..)回复于 2006-03-04 16:59:51 得分 0
只想问一下你港开始学吗?
题有点简单;
谭浩强的书上的例子Top
29 楼wyhai1982(CoolSpring)回复于 2006-03-04 19:41:57 得分 0
鄙视你!
Top
30 楼minsavage(帆野)回复于 2006-03-04 23:04:28 得分 0
markTop
31 楼tramp0515()回复于 2006-03-05 04:40:52 得分 0
哈哈 ~Top
32 楼lixinghuasea(海)回复于 2006-03-05 10:33:03 得分 0
#include "conio.h"
#inlcude "stdio.h"
#include "string.h"
#incldue "stdlib.h"
void main()
{
char str1[200]={0};
char str2[200]={0};
char cStr;
int i=0;
do
{
cStr=getch();
if(cStr>='a' && cStr<='z')
{
str1[i]=cStr;
}
if(cStr==' ')
{
str1[i]='\0';
if(strlen(str1)>strlen(str2))
strcpy(str2,str1);
}
putchar(cStr);
i++;
}while(cStr!=13);
printf("\n\n%s ",str2);
}
//对不起了,我的机子没VC,盘叫朋友拿走了,我也不知道对不对,试一下下吧,有什么问题
//到 http://blog.csdn.net/lixinghuasea/ 留言或E-mail:lixinghuasea@163.comTop
33 楼I_Love_CPP(Never stop!)回复于 2006-03-05 19:42:53 得分 0
简直是给女人丢脸,
头脑像草包。
为什么还要强调是MM呢?
又不是来卖X的!!!
强烈鄙视!
---------------------------------------------
通过键盘输入字符串,全是英文字母,统计输入的字符串出现的次,屏幕中显示的字符出现次数最多的。用函数实现
注:本人确实是MM,刚才借用朋友的帐号.这个帐号是刚申请的.
Top
34 楼I_Love_CPP(Never stop!)回复于 2006-03-05 19:44:37 得分 0
同样鄙视见到是母的就往上扑的程序员,
连道德都不要了。
那还当程序员干什么????Top
35 楼sq851201(龙云倩)回复于 2006-03-06 10:27:46 得分 0
哈哈,不分男女还有这么多人来???Top
36 楼hkf123(继续)回复于 2006-03-06 12:48:08 得分 0
哈哈!真是的!Top
37 楼Relaxshop(大笨熊)回复于 2006-03-06 14:24:36 得分 0
怎么感觉到菜市场了,呵呵......
“还有问问题请别要原码,自己实现才能锻炼自己的能力,看100个程序不如自己写一条。”同意楼上意见!!
我学程序的班上就有MM的,其中有个可是猛人..比我强...
努力中......
Top
38 楼pagechen(天外飞来的仙)回复于 2006-03-06 14:30:08 得分 0
“小女子” 是 潜力贴Top




