输入一个字符串,判断里面有多少个大写字母。帮我改改。
chars[255];char*p=s;intcishu=0;printf("请连续输入字符串:");scanf("%s",p);inti=0;while((*p)!='...
char s[255];
char *p=s;
int cishu=0;
printf("请连续输入字符串:");
scanf("%s",p);
int i=0;
while ((*p)!='\0') {
if ((*p)>'A'&&(*p)<'Z') {
cishu++;
}
}
printf("%d",i); 展开
char *p=s;
int cishu=0;
printf("请连续输入字符串:");
scanf("%s",p);
int i=0;
while ((*p)!='\0') {
if ((*p)>'A'&&(*p)<'Z') {
cishu++;
}
}
printf("%d",i); 展开
2个回答
展开全部
1 #include <stdio.h>
2 int main(void)
3 {
4 char s[255];
5 char *p=s;
6 int cishu=0;
7
8 printf("请连续输入字符串:");
9 scanf("%s",p);
10
11 while ((*p)!='\0') {
12 if ((*p)>'A'&&(*p)<'Z')
13 {
14 cishu++;
15 }
16 p++;
17 }
18 printf("cishu = %d\n",cishu);
19 }
2 int main(void)
3 {
4 char s[255];
5 char *p=s;
6 int cishu=0;
7
8 printf("请连续输入字符串:");
9 scanf("%s",p);
10
11 while ((*p)!='\0') {
12 if ((*p)>'A'&&(*p)<'Z')
13 {
14 cishu++;
15 }
16 p++;
17 }
18 printf("cishu = %d\n",cishu);
19 }
更多追问追答
追问
你运行没有,结果是错的,但是还是谢谢你,我应改过来了。
追答
运行过,是对的啊!
展开全部
char s[255];
char *p=s;
int cishu=0;
printf("请连续输入字符串:");
scanf("%s",p);
int i=0;
while ((*(p + i))!='\0')
{
if ((*(p + i))>'A'&&(*(p + i))<'Z')
{
cishu++;
}
i++;
}
printf("%d",cishu);
你的(*p)一直代表的是字符串的第一个数,永远都不会为'\0',还有就是你的i声明之后没有用一直为零,上面是我根据你的代码改的,可以判断出有多少个大写字母,希望能够帮到你
char *p=s;
int cishu=0;
printf("请连续输入字符串:");
scanf("%s",p);
int i=0;
while ((*(p + i))!='\0')
{
if ((*(p + i))>'A'&&(*(p + i))<'Z')
{
cishu++;
}
i++;
}
printf("%d",cishu);
你的(*p)一直代表的是字符串的第一个数,永远都不会为'\0',还有就是你的i声明之后没有用一直为零,上面是我根据你的代码改的,可以判断出有多少个大写字母,希望能够帮到你
追问
char s[255];
char *p=s;
int cishu=0;
int i=0;
printf("请连续输入字符串:");
scanf("%s",p);
int b=strlen(p);
while (i'A'&&(*p)<'Z'){
cishu++;
}
i++;
p++;
}
printf("大写字母=%d",cishu);
你看对不对,如果输入的是shiSHI SHI,结果怎么样
追答
一个字符串是以空格'\0'结尾的,所以你输入的shiSHI SHI相当于输入的shiSHI,所以结果是3
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询