背景:小紫书上习题
学习:1.条件运算符?:; 的运用可以简化,高效代码。?的优先级大于=,小余算术和关系运算符。与多重赋值语句一样采用右结合。(用到了dp的思想)
代码:
#include<stdio.h> #include<string.h> int main(void){ int num[80]; char str[81]; int t; scanf("%d",&t); while(t--){ int sum = 0; scanf("%s",str); str[0]=='O' ? num[0]=1:num[0]=0; for(int i=1;i<strlen(str);i++){ str[i]=='O' ? num[i]=num[i-1]+1:num[i]=0; sum += num[i]; } printf("%d\n",sum+num[0]); } return 0; }
原文:http://blog.csdn.net/jibancanyang/article/details/42400671