解题思路注意事项:
这个题的思路是:
首先确定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分
155 人评分
#include<stdio.h> #include<math.h> int main() { int a,sn=0,i,n; scanf("%d",&n); for(i=1;i<=n;i++) { a=(2.0/9)*(pow(10,i)-1); sn=sn+a; } printf("%d\n",sn); return 0; }
#include <stdio.h> #include <math.h> int Calculate(int n); int main(void) { int num = 0; scanf("%d" ,&num); int sum = 0; for(int i = 1;i <=num;i++) { sum += Calculate(i); } printf("%d\n",sum); } int Calculate(int n) { if(n==0) { return 0; } else { return 2 * pow(10 ,(n-1)) + Calculate(n - 1); } }
#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-03-04 11:36:24 |
可能这里面用不了pow函数吧
uq_49543112320 2022-04-28 20:37:43 |
我写的跟你差不多,也是报错了
uq_49543112320 2022-04-28 20:37:54 |
#include<stdio.h> #include<math.h> int main(void) { int n,sum = 0; scanf("%d",&n); int i = 0; int alsum; while(i<n){ sum += 2*pow(10,i); alsum +=sum; i++; } printf("%d",alsum); return 0; }
DEAN学C好男 2022-06-06 16:51:08 |
@uq_49543112320 你这个报错呀
不自律不改名 2022-06-21 10:44:14 |
int a=2,i,n=0,j,sum=0; float num; scanf("%d",&n); for(i=0;i<n;i++) { num=0; for(j=i;j>=0;j--) { num+=pow(10,j)*a; } sum+=num; } printf("%d ",sum);return 0;
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; }
#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);
#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; }
MMM 2023-10-24 22:10:20 |
可以可以
saul 2023-11-28 15:47:36 |
你这样写相当于只定义了n=0