| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 502 人关注过本帖
标题:[求助]一个小题,做到不会做了
只看楼主 加入收藏
小虾米123
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-9-3
收藏
 问题点数:0 回复次数:8 
[求助]一个小题,做到不会做了

使用函数统计一串小写字母的个数,返回值为小写字母的个数,主函数接收一串字符,调用统计函数求小写字母个数~~
#include"stdio.h"
#define N 10
char statistic(char a[],int len);
void main()
{


char b[N],c;
int i=0,len;


c= getchar();
for(i=0;i<N;i++)
{
scanf("%c",&b[i]);
len+=i;
if(c==' ')break;
}
printf("%d,",len);
printf("小写字母的个数为%d",statistic(b,len));

}

char statistic(char a[],int len)
{
int k=1;
for(int i=0;i<len;i++)
{
if(a[i]>47&&a[i]<58)
k++;
}
return k;
}

2006-09-07 15:29
waynebeat
Rank: 1
等 级:新手上路
帖 子:111
专家分:0
注 册:2006-8-26
收藏
得分:0 
#include<stdio.h>
#include<string.h>
int main()
{
int find(char str[]);
char str[100];
printf("input a string:");
gets(str);
printf("the number of the small letter is %d",find(str));
}
int find(char str[])
{
int i,m,n=0;
m=strlen(str);
for(i=0;i<m;i++)
if(str[i]>='a' && str[i]<='z')
n++;
return(n);
}

只剩一年了………… 够了!
2006-09-07 15:40
小虾米123
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-9-3
收藏
得分:0 
上面的大哥,get()函数我还没学,能不能不用它做啊?#include&lt;string.h&gt;也还没学
2006-09-07 15:42
小虾米123
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-9-3
收藏
得分:0 

能指出我的错误吗?不只是想要个代码啊,谢谢了···恭喜新上任的版主哦,呵呵·

2006-09-07 15:46
shuaiye
Rank: 1
等 级:新手上路
帖 子:445
专家分:0
注 册:2006-5-15
收藏
得分:0 

#include <stdio.h>
#define SIZE 1000
int Statistic(char *);
int main(void){

char str[SIZE];

puts("Insert letters");

gets(str);

printf("%d\n",Statistic(str));

return 0;

}

int Statistic(char *ptr){

char *head;

unsigned int k=0;

for(head=ptr;*head!='\0';head++){

if('a'<=*head&&*head<='z')

k++;
}
return k;
}


由于工作,N久都没来了!
2006-09-07 15:46
shuaiye
Rank: 1
等 级:新手上路
帖 子:445
专家分:0
注 册:2006-5-15
收藏
得分:0 

[QUOTE]
#include <string.h> //刚才忘加了
#include <stdio.h>
#define SIZE 1000
int Statistic(char *);
int main(void){

char str[SIZE];

puts("Insert letters");

gets(str);

printf("%d\n",Statistic(str));

return 0;

}

int Statistic(char *ptr){

char *head;

unsigned int k=0;

for(head=ptr;*head!='\0';head++){

if('a'<=*head&&*head<='z')

k++;
}
return k;
}
[/QUOTE]


由于工作,N久都没来了!
2006-09-07 15:53
小虾米123
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-9-3
收藏
得分:0 
看懂了,谢谢了啊···
2006-09-07 15:58
honkerman
Rank: 2
等 级:新手上路
威 望:4
帖 子:3078
专家分:0
注 册:2006-8-25
收藏
得分:0 
以下是引用shuaiye在2006-9-7 15:46:58的发言:

#include <stdio.h>
#define SIZE 1000
int Statistic(char *);
int main(void){

char str[SIZE];

puts("Insert letters");

gets(str);

printf("%d\n",Statistic(str));

return 0;

}

int Statistic(char *ptr){

char *head;

unsigned int k=0;

for(head=ptr;*head!='\n';head++){

if('a'<=*head&&*head<='z')

k++;
}
return k;
}

请问一下,那个地方换成'\n',指针指到哪去了?


" target="_blank">God Bless You[GLOW=255,#00ff00,2]My Friends![/GLOW]
2006-09-07 16:52
honkerman
Rank: 2
等 级:新手上路
威 望:4
帖 子:3078
专家分:0
注 册:2006-8-25
收藏
得分:0 

#include"stdio.h"
#define N 100
int statistic(char *a); //声明一个整形函数statistic(),其中指针指向数组b[N]首地址
void main()
{
char b[N];
printf("input letters\n");
scanf("%s",b);
printf("the number of the small letter is:%d\n",statistic(b));

}

int statistic(char *a)
{
char *i;
int k=0; //声明计数器k
for(i=a;(*i)!='\0';i++) //当数组最后一位为'\0'的时候,结束循环
{
if((*i>='a') &&(*i<='z'))
k++;
}
return k;
}


" target="_blank">God Bless You[GLOW=255,#00ff00,2]My Friends![/GLOW]
2006-09-07 17:03
快速回复:[求助]一个小题,做到不会做了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026097 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved