(C语言初学者题目)C语言:输入一行字符,统计其中字母个数,数字个数,其他字符个数并输出计算结果。 10
输入一行字符,统计其中字母个数,数字个数,其他字符个数并输出计算结果。输入测试次数tt行字符输出每行字符输出计算结果,格式见样例样例输入2ABC123%xy+szuC++...
输入一行字符,统计其中字母个数,数字个数,其他字符个数并输出计算结果。
输入
测试次数t
t行字符
输出
每行字符输出计算结果,格式见样例
样例输入
2
ABC123%xy+
szuC++
样例输出
ALPHA:5 DIGIT:3 OTHER:2
ALPHA:4 DIGTI:0 OTHER:2
我就是在输入那里换行搞定不了,输出那里想到要用二维数组
麻烦给我一个完整的代码 展开
输入
测试次数t
t行字符
输出
每行字符输出计算结果,格式见样例
样例输入
2
ABC123%xy+
szuC++
样例输出
ALPHA:5 DIGIT:3 OTHER:2
ALPHA:4 DIGTI:0 OTHER:2
我就是在输入那里换行搞定不了,输出那里想到要用二维数组
麻烦给我一个完整的代码 展开
2个回答
展开全部
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int n=0,i;;
printf("请输入行数:");
scanf("%d",&n);
//动态分配char*二维数组--开始
char** s;
s=(char**)malloc(sizeof(char*)*n);
for(i=0;i<n;i++)
{
s[i]=(char*)malloc(sizeof(char)*128);
}
//动态分配char*二维数组--结束
for(i=0;i<n;i++)
{
scanf("%s",s[i]);
}
for(i=0;i<n;i++)
{
int len=strlen(s[i]);
int j,alpha=0,digit=0,other=0;
for(j=0;j<len;j++)
{
if(s[i][j]>='0' && s[i][j]<='9')
{
digit++;
}
else if((s[i][j]>='A' && s[i][j]<='Z') || (s[i][j]>='a' && s[i][j]<='z'))
{
alpha++;
}
else
{
other++;
}
}
printf("\nALPHA: %d DIGIT: %d OTHER: %d",alpha,digit,other);
}
return 0;
}
展开全部
#include "stdafx.h"
#include<stdio.h>
#include<math.h>
int main()
{
int shu=0, zi=0, other=0;
int i=0;
char s[1024];
gets_s(s);
while (s[i] != '\0') {
if (s[i] > 47 && s[i] < 58)
shu++;
else if ((s[i] < 123 && s[i]>96) || (s[i] > 64 && s[i] < 91))
zi++;
else other++;
i++;
}
printf("数字:%d\n字母:%d\n其他:%d", shu, zi, other);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询