真的本人解决不了才来求帮助的

C语言 码拜 5年前 (2016-05-25) 470次浏览
#include<stdio.h>
char a[47] = “AALLRRNNDDCCQQEEGGHHIIKKMMFFPPSSTTWWYYVVVVVVVV”,b[100];
int  i,j,x1,x2, aa, ll, rr, nn, dd, cc, qq, ee, gg, hh, ii, kk, mm, ff, pp, ss, tt, ww, yy, vv;
int main()
{

for (x1 = 1; x1 <= 42; x1++)
{
for (x2 = x1 + 4; x2 <= 46; x2++)
{
for (i = x1 – 1, j = 0; i < x2; j++, i++)
{
b[j] = a[i];
}
b[j] = “\0”;
printf(“结果是:%s\n”, b);
aa = 0;
for (i = 0; i < 47; i++)
{
if (b[i] == “A”)
aa++;
}
ll = 0;
for (i = 0; i < 47; i++)
{
if (b[i] == “l”)
ll++;
}
rr = 0;
for (i = 0; i < 47; i++)
{
if (b[i] == “R”)
rr++;
}
nn = 0;
for (i = 0; i < 47; i++)
{
if (b[i] == “N”)
nn++;
}
dd = 0;
for (i = 0; i < 47; i++)
{
if (b[i] == “D”)
dd++;
}
cc = 0;
for (i = 0; i < 47; i++)
{
if (b[i] == “C”)
cc++;
}
qq = 0;
for (i = 0; i < 47; i++)
{
if (b[i] == “Q”)
qq++;
}
ee = 0;
for (i = 0; i < 47; i++)
{
if (b[i] == “E”)
ee++;
}
gg = 0;
for (i = 0; i < 47; i++)
{
if (b[i] == “G”)
gg++;
}
hh = 0;
for (i = 0; i < 47; i++)
{
if (b[i] == “H”)
hh++;
}
ii = 0;
for (i = 0; i < 47; i++)
{
if (b[i] == “I”)
ii++;
}
kk = 0;
for (i = 0; i < 47; i++)
{
if (b[i] == “K”)
kk++;
}
mm = 0;
for (i = 0; i < 47; i++)
{
if (b[i] == “M”)
mm++;
}
ff = 0;
for (i = 0; i < 47; i++)
{
if (b[i] == “F”)
ff++;
}
pp = 0;
for (i = 0; i < 47; i++)
{
if (b[i] == “P”)
pp++;
}
ss = 0;
for (i = 0; i < 47; i++)
{
if (b[i] == “S”)
ss++;
}
tt = 0;
for (i = 0; i < 47; i++)
{
if (b[i] == “T”)
tt++;
}
ww = 0;
for (i = 0; i < 47; i++)
{
if (b[i] == “W”)
ww++;
}
yy = 0;
for (i = 0; i < 47; i++)
{
if (b[i] == “Y”)
yy++;
}
vv = 0;
for (i = 0; i < 47; i++)
{
if (b[i] == “V”)
vv++;
}
printf_s(“aa:%d,ll:%d,rr:%d,nn:%d,dd:%d,cc:%d,qq:%d,ee:%d,gg:%d,hh:%d,ii:%d,kk:%d,mm:%d,ff:%d,pp:%d,ss:%d,tt:%d,ww:%d,yy:%d,vv:%d\n”, aa, ll, rr, nn, dd, cc, qq, ee, gg, hh, ii, kk, mm, ff, pp, ss, tt, ww, yy, vv);
printf(“\n”);
printf(“\n”);
printf(“\n”);
}
}
}
就是这些,本人是想从一串字符中抽出来一些字符然后统计下其中的字符的数量,可是结果怎么都不对。真的本人解决不了才来求帮助的
有一些字符的数量明显不对,可是本人找不到问题出在哪里,
字符统计的语句统计一个字符串时是对的,可是一旦套上for循环语句的时候就好像结果叠加起来了一样,
可以看出有些字符的数量明显偏大,错的很离谱,可是本人不知道该怎么改,希望高手帮帮本人。

解决方案

200

首先,本人看不清你的截图,不知道本人这里显示问题还是你没截好!其次,你的内循环似乎不太对!有以下几点:第一,你每次最内层都执行47次,不是很懂,本人觉得应该是x2+1-x1次,即j次,你这样会导致有未定义的元素的使用。第二,按照你的代码,你每次最内层执行完b[]应该要重置!当然假如改成j则没有一定要求了。请指正

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明真的本人解决不了才来求帮助的
喜欢 (0)
[1034331897@qq.com]
分享 (0)