求算法, aaaabbbcc形式的输出为4a3b2c,程序关键的地方最好能顺便讲解一下。谢谢了。我没有分。。
#include
#include
#include
struct data{
char a;
int temp;};
int main()
{ int i;
struct data alb[52];
for(i=0;i<52;i++)
{
static char tempchar='A';
if(tempchar!='[')
{alb[i].a=tempchar++;
alb[i].temp=0;
}
else{tempchar='a';
alb[i].a=tempchar++;
alb[i].temp=0;
}
}
char tempchar[100];
printf("please input the string:");
gets(tempchar);
i=strlen(tempchar);
int tempi;
for(tempi=0;tempi<i;tempi++)
{
int tempj=0;
while(1)
{
if(alb[tempj].a!=tempchar[tempi])
tempj++;
else break;
}
alb[tempj].temp++;
}
for(i=0;i<52;i++)
{
if(alb[i].temp!=0)
{
printf("%d",alb[i].temp);
printf("%c",alb[i].a);
}
}
return 0;
}
a=100
所以程序执行
else printf("%d
",a<=100)
这里 a<=100 为 true ,以整数形式显示:1
关键:你显示的是 (a<=100) ,布尔型转换为整数输出
int main()
{
int n = 1;
char curr, c;
curr = getchar(); //先读入一个字符,并记录其为当前字符
while(curr != '\n') //循环结束条件是读入换行符
{
c = getchar(); //读入一个字符
if(c == curr) //如果新读入的字符与上一个字符一致,则将计算器加1
{
++n;
}
else
{
printf("%d%c", n, curr); //如果新读入的字符与上一个字符不一致,输出上个字符的出现次数和字符本身,并将计算器重置成1,将新读入的字符记录为当前字符
n = 1;
curr = c;
}
}
sleep(10);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
struct data{
char a;
int temp;};
int main()
{ int i;
struct data alb[52];
for(i=0;i<52;i++)
{
static char tempchar='A';
if(tempchar!='[')
{alb[i].a=tempchar++;
alb[i].temp=0;
}
else{tempchar='a';
alb[i].a=tempchar++;
alb[i].temp=0;
}
}
char tempchar[100];
printf("please input the string:");
gets(tempchar);
i=strlen(tempchar);
int tempi;
for(tempi=0;tempi<i;tempi++)
{
int tempj=0;
while(1)
{
if(alb[tempj].a!=tempchar[tempi])
tempj++;
else break;
}
alb[tempj].temp++;
}
for(i=0;i<52;i++)
{
if(alb[i].temp!=0)
{
printf("%d",alb[i].temp);
printf("%c",alb[i].a);
}
}
return 0;
}
贺罚葡萄: 模式串'aaaab'和'adabbadada' next和nextval数组值记得大学时自己也总结出了这种算法的,手动计算,数据结构的书都丢了,还好在网上找会了同样的算法 特记下: int get_nextval(SString T,int &nextval[ ]){ //求模式串T的next函数修正...
汕头市18116046032: 如何利用宏计算同一列中单元格内容相同的总数 - ?
贺罚葡萄: Sub 小晕() Dim k k = Application.WorksheetFunction.CountIf(Columns(1), "C") [b1] = k End Sub 在B1单元格显示结果
汕头市18116046032: 串模式匹配算法 - ?
贺罚葡萄: # include # include # define OK 1 # define ERROR 0 typedef int Status; //串的定长顺序存储结构 # define MAX_STR_LEN 40 typedef char SString[MAX_STR_LEN + 1];//0号单元存放串的长度 Status StrAssign(SString T,char * chars)//生成一个其...
汕头市18116046032: 第一个天平分别AABC和AAAAB,第二个天平分别BBBB和AACC,第三个天平分别BBC和? - ?
贺罚葡萄: aaaaa,首先看第一个天平,可以把共同的aab约掉,得到c=aa,第二个天平告诉我们bbbb=aaaaaa=ccc,由此得bbc=aaaaa
汕头市18116046032: 从00000~99999中,三个数字以上相同的概率是多少?一共有多少组? - ?
贺罚葡萄: 全同的, 如11111,22222, 有10 组AAAAB 形的, 有10*9*(5,1)=450种AAABB形的, 有10*9*(5,2) = 900种AAABC形的, 有10*9*8*(5,2) = 7200种共有8560种组合
汕头市18116046032: 5个A和5个B可以组合出多少组不同的5位数 - ?
贺罚葡萄: 因为只有A和B,所以只需考虑A即可.A出现的次数有0~5六种 出现0,有C(5,0)=1种 出现1,有C(5,1)=5种 出现2,有C(5,2)=10种 出现3,有C(5,3)=10种 出现4,有C(5,4)=5种 出现5,有C(5,5)=1种 所以可以组合出32组不同的5位数
汕头市18116046032: c语言中怎么从一串字符串当中找出那个和其他字符不一样的,字符的位置.比如说输入五个字符aaaab, - ?
贺罚葡萄: 把字符串拷贝到数组里,然后遍历数组就可以实现了
汕头市18116046032: )输入一串字符,只包括a,b,c,d四种字符,调整输出顺序,依照a,b,c,d的顺序输出序列.请编程实现.?
贺罚葡萄: #include<stdio.h> #include<string.h> void main () { int n,i,j; char a[100],b; gets(a); n=strlen(a); for(i=0;i<n;i++) for(j=0;j<n;j++) if(a[i]<a[j]) {b=a[i]; a[i]=a[j]; a[j]=b;} puts(a); } 望采纳
汕头市18116046032: 如何用正则表达式匹配aabb型的字符串 - ?
贺罚葡萄: x(xy|yx)y
汕头市18116046032: VF题:SET TALK OFF STORE 1 TO I,J FOR N=1 TO 4 @I,J+1 SAY“AB” J=J+1 ENDFOR RETURN运行结果为:AAAAB,讲解下为啥~ - ?
贺罚葡萄:[答案] 注意@的用法就知道了,程序一次执行的命令等价于一下命令,循环看懂了. @ i,j SAY 表示在屏幕i行j列输出字符串表达式. @ 1,2 say "AB" &&N=1,在1行2列输出字符串AB @ 1,3 say "AB" &&N=2,在1行3列输出字符串AB 注意此处会将上方字...