麻烦那位高手帮我解决这道C语言题
编程统计从键盘上输入的数字中每种数字的个数和其它字符的个数,并以字符$作为输入结束符.这题怎么做啊?...
编程统计从键盘上输入的数字中每种数字的个数和其它字符的个数,并以字符$作为输入结束符.这题怎么做啊?
展开
3个回答
展开全部
#include<stdio.h>
void main()
{
char ch;
int letter_sum = 0;
int digit_sum = 0;
int others_sum = 0;
printf("Please input the string:");
do
{
ch = getchar();
if((ch >= 'a'&& ch <='z') || (ch >='A'&&ch <= 'Z'))
letter_sum++;
else if(ch >= '0' && ch <= '9')
digit_sum++;
else if(ch != '$')/*$不算做其他字符,不参加统计*/
others_sum++;
}while(ch != '$');
printf("The string has %d letters.\n",letter_sum);
printf("The string has %d digits.\n",digit_sum);
printf("The string has %d others.\n",others_sum);
}
已经测试通过,好处是不限制所要测试的字符串的长度!
楼下的兄弟,当然是自己写的了!偶是学计算机的啊!
哦,不好意思,你现在变成了楼上的兄弟了,哈哈!
void main()
{
char ch;
int letter_sum = 0;
int digit_sum = 0;
int others_sum = 0;
printf("Please input the string:");
do
{
ch = getchar();
if((ch >= 'a'&& ch <='z') || (ch >='A'&&ch <= 'Z'))
letter_sum++;
else if(ch >= '0' && ch <= '9')
digit_sum++;
else if(ch != '$')/*$不算做其他字符,不参加统计*/
others_sum++;
}while(ch != '$');
printf("The string has %d letters.\n",letter_sum);
printf("The string has %d digits.\n",digit_sum);
printf("The string has %d others.\n",others_sum);
}
已经测试通过,好处是不限制所要测试的字符串的长度!
楼下的兄弟,当然是自己写的了!偶是学计算机的啊!
哦,不好意思,你现在变成了楼上的兄弟了,哈哈!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
zuoqiangxiang的代码还算不错 稍微给你改下
#include<stdio.h>
void main()
{
char ch;
int letter_sum = 0;
int digit_sum = 0;
int others_sum = 0;
printf("Please input the string:");
ch = getchar();
while (ch != '$')
{
if((ch >= 'a'&& ch <='z') || (ch >='A'&&ch <= 'Z'))
letter_sum++;
else if(ch >= '0' && ch <= '9')
digit_sum++;
else
others_sum++;
ch = getchar();
}
printf("The string has %d letters.\n",letter_sum);
printf("The string has %d digits.\n",digit_sum);
printf("The string has %d others.\n",others_sum);
}
这样输入每个字符的时候少判断一次 并且在第一个就是$的情况下不用运行 while循环
顺便说下 我也爱吃雪丽糍 呵呵
百度 老岩 gabmyd@126.com
#include<stdio.h>
void main()
{
char ch;
int letter_sum = 0;
int digit_sum = 0;
int others_sum = 0;
printf("Please input the string:");
ch = getchar();
while (ch != '$')
{
if((ch >= 'a'&& ch <='z') || (ch >='A'&&ch <= 'Z'))
letter_sum++;
else if(ch >= '0' && ch <= '9')
digit_sum++;
else
others_sum++;
ch = getchar();
}
printf("The string has %d letters.\n",letter_sum);
printf("The string has %d digits.\n",digit_sum);
printf("The string has %d others.\n",others_sum);
}
这样输入每个字符的时候少判断一次 并且在第一个就是$的情况下不用运行 while循环
顺便说下 我也爱吃雪丽糍 呵呵
百度 老岩 gabmyd@126.com
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询