33,311
社区成员
发帖
与我相关
我的任务
分享
# include <stdio.h>
# include <math.h>
int main (void)
{
int a, n, i, j, k ;
unsigned long sum, p, t ;
sum = 0 ;
printf ("请输入a和n的值:\n") ;
scanf ("%d %d", &a, &n) ;
for (i = 0; i < n; i++)
{
for (j = 0, p = 0; j <= i; j++)
{
for (k = 0, t=1; k < j; k++)
t *= 10;
p += a * t ;
}
sum += p ;
}
printf ("sum = %lu\n", sum) ;
return 0 ;
}
# include <stdio.h>
# include <math.h>
int main (void)
{
int a, n, i, j ;
float sum ,p;
sum = 0 ;
printf ("请输入a和n的值:\n") ;
scanf ("%d %d", &a, &n) ;
for (i = 0; i < n; i++)
{
for (j = 0, p = 0; j <= i; j++)
{
p += a * pow ((float)10,j) ;
}
sum += p ;
}
printf ("sum = %lf\n", sum) ;
return 0 ;
}
关键是pow函数你用的有问题啊,注意下参数和返回值的类型。 p += a * pow (10, j) ;
中的pow(10,j)移出来做一个单独变量即可。
# include <stdio.h>
# include <math.h>
#include<stdlib.h>
int main (void)
{
int a, n, i, j,p ,sum;
float k;
sum = 0 ;
printf ("请输入a和n的值:\n") ;
scanf ("%d %d", &a, &n) ;
for (i = 0; i < n; i++)
{
for (j = 0, p = 0; j <= i; j++)
{
k = pow(10,j);
p += a * k ;
}
sum += p ;
}
printf ("sum = %d\n", sum) ;
system("pause");
return 0 ;
}
检验通过。#include <stdio.h>
#include <string.h>
#define MAXLEN 1000
char a1[MAXLEN];
char a2[MAXLEN];
static int v1[MAXLEN];
static int v2[MAXLEN];
static int v3[MAXLEN];
int i,j,n,L,z;
void main(void) {
scanf("%d",&n);
for (j=0;j<n;j++) {
scanf("%s%s",a1,a2);
L=strlen(a1);
for (i=0;i<L;i++) v1[i]=a1[L-1-i]-'0';
L=strlen(a2);
for (i=0;i<L;i++) v2[i]=a2[L-1-i]-'0';
for (i=0;i<MAXLEN;i++) v3[i]=v1[i]+v2[i];
for (i=0;i<MAXLEN;i++) {
if (v3[i]>=10) {
v3[i+1]+=v3[i]/10;
v3[i]=v3[i]%10;
}
}
printf("Case %d:\n", j+1);
printf("%s + %s = ", a1, a2);
z=0;
for (i=MAXLEN-1;i>=0;i--) {
if (z==0) {
if (v3[i]!=0) {
printf("%d",v3[i]);
z=1;
}
} else {
printf("%d",v3[i]);
}
}
if (z==0) printf("0");
printf("\n");
}
}
//Sample Input
//3
//0 0
//1 2
//112233445566778899 998877665544332211
//
//Sample Output
//Case 1:
//0 + 0 = 0
//Case 2:
//1 + 2 = 3
//Case 3:
//112233445566778899 + 998877665544332211 = 1111111111111111110