
| 
 | 
|  | 作者: baobao [gnijnil]  论坛用户 | 登录 | 
| 3.求s=a+aa+aaa+…aaaa…a(n个a),假设由键盘输入a 和 n 的值为2和8, 则s=2+22+222+…22222222 我是这样做的。就是不行。要怎么改啊??谢谢。 main() {int t,i,n,a,add=2,sum=0; printf("input the value of n,a:"); scanf("%d,%d",&n,&a); for(i=1;i<=n;i++) {t=10*(i-1)*a; 这句要怎么改了才行?? add+=t; sum+=add; } printf("%d",sum); getch(); }  [此贴被 baobao(gnijnil) 在 04月11日13时17分 编辑过] | 
| 地主 发表时间: 05-04-11 11:25 | 
|  | 回复: onizuka [onizuka]  论坛用户 | 登录 | 
| int范围太小 | 
| B1层 发表时间: 05-04-11 11:37 | 
|  | 回复: 286 [unique]  版主 | 登录 | 
| main() { int t,i,n,a,sum=0; printf("input the value of n,a:"); scanf("%d,%d",&n,&a); t=a; for(i=0;i<n;i++) { sum+=t; t=10*t+a; } printf("%d",sum); getch(); } | 
| B2层 发表时间: 05-04-11 15:46 | 
|  | 回复: leenux [leenux]  论坛用户 | 登录 | 
| main() { int n,i,e,x; long int a,sum,t,; sum=0; printf("input the value of the a,n"); scanf("%d,%d",&a,&n); x=a; if(n==1) sum=a; else for(i=2;i<=n;i++) {for(t=1,e=1,e<i;e++) t=t*10; a=a+a*t; /*第i项*/ sum=sum+a; /*第2到n项的和*/ } sum=sum+x; return(sum); } 未经测试,请各位高手指点,简化. | 
| B3层 发表时间: 05-04-11 17:15 | 
|  | 回复: baobao [gnijnil]  论坛用户 | 登录 | 
| 好了。谢谢你们了。   | 
| B4层 发表时间: 05-04-11 19:52 | 
|  | 回复: kenter1643 [kenter1643]  论坛用户 | 登录 | 
| 286的程序巧妙精短~~~~顶 | 
| B5层 发表时间: 05-04-14 21:47 | 
|  | 回复: xxing [xxing]  论坛用户 | 登录 | 
| 请问这里的SUM最大值是多少,我算出来是“-15761”不太明白   | 
| B6层 发表时间: 05-04-18 16:51 | 
| 
 | 
20CN网络安全小组版权所有
Copyright ©    2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon   

粤ICP备05087286号