本文共 621 字,大约阅读时间需要 2 分钟。
此题最重要的是怎样计算打印个数 . if(str[i]>='0'&&str[i]<='9') sum+=str[i]-'0'; 这段代码即for循环的综合运用让人恍然大悟,确实不错,为我解决了很多问题. 11X21b1X =>2X3b1X int main() { char str[133]; while(gets(str)!=NULL) { int len=strlen(str); int sum=0; for(int i=0; i<len; i++) { if(str[i]>='0'&&str[i]<='9') sum+=str[i]-'0'; else if(str[i]>='A'&&str[i]<='Z') { for(int j=0; j<sum; j++) putchar(str[i]); sum=0; } else if(str[i]=='b') { for(int j=0; j<sum; j++) putchar(' '); sum=0; } else if(str[i]=='*') { for(int j=0; j<sum; j++) putchar('*'); sum=0; } else if(str[i]=='!') putchar('\n'); } putchar('\n'); } return 0; } 转载于:https://my.oschina.net/pandacub/blog/138241