|
こんばんは。ともじさん、何度もありがとうございます。
右揃えはかずまさんのものを参考にさせていただきました。
#include<stdio.h>
void set(int process[],int size,int init_value);
void kaijou(int process[],int);
main()
{
int process[70],k;
set(process,70,1);
kaijou(process,53);
}
void set(int process[],int size,int init_value)
{
int i;
for(i=1;i < size;i++)
process[i]=0;
process[0]=init_value;
}
void kaijou(int process[],int n)
{
int i,s,a,count,k;
count=0;
for(i=1;i<=n;i++){
a=0;
for(s=0;s<=count;s++){
process[s]=process[s]*i+a;
a=0;
if ((process[s]/10000)!=0){
a = process[s]/10000;
process[s]=process[s]%10000;
}
}
if (a!=0){
process[s]=a;
count++;
}
printf("%2.1d!=%*d",i,70-4*count,process[count]);
for(s=count-1;s>=0;s--)
printf("%04d",process[s]);
printf("\n");
}
}
を、
#include<stdio.h>
void set(int process[],int size,int init_value);
void kaijou(int process[],int);
void print(int process[],int);
main()
{
int process[20],k;
set(process,70,1);
kaijou(process,53);
print(process,53);
}
void set(int process[],int size,int init_value)
{
int i;
for(i=1;i < size;i++)
process[i]=0;
process[0]=init_value;
}
void kaijou(int process[],int n)
{
int i,s,a,count,k;
count=0;
for(i=1;i<=n;i++){
a=0;
for(s=0;s<=count;s++){
process[s]=process[s]*i+a;
a=0;
if((process[s]/10000)!=0){
a = process[s]/10000;
process[s]=process[s]%10000;
}
}
if(a!=0){
process[s]=a;
count++;
}
}
void print(int process[], int n)
{
int i,s,count;
for(i=1;i<=n;i++) {
for(s=0;s<=count;s++){
if(s==count)
printf("%d!=%*d",i,70-4*count,process[count]);
else
for(s=count-1;s>=0;s--)
printf("%04d",process[s]);
}
printf("\n");
}
}
という風にしてみたのですが、どうしてもprint関数部がコンパイルで
引っかかってしまいます。どうすればいいのでしょうか?
質問ばかりで大変申し訳ないのですが・・・
|