Rubyでは期待通りの出力できたのですが、C言語では考え通りにはならないです。
Rubyで作成したものと、C言語で作成したものを
下記の通り添付致しますので、ご確認の程よろしくお願い致します。
ーーーーーーーーーーーーーーーーーーーーーーーーー
■問題
setup i a ・・・ 変数iに値 a を代入する (i=1,2)
addition a・・・ 変数1の値 +a を計算し、計算結果を変数 2 に代入する
subtract a・・・ 変数1の値 -a を計算し、計算結果を変数 2 に代入する
■入力例
4
setup 1 20
setup 2 40
addition 40
subtract -20
■期待出力例
20
40
ーーーーーーーーーーーーーーーーーーーーーーーーー
Ruby
t = gets.to_i a=0,0 t.times{ ary = gets.chomp.split(' ') if ary[0] == "setup" s = ary[1].to_i n = ary[2].to_i a[s-1] = n elsif ary[0] == "addition" x = ary[1].to_i a[1] = a[0] + x elsif ary[0] == "subtract" y = ary[1].to_i a[1] = a[0] - y end } puts a.join(' ')
C
#include<stdio.h> int main(void){ int *ary[3]; int *a[2]; int t; scanf("%d",&t); for(int j=0; j<t; j++) { if(ary[0] == "setup") { int s = ary[1]; int n = ary[2]; n = a[s-1]; } else if(ary[0] == "addition") { int x = ary[1]; a[1] =(a[0] + x); } else if(ary[0] == "subtract") { int y = ary[1]; a[1] =(a[0] - y); } } printf("%d\n",a); return 0; }
回答3件
あなたの回答
tips
プレビュー