湖畔读书人


私信TA

用户名:2814787590

访问量:69855

签 名:

等  级
排  名 24
经  验 11562
参赛次数 0
文章发表 42
年  龄 0
在职情况 学生
学  校 武汉东湖学院
专  业

  自我简介:

解题思路注意事项:


这个题的思路是:


首先确定n,是有几项相加,然后利用for()循环n次进行相加;


其次就是每次计算时要加的项,也就是几个2,我的方法是:

        1、先定义a=0;

        2、由于后一项都比前一项多一个2,所以a=a*10+2,因为a的值为0,所以当n=1的时候,a=2;

        3、求和将每个a都加上就可以了。


需要注意的是for()循环里面的表达式,循环的次数一定注意不要出错就没问题了。

参考代码:

#include<stdio.h>
int main()
{
	int n,Sn = 0,i,a = 0;
	scanf("%d",&n);
	for(i=0; i<n; i++){
		a = a * 10 + 2;
		Sn = Sn + a;
	}
	printf("%d\n",Sn);
	return 0;
}


 

0.0分

65 人评分

  评论区

#include <stdio.h>

int main(void)
{
	int n,i,a[n],j=0;
	a[0]=0;
	int sum = 0,flag = 1,temp = 1;
	scanf("%d",&n);
	while(flag)
	{
		for(i = 0;i < temp;i++)
		{
			a[j] += 2 * 10^i;
		}
		j++;	
		if(j == n)
		{
			flag = 0;
			break;
		}
		temp ++;
	}
	for(i = 0;i < n;i++)
	{
		printf("%d",a[i]); 
	}
	printf("%d",sum);
	return 0;
}
求解,这为什么不对
2021-03-14 18:38:10 | |
int main()
{
	int sn=0,i,n,a=0;
	scanf("%d",&n);
	for(i=1;i<=n;i++)
	{
		a=pow(10,i);
		sn=sn+a/5;
	}
	printf("%d",sn);
}//求解这个.......
2021-02-05 10:02:52 | |
#include <stdio.h>
int main ()
{
	int n,a=2;
	long term=0,Sn=0;
	printf("请输入n的值:");
	scanf("%d",&n);
	while(n!=0)
	{
		term=term*10+a;
		Sn=Sn+term;
		n--;
	}
	printf("Sn=%d",Sn);
	return 0;
}
2021-01-28 18:11:43 | |
#include<stdio.h>
#include<math.h> 
int main()
{
	int n,Sn,i,a,b=0;
	
	scanf("%d",&n);
	
	for(i=0;i<n;i++)
	
		{
			a=2*pow(10,i);
			b=a+b;
			Sn=Sn+b;
		}
		
	printf("%d",Sn);
	
	return 0;
 }
2020-12-17 20:32:37 | |
#include<stdio.h>
#include<math.h>
int main() {
	int Sn = 0, a = 0, n, i,b=0;
	scanf_s("%d", &n);
	for (i = 0; i < n; i++) {
		a = pow(10, i) * 2;
		b = b + a;
		Sn += b;
	}

	printf("%d", Sn);
	return 0;
}
2020-11-25 19:28:19 | |
#include <stdio.h>
#include <math.h>
int main()
{
	int a,b,c=0,sum=0;;
	scanf("%d",&a);
	for(b=0;b<a;b++)
	{
	    if(b==0)
	    c=2;
          if(b!=0)
	    c=pow(10,b)*2+c;
	    sum+=c;
	}
	printf("%d",sum);
	
	
	
   return 0;
}
我这个为什么a是3的时候就变成245了,求教
2019-11-22 16:50:51 | |
#include <stdio.h>

int paa(int n)
{
    if (n <= 1)
        return 2;
    else
        return 10 * paa(n - 1) + 2;
}

int main()
{
    int *p, b[100], c, sum, *i, k = 1;
    scanf("%d", &c);
    for (i = b + 1; i <= b + c; i++)
    {
        *i = paa(k++);
    }

    for (p = b + 1; p <= b + c; p++)
    {
        sum += *p;
    }
    printf("%d", sum);
    return 0;
}
求大神帮指点一下哪里错了,在编译器上输出的是正确答案
2019-11-02 21:39:08 | |
#include<stdio.h>
int main()
{
  int n,Sn=0,i;
  scanf("%d",&n);
  for(i=1;i<=n;i++)
  {Sn+=2*i*1e10*(i-1);}
  printf("%d\n",Sn);
	return 0;
}

请问这样编不行吗?麻烦教教我,谢谢!
2019-07-06 11:19:35 | |