From h-ishida@rr.iij4u.or.jp Mon May 24 00:42:30 1999 Received: from wise19.mn.waseda.ac.jp (wise19.mn.waseda.ac.jp [133.9.4.137]) by newton.kashi.info.waseda.ac.jp (8.8.8/3.7W) with ESMTP id AAA02689 for ; Mon, 24 May 1999 00:42:30 +0900 (JST) Received: from wise20.mn.waseda.ac.jp (wise20.mn.waseda.ac.jp [133.9.4.141]) by wise19.mn.waseda.ac.jp (8.9.1a/3.7W-19980811) with ESMTP id AAA01643 for ; Mon, 24 May 1999 00:31:36 +0900 (JST) Received: from wise19.mn.waseda.ac.jp (wise19.mn.waseda.ac.jp [133.9.4.137]) by wise20.mn.waseda.ac.jp (8.9.1+3.0W/3.7W-19981111) with ESMTP id AAA04782 for ; Mon, 24 May 1999 00:31:35 +0900 (JST) Received: from mfo01.iij.ad.jp (mfo01.iij.ad.jp [202.232.2.118]) by wise19.mn.waseda.ac.jp (8.9.1a/3.7W-19980811) with ESMTP id AAA00704 for ; Mon, 24 May 1999 00:21:16 +0900 (JST) Received: from rr.iij4u.or.jp (root@rr.iij4u.or.jp [210.130.0.42]) by mfo01.iij.ad.jp (8.8.8/MFO1.3) with ESMTP id AAA15642 for ; Mon, 24 May 1999 00:21:16 +0900 (JST) Received: from default (h019.p099.iij4u.or.jp [210.130.99.19]) by rr.iij4u.or.jp (8.8.8+2.2IIJ/4U1.1) with SMTP id AAA10156 for ; Mon, 24 May 1999 00:21:14 +0900 (JST) Message-ID: <000701bea52f$e6d7c960$136382d2@default> From: "=?iso-2022-jp?B?GyRCQFBFRBsoQiAbJEI0MhsoQg==?=" To: "=?iso-2022-jp?B?GyRCPnBKcyU3JTklRiVgPEI4MxsoQkE=?=" Subject: =?iso-2022-jp?B?W0pTShskQiFPGyhCMDQyM1JlcG9ydCAgIBskQkNZJC8kShsoQg==?= =?iso-2022-jp?B?GyRCJGokXiQ3JD8hIxsoQiA=?= Date: Mon, 24 May 1999 00:21:15 +0900 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 4.72.3110.5 X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3 Status: OR 石田 寛 G97P010-5 g97p010-5@mn.waseda.ac.jp 遅くなりましてすみません。 #include #include #include #include struct ten { float number; char string[20]; }; void maketen(struct ten *num,int n); int main(int argc,char **argv) { struct ten n[4]; if(argc!=2) { printf("No!\n"); return 0; } if(isdigit(argv[1][0])==0||isdigit(argv[1][1])==0|| isdigit(argv[1][2])==0||isdigit(argv[1][3])==0) { printf("No!\n"); return 0; } n[0].number=(float)(argv[1][0]-'0'); n[1].number=(float)(argv[1][1]-'0'); n[2].number=(float)(argv[1][2]-'0'); n[3].number=(float)(argv[1][3]-'0'); sprintf(n[0].string,"%c%c",argv[1][0],0); sprintf(n[1].string,"%c%c",argv[1][1],0); sprintf(n[2].string,"%c%c",argv[1][2],0); sprintf(n[3].string,"%c%c",argv[1][3],0); maketen(n,4); return 1; } void maketen(struct ten *num,int n) { int i,j,k,l; struct ten *tmp; if(n==1) { if(fabs(num[0].number-10)<1e-5) { printf("%s=10\n",num[0].string); return; } } tmp=(struct ten *)malloc(sizeof(struct ten)*(n-1)); for(i=0;i1e-5) { tmp[l].number=num[i].number/num[j].number; sprintf(tmp[l].string,"(%s/%s)",num[i].string,num[j].string); maketen(tmp,n-1); } if(num[i].number>1e-5) { tmp[l].number=num[j].number/num[i].number; sprintf(tmp[l].string,"(%s/%s)",num[j].string,num[i].string); maketen(tmp,n-1); } } } free(tmp); }