湖畔读书人


私信TA

用户名:2814787590

访问量:92124

签 名:

等  级
排  名 18
经  验 14679
参赛次数 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分

96 人评分

  评论区

#include<stdio.h>

#include<math.h>

int main()

{
	int n;
	
	scanf("%d",&n);
	
	int i=1;
	
	int j=1;
	
	int z=0;
	
	for(j=1;j<=n;j++){
		
		int s=0,x=0;
	
	for(i=1;i<=j;i++){
		
		x=2*pow(10,i-1);
		
		s+=x;
		
	}
	
	z+=s;
}
		printf("%d",z);	
	
	return 0;
 } 
求教为什么运行错误??
2022-02-10 19:38:06 | |
int main()
{
	int n,a=2;
	int x = 0, y = 0;
	int Sn = 0;
	scanf("%d", &n);
	for (int i = 0; i < n + 1; i++)
	{
		x = a * (pow(10, i - 1));
		y = y + x;
		Sn = Sn + y;
	}
	printf("%d", Sn);
	return 0;
}
2022-01-28 12:01:34 | |
#include<stdio.h>
#include<math.h>
int n;
      	scanf("%d",&n);
      	int sn=0,s=0;
      	int i;
      	for(i=1;i<=n;i++)
      	{
      		s+=2*pow(10,i-1);
      		sn+=s; 
		  }
		  printf("%d",sn);
2022-01-26 10:53:42 | |
#include<stdio.h>
int main()
{
    int a=2,n,sn=0,i;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        sn=a+sn;
        a=a*10+2;
    }
    printf("%d",sn);
    return 0;
}
2022-01-22 21:20:55 | |
/*求Sn=a+aa+aaa+…+aa…aaa(有n个a)之值,其中a是一个数字,为2。 例如,n=5时=2+22+222+2222+22222,n由键盘输入。*/
#include <stdio.h>
int main()
{
	int Sn = 0, a = 0, n;
	scanf("%d", &n);
	for (int i = 1; i <= n; i++)
	{
		a = a * 10 + 2;
		Sn = Sn + a;
	}
	printf("%d", Sn);
}
2021-12-13 23:30:14 | |
#include<stdio.h>
#include<math.h>
int main()
{
	int n,i;
	int sum=0;
	int x;
	scanf("%d",&n);
	for(i=1;i<=n;i++)
	{
	x=(pow(10,i)-1)/9*2;
	sum+=x;	
       printf("sum=%d\n",sum);
	}

	return 0;
}
为什么答案错误?大佬帮忙看看
2021-11-29 11:53:14 | |
求求大神舅舅孩子,不知道这两个哪里错了
int main()
{
    int i,m,n,t;
    scanf ("%d",&n);
    t=0;
    BEGIN:;//goto返回点
    for (i=0,m=0; n>=1; n--)
    {
        i=2*pow(10,n-1);
        m+=i;
    }
    t+=m;
    if(n>1)
    {
        n--;
        goto BEGIN;
    }
    else
        printf("%d",t);
    return 0;
}

int main()
{
    int i,m,n,t;
    scanf ("%d",&n);
    t=0;
    while(n>=1)
    {
        for (i=0,m=0; n>=1; n--)
        {
            i=2*pow(10,n-1);
            m+=i;
        }
        t+=m;
        n--;
    }
    printf("%d",t);
    return 0;
}
2021-11-07 17:16:27 | |
#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 | |