采用函数模块
代码如下:
#include<stdio.h>
void sequencesum(int *p, int m, int n)
{
int i,t,num;
t = 0;
num = 0;
if(n == 0) //0个A,单独输出
{
printf("0");
}
else
{
for(i=n;i>=1;i--) //逆序存储,从最低位开始
{
p[t++] = n*m;
n = n-1;
}
t = t-1; //找到数组最后一个元素的下标
for(i=0; i<=t; i++) //用数组进位
{
num = p[i]/10;
p[i]=p[i]%10;
if(i != t)
{
p[i+1] = p[i+1]+num;
}
}
t = t+1; //数组最后一个下标的再下一个下标,此时为空,可以放数据
for(;num>0;) //把最高位往前推
{
p[t++] = num%10;
num = num/10;
}
for(i=t-1; i>=0; i--) // 逆序输出数组元素
{
printf("%d",p[i]);
}
}
}
int main()
{
int a[518028]; //int型数组最大容量
int A,N;
scanf("%d%d",&A,&N);
sequencesum(a, A, N);
return 0;
}
本文介绍了一个C语言函数,它接收三个参数:一个整数指针、基数和位数,用于逆序存储序列并将高位进位到低位。通过逆序存储和数组操作,该函数可以将给定的A的序列转换为逆序且进位后的形式,适用于特定数值计算问题。
596

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



