题目:编程求aaa...a-...-aaa-aa-a的值,aaa...a表示由a组的n位整数,n在1~9取值。写完了代码担心有bug,先说说我的思路:我是用一个for循环就解决了这个问题,因为看题意得因为是n位整数,我们可以让a乘10来增加他的位数,然后再让a乘一个-1与他相减,咱寻思半天好像答案就是个零。可能我这个小白的思路是错的,希望大佬贴个代码解惑🙏
供参考:
#include<stdio.h>
int main()
{
int a,n,i,s=0,k,t;
scanf("%d%d",&a,&n);
if(n > 9) n=9;
for(i=n;i>0;i--)
{
k=i;t=0;
while(k--)t=t*10+a;//a=1,i=n=9,t = 111111111. i=8,t=11111111.
i==n?s=t:s-=t; //三目运算,当i==n=9时,s为第一项所以 s=t=111111111,
} //当 i 不是第一项时,s = s - t = 111111111 - 111...
printf("%d",s);
return 0;
}