例えばa=109に対してb=5などです。
アウトプットが2つの数字で表されるところまでfor loopで繰り返そうと思うのですが、a*bを調べる方法がわかりません。たぶんarrayに入れればひとつひとつ桁ごとの数字を調べることはできると思うのですが、どういうifなどの条件をつければいいでしょうか?
追記
aは5桁までの任意の整数を想定しています。bは最小なので、aに応じます。
ここまで書きましたが、どうすればいいのかわかりません。
c
1#include<stdio.h> 2#include<stdlib.h> 3#define MAX 10000 4 5int main(){ 6 7 FILE *fp; 8 int i,input[MAX]; 9 int data; 10 int n[10]={0,0,0,0,0,0,0,0,0,0}; 11 12 13 fp = fopen("text1.txt","r");//aはファイルから取得 14 if (fp == NULL){ 15 printf("file open error\n"); 16 fclose(fp); 17 exit(1); 18 } 19 20 for(i=0;i<MAX;i++){ 21 data = fscanf(fp,"%d",&input[i]); 22 if (data == EOF) break; 23 // printf("%d\n",input[i]); 24 } 25 26 27 28 fclose(fp); 29 30} 31
a や b に制限はありますか?
a = 810, b = 12345679, a*b = 9999999990
この場合、a*b が int の範囲を超えるのでダメですか?
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11215167131 について、teratailのヘルプ https://teratail.com/help#posted-otherservice に基づいて適切なフォローをしましょう。
回答2件
あなたの回答
tips
プレビュー