c语言问题。

c语言问题。大神们帮我,,考试的

2.

#include <stdio.h>
#include <string.h>
void main(){
int i,n,k=0,s=0;
char str[80]={'\0'};
gets(str);n=strlen(str);
for(i=0;i<n;i++)
{
if(str[i]!='X')
{k+=1;s+=k;}
else k=0;
}
printf("%d",s);
}

//运行示例:

3.

#include <stdio.h>
#include <math.h>
void main(){
int i,j,k,n,a[1000];
scanf("%d%d",&n,&k);
for(i=0;i<n;i++)
a[i]=0;
for(i=0;i<n;i++)
for(j=0;j<k;j++)
if((i+1)%(j+1)==0)
a[i]=abs(a[i]-1);
for(i=0;i<n;i++)
if(a[i])
printf("%d ",i+1);
}

//运行示例:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-06-15

2:

int Score(char *str)
{
    int score=0, t=0;
    for (int i=0; str[i]; i++) str[i]=='O' ? score+=++t : t=0;
    return score;
}

3:

char Leds[1000];    //默认compiler清零,不再另写代码
void Action(int n, int k)
{
    for (int i=1; i<=k; i++) for (int j=1; j<=n; j++) if (j%i==0) Leds[j-1]^=1;
}
int main()
{
    int n, k;
    // 视要求赋n、k初值,代码略
    Action(n,k);
    for (int i=0; i<n; i++) if (Leds[i]) printf("%d ", i+1);
}

以上仅关键点,单独编译不过的,请自行补充完整。