因为每个人,这是一个符合我的优先级的代码,但主要的问题是他没有按照我喜欢的方式编写尽可能多的数字,但是,那么,这是除以4. FE 4位数字,在点之后,8,12 16 20等在哪里举行?另一个问题是,如何读取教科书中的所有符号,它只读取一个数组。谢谢你的时间。平方根2.我做过C语言的一些错误
#include
#include
#include
#include
long B=10000000;
long LB=4;
void SetToInteger (long n, long *x, long Integer) {
long i;
for (i=1; i
x[0] = Integer;
}
long IsZero (long n, long *x) {
long i;
for (i=0; i
if (x[i]) return 0;
return 1;
}
void Add (long n, long *x, long *y) {
long carry=0, i;
for (i=n-1; i>=0; i--) {
x[i] += y[i]+carry;
if (x[i]
else {
carry = 1;
x[i] -= B;
}
}
}
void Mul (long n, long *x, long q) {
long carry = 0, xi, i;
for (i=n-1; i>=0; i--) {
xi = x[i]*q;
xi += carry;
if (xi>=B) {
carry = xi/B;
xi -= (carry*B);
}
else
carry = 0;
x[i] = xi;
}
}
void Div (long n, long *x, long d) {
long carry=0, xi, q, i;
for (i=0; i
xi = x[i]+carry*B;
q = xi/d;
carry = xi-q*d;
x[i] = q;
}
}
void Print (long n, long *x) {
long i;
printf ("%d.", x[0]);
for (i=1; i
printf ("%.4d", x[i]);
if (i%25==0) printf ("%8d\n", i*4);
}
printf ("\n");
}
int main() {
char co[5000];
char sym[5000] = "symboliai.txt";
FILE* f = fopen (sym, "r");
for (int i=0; !feof(f); i++)
co[i] = fgetc(f); //1 symbol? (http://www.copypastecharacter.com/all-characters just deleted the numbers.)
printf("%s",co);
printf("digits?\n");
int n=0;
scanf("%d",&n);
for (int a=0; a
if((co[a]!=n|| n>=0))
{
long NbDigits=n, size=1+NbDigits/LB;
long *r2 = (long *)malloc(size*sizeof(long));
long *uk = (long *)malloc(size*sizeof(long));
long k=1;
SetToInteger (size, r2, 1);
SetToInteger (size, uk, 1);
while (!IsZero(size, uk)) {
Div (size, uk, 57122);
Div (size, uk, 2*k);
Mul (size, uk, 2*k-1);
Add (size, r2, uk);
k++;
}
Mul (size, r2, 239);
Div (size, r2, 169);
Print (size, r2);
free (r2);
free (uk);}
else
printf("skaicius neigiamas");
}
2015-11-19
Andrelis
+3
如果您有两个不同的问题,则将其作为两个不同的问题发布。 –
+4
至于* one *的问题,请尝试学习如何使用调试器。然后你可以逐行浏览代码,看看会发生什么,而你可以看到所有变量的值是什么。 –