指针填空
时间: 1ms 内存:128M
描述:
用指针统计字符串中英文字母、数字的个数输入一行字符,用指针统计字符串中英文字母和数字(字符串中只有英文字符和数字)主要代码已经给出,请补充缺少的部分。#include<stdio.h>#include<stdlib.h>#include<string.h>#define Maxsize 10000int main(){char *p;int sum1=0,sum2=0;p=(char *)malloc(sizeof(char)*Maxsize);scanf("%s",p);while(*p){/*******************************请在该部分补充缺少的代码********************************/}printf("%d %d\n",sum1,sum2);return 0;}
输入:
一行字符串
输出:
统计值
示例输入:
abcdefghi123456789
示例输出:
9 9
提示:
参考答案(内存最优[1092]):
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define Maxsize 10000
int main()
{
char *p;
int sum1=0,sum2=0;
p=(char *)malloc(sizeof(char)*Maxsize);
scanf("%s",p);
while(*p)
{if(*p<='z'&&*p>='a'||*p>='A'&&*p<='Z')
sum1++;
else if(*p>='0'&&*p<='9')
sum2++;
p++;
}
printf("%d %d\n",sum1,sum2);
return 0;
}
参考答案(时间最优[0]):
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define Maxsize 10000
int main()
{
char *p;
int sum1=0,sum2=0;
p=(char *)malloc(sizeof(char)*Maxsize);
scanf("%s",p);
while(*p)
{if(*p<='z'&&*p>='a'||*p>='A'&&*p<='Z')
sum1++;
else if(*p>='0'&&*p<='9')
sum2++;
p++;
}
printf("%d %d\n",sum1,sum2);
return 0;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。