先附上第一次的代码
// /*int a=0,n=0,i,j=0,s=0,S=0;//
// scanf("%d,%d",&a,&n);
// for(i=1;i<=n;++i)
// {
// j=j*10+1;
// s=j*a;
// S+=s;
// }
// printf("%d",S);*/
简单说一下,直接把问题写在了main函数中,不方便,然后是这里直接获得n位a数字,并且求其从第一位开始的做和,虽然一步到位,但是再要使用这个函数还要重新写。
下边只展示如何构造一个n位a的正整数,至于做和容易,方法类似,不做说明。
int printnum(int a,int n)//输出n位a数字
{
int tmp = 0;
for(int i = 0;i < n;++i)
{
tmp = tmp* 10 + a;
}
return tmp;
}
这里函数名貌似不太好,写的是直接输出n位a数字,但其实是返回一个这样的数字,但问题不大。
方法就是定义一个和变量初始化为0,每次给这个变量乘十加上a再赋值给自己,tmp变量就会多出一位a。
后续改进的话就可以输出负数,或者小数点后多少位?这里就不继续写了,思想都差不多。
这次就这么多。
4778

被折叠的 条评论
为什么被折叠?



