编写一个程序,输入一行字符,统计其中26个英文字母(不区分大小写)各出现多少次
答案:3 悬赏:40 手机版
解决时间 2021-01-10 11:36
- 提问者网友:川水往事
- 2021-01-09 22:20
编写一个程序,输入一行字符,统计其中26个英文字母(不区分大小写)各出现多少次
最佳答案
- 五星知识达人网友:逐風
- 2021-01-09 22:59
数组n事先没有设置为0
#include
int main() {
char s[]= {"abcdefghijklmnopqrstuvwxyz"};
char x[50];
int n[26],i,j[50];
printf("输入一行字符:");
gets(x);
for(i=0;i<26;i++) n[i] = 0; // 初始化为0
for(i=0; x[i]!='\0'; i++) {
j[i]=x[i];
if(j[i]>=65&&j[i]<=90)
n[j[i]-65]++;
if(j[i]>=97&&j[i]<=122)
n[j[i]-97]++;
}
for(i=0; i<26; i++)
printf("%c出现了%d次\n",s[i],n[i]);
}追问感谢!不过,字母可以自动转化为对应的ASCII码值吗
#include
int main() {
char s[]= {"abcdefghijklmnopqrstuvwxyz"};
char x[50];
int n[26],i,j[50];
printf("输入一行字符:");
gets(x);
for(i=0;i<26;i++) n[i] = 0; // 初始化为0
for(i=0; x[i]!='\0'; i++) {
j[i]=x[i];
if(j[i]>=65&&j[i]<=90)
n[j[i]-65]++;
if(j[i]>=97&&j[i]<=122)
n[j[i]-97]++;
}
for(i=0; i<26; i++)
printf("%c出现了%d次\n",s[i],n[i]);
}追问感谢!不过,字母可以自动转化为对应的ASCII码值吗
全部回答
- 1楼网友:鸠书
- 2021-01-10 01:39
好复杂的样子
- 2楼网友:毛毛
- 2021-01-10 00:03
每个追问对追答Private Sub Command1_Click()
Dim i%, t%, j%
Dim s As String, st As String
Dim Sn(25) As Integer
s = InputBox("请输入一行字符")
Text1 = s
For i = 1 To Len(s)
st = Mid(s, i, 1)
t = Asc(st)
For j = 65 To 90
If t = j Or t = j + 32 Then
Sn(j - 65) = Sn(j - 65) + 1
End If
Next
Next
For i = 0 To 25
Print "字母" + Chr(i + 65) + ":" + Str(Sn(i)) + "个"
Next
End Sub追问不好意思,看不懂,c++初级学徒追答我用的是vb
不是c++追问不好意思,没学过
Dim i%, t%, j%
Dim s As String, st As String
Dim Sn(25) As Integer
s = InputBox("请输入一行字符")
Text1 = s
For i = 1 To Len(s)
st = Mid(s, i, 1)
t = Asc(st)
For j = 65 To 90
If t = j Or t = j + 32 Then
Sn(j - 65) = Sn(j - 65) + 1
End If
Next
Next
For i = 0 To 25
Print "字母" + Chr(i + 65) + ":" + Str(Sn(i)) + "个"
Next
End Sub追问不好意思,看不懂,c++初级学徒追答我用的是vb
不是c++追问不好意思,没学过
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯