gooポイントが当たる質問投稿キャンペーン>>

5名3科目の点数から、合計点250点以上は合格、250点以下は不合格とするプログラム。
但し、点数は人毎に2次元配列に格納し、合計点を求めるのは関数を作って行うこと。

この答えを教えてほしいです!

お願いします。

A 回答 (2件)

>この答えを教えてほしいです!



無理。
ここは疑問を【自力で解決】できるようにするためにアドバイスをする場所なんですよ。
カテゴリ的にも【自力で解決】できるようにならなければならない。

【代わりにやってくれる】と思い込んでいらっしゃるなら、一連の質問を「ベストアンサーなし」で締め切り、
そして二度と 「教えて!goo」 を利用しないようにしましょう。

・・・前置きはこんなで良いかなってことで本題・・・

設問の何が分かりませんか?
どの単語の意味が分かりませんか?
「合計」の意味が分からなければ「合計」の意味を調べましょう。
「関数」の意味が分からなければ「関数」の意味を調べましょう。
「2次元配列」の意味が分からなければ「2次元配列」の意味を調べましょう。
その上で自分なりのアルゴリズムを示しましょう。
アルゴリズムが分からないという事でしたら、それは素直に「分かりません」と答えることを強くお勧めします。

分かっていないのに ”分かったフリをする” ことで周りから「置き去り」にされ、何も解決しないことになる。
代わりにやってもらうことは目の前にある問題の先送りであり、解決ではありません。
    • good
    • 2

で、自分ではどこまでできたんでしょう?



それとも丸投げという『最小の労力で最大の成果を』得る賢い方法なんでしょうか?
その場合、一部の方が張り切って回答してくれるかも知れません。
# 要件定義からは外れていないが、課題の回答としてはNGになるクイズ企画がスタートされます。
# 初学者がまず習っていない方法での回答や要件の穴を突く方法などなど。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QC言語のものなのですが、具体的にこの文がなにをしているかについてわからないので説明をお願いいたします

C言語のものなのですが、具体的にこの文がなにをしているかについてわからないので説明をお願いいたします。

Aベストアンサー

画像じゃなく、テキストで貼ってほしいところですが…。
で、掲示されている範囲ではs_copy()とs_reverse()の仕様が不明です。
# まぁ、名前からだいたい想像は付きますけども。

ということで、下記のページをどうぞ。
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13182921508

QCのif文の書き方の質問です

『x=a & j=1 』の様に、『&』の前後に式を書くことがありますか?
使ったことがないので、ここに質問させて頂いております。
コメント、説明頂けますと大変有り難いです。

if stype=='L' then
x=a & j=1 //===
elseif stype=='M' then
x=a+(h/2) & j=2//============
else x=a+h & j=3//=================
end

以上、宜しくお願いします。

Aベストアンサー

見た目から、命令の区切りに使っているように見えますが、
公式マニュアルを確認しても ; や , はありましたが & は見つけられなかったので断言はできません。

https://help.scilab.org/docs/6.0.1/ja_JP/comma.html
https://help.scilab.org/docs/6.0.1/ja_JP/semicolon.html

Q下のようなプログラムを作ってみたのですが、このプログラムを構造体のポインタを用いて書き換えたいのです

下のようなプログラムを作ってみたのですが、このプログラムを構造体のポインタを用いて書き換えたいのですがどのように変えるのがいいのでしょうか?
[NUM]の配列の部分は変えずに、ポインタを使うことは可能なのでしょうか?
どの部分を書き換えればいいのか、分かる方いましたら教えて頂けると有難いです*_ _)


#include<stdio.h>
#define NUM 7

typedef struct person{
char day[10];
int time;
int stime;
int min;
int smin;
}person;

int main(){
person person[NUM];
int j;
for(j=0;j<NUM;j++){
printf("曜日と時間1,時間2,分1,分2を入力\n",person[j].day,person[j].time,person[j].stime,person[j].min,person[j].smin);
scanf("%s",&person[j].day);
scanf("%d",&person[j].time);
scanf("%d",&person[j].stime);
scanf("%d",&person[j].min);
scanf("%d",&person[j].smin);
printf("曜日は%s,時間は%d時%d分から%d時%d分\n",person[j].day,person[j].time,person[j].min,person[j].stime,person[j].smin);
}
return 0;
}

下のようなプログラムを作ってみたのですが、このプログラムを構造体のポインタを用いて書き換えたいのですがどのように変えるのがいいのでしょうか?
[NUM]の配列の部分は変えずに、ポインタを使うことは可能なのでしょうか?
どの部分を書き換えればいいのか、分かる方いましたら教えて頂けると有難いです*_ _)


#include<stdio.h>
#define NUM 7

typedef struct person{
char day[10];
int time;
int stime;
int min;
int smin;
}person;

int main(){
person person[NUM];
int j;
...続きを読む

Aベストアンサー

以下のようになります。
person person[NUM];は、紛らわしいので
person person_array[NUM];に変えています。
--------------------------------------------------
#include<stdio.h>
#define NUM 7

typedef struct person{
char day[10];
int time;
int stime;
int min;
int smin;
}person;

int main(){
person person_array[NUM];
person *person_ptr;
int j;
for(j=0;j<NUM;j++){
person_ptr = &person_array[j];
printf("曜日と時間1,時間2,分1,分2を入力\n");
scanf("%s",person_ptr->day);
scanf("%d",&person_ptr->time);
scanf("%d",&person_ptr->stime);
scanf("%d",&person_ptr->min);
scanf("%d",&person_ptr->smin);
printf("曜日は%s,時間は%d時%d分から%d時%d分\n",person_ptr->day,person_ptr->time,person_ptr->min,person_ptr->stime,person_ptr->smin);
}
return 0;
}

以下のようになります。
person person[NUM];は、紛らわしいので
person person_array[NUM];に変えています。
--------------------------------------------------
#include<stdio.h>
#define NUM 7

typedef struct person{
char day[10];
int time;
int stime;
int min;
int smin;
}person;

int main(){
person person_array[NUM];
person *person_ptr;
int j;
for(j=0;j<NUM;j++){
person_ptr = &person_array[j];
printf("曜日と時間1,時間2,分1,分2を入力\n");
scanf("%s",person_ptr->day);
scanf("%d",&...続きを読む

Qスーパーハッカーやホワイトハッカーが未だにプログラムをキーボードを使ってアナログな入力を10年前と変

スーパーハッカーやホワイトハッカーが未だにプログラムをキーボードを使ってアナログな入力を10年前と変わらずに未だにガチガチキーパンチャーしてるのって一般人から見たら超絶ダサいらしいですよ。

マツコデラックスがスーパーハッカーがプログラムをキーボードで打っていたのを見て「まだキーボードで打ってるんだ。人工知能や音声を文字化出来るようになってるのに10年前と変わらずキーボードで打ってるの?!」と言っていましたが、本当にそうだなと思いました。

未だにキーボードでプログラミングしてるって古くさいというか自動化、自動化と言ってる割にプログラマーが1番アナログだったりして。

Aベストアンサー

それは普通の文章入力しか想像できない人の発想ですね。

プログラミング言語では記号を多用しますが、これをいちいちダブルコーテーションだのアットマークだの言うのは手間だし、実は記号じゃなくてダブルコーテーションは”じゃなくそのままダブルコーテーションっていう文字列にしたかったんだけど…みたいな区別に困ることもあります。その辺をきれいに解決する手段が今のところないってこと、また「キーボード入力の方が話すよりも速くてしかも正確に入力できる」と言う事実があること、またいちいち口に出すと言うことは意外に労力を要すること、といった事情から音声認識でどうにかしようという空気にならないのでしょう。

QC++を本で独学してますが、配列とポインタでわからないところがあります。

現在C++を本で独学しており、ポインタの章を終えて配列の章を
学んでいるのですがでわからないところがあります。

『配列名は配列の先頭要素のアドレスをあらわす。』と習ったのですが、
下記のコードにての

#include <iostream>
using namespace std;

int main()
{
char str[] = "Hello";
cout << str << '/\';
return 0;
}

を実行すると"Hello"が出力されるとのことですが、
どうしてchar型配列strの要素をそのまま出力することになるのでしょうか?
この場合、『配列名は配列の先頭要素のアドレスをあらわす。』に
のっとれば出力されるのは「char型配列strの先頭要素のアドレス」に
なり、アドレスが出力されなければおかしいと思うのですが・・・?

同様に

#include <iostream>
using namespace std;

int main()
{
char* char = "Hello";
cout << str << '/\';
return 0;
}

のコードでもどうして間接参照演算子*さえ使わずに
strの要素を出力できるのかがさっぱりわかりません。

ご説明頂ければ幸いです。

現在C++を本で独学しており、ポインタの章を終えて配列の章を
学んでいるのですがでわからないところがあります。

『配列名は配列の先頭要素のアドレスをあらわす。』と習ったのですが、
下記のコードにての

#include <iostream>
using namespace std;

int main()
{
char str[] = "Hello";
cout << str << '/\';
return 0;
}

を実行すると"Hello"が出力されるとのことですが、
どうしてchar型配列strの要素をそのまま出力することになるのでしょうか?
この場合、『配列名は配列の先頭要素...続きを読む

Aベストアンサー

cout の << は。その後の型によって何を表示するかが変わります。
このような仕組をポリモーフィズムと言って、C++の重要な仕組の一つです。


他のポインタだと、そのアドレスを出力する、となっています。
対して、 char * だと「その示すアドレスから順番に、'\0'の前までの『文字』を出力する」となっています。

これは、以下のような理由があります。
・C++の元になったC言語では、「文字列型」というものが無く、「charの配列の先頭から'\0'の前までを文字列として扱う」というルールを使っている。
C++でも、そのルールを引き継いで、char * / char[] を文字列として扱うケースが多い。
・cout << にchar * を指定したとき、圧倒的に「文字列を出力したい」ケースが多い


アドレスを出力させたいのなら、char *でないポインタにキャストすることです。
そういう時は、汎用につかえる void * にキャストするのが常套手段です。

C言語由来の記法では (void * ) str と、(型)とします。
ですが、このキャストはなんでも有りすぎるので、C++ではC++専用のキャスト方法が用意されているので、そちらを使いましょう。
static_cast<void *>(str)

cout の << は。その後の型によって何を表示するかが変わります。
このような仕組をポリモーフィズムと言って、C++の重要な仕組の一つです。


他のポインタだと、そのアドレスを出力する、となっています。
対して、 char * だと「その示すアドレスから順番に、'\0'の前までの『文字』を出力する」となっています。

これは、以下のような理由があります。
・C++の元になったC言語では、「文字列型」というものが無く、「charの配列の先頭から'\0'の前までを文字列として扱う」というルールを使っている。
C++で...続きを読む

QC言語でエラーの直し方が分かりません。

x_i = cos ((PI*(2*i-1))/( 2*N )) i =1,2,...,N   (見づらくてすみません)

という式を計算して、結果を出力したいのですが、コンパイルできません。
自分で書いてみたプログラムとエラーを書いておくので、どこを直せばいいか教えてください。

#include <stdio.h>
#include <math.h>

#define PI 3.1415926535

double x_i(int i, int N)
{
for (i = 1 ; i <= N ; i++) {
x_i(i, N) = cos ((PI*(2*i-1))/( 2*N ));

}
}

int main()
{
int i, N ;
printf("N= ");
scanf("%d", &N);
for (i = 1 ; i <= N ; i++) {

printf("x[%2d] = %f\n",i, x_i(i,N));

}

return 0 ;
}


C:\Users>gcc nnn.c
nnn.c: In function 'x_i':
nnn.c:9:16: error: lvalue required as left operand of assignment
x_i(i, N) = cos ((PI*(2*i-1))/( 2*N ));
^


初心者なのでできれば丁寧に教えていただけると助かります。
よろしくお願いします。
結果は、
C:\Users>a
N = 5
x[ 1] = 0.951057
x[ 2] = 0.587785
x[ 3] = 0.000000
x[ 4] = -0.587785
x[ 5] = -0.951057

という風にしたいです。

x_i = cos ((PI*(2*i-1))/( 2*N )) i =1,2,...,N   (見づらくてすみません)

という式を計算して、結果を出力したいのですが、コンパイルできません。
自分で書いてみたプログラムとエラーを書いておくので、どこを直せばいいか教えてください。

#include <stdio.h>
#include <math.h>

#define PI 3.1415926535

double x_i(int i, int N)
{
for (i = 1 ; i <= N ; i++) {
x_i(i, N) = cos ((PI*(2*i-1))/( 2*N ));

}
}

int main()
{
int i,...続きを読む

Aベストアンサー

>以下のプログラムで正常に動いたので、これを関数に変えればいいと思っていたのですが、うまくいかず質問させていただいてるという流れです。

・ループはコール側でやっているので関数内でやる必要はない。
・ループで結果を表示しているので配列は関係ない。
ということで…

>double x_i(int i, int N)
>{
> for (i = 1 ; i <= N ; i++) {
>  x_i(i, N) = cos ((PI*(2*i-1))/( 2*N ));
> }
>}

は、
double x_i(int i, int N)
{
 return cos ((PI*(2*i-1))/( 2*N ));
}
になるだけなんじゃないですかね?


>int i[20];   //配列の指定の大きさ
>int N[20];
で、関数の方は
>double x_i(int i, int N)
で、コールは
>printf("x[%2d] = %f\n",i, x_i(i,N));

コールする時の第1引数と第2引数は配列を渡していますが、関数の仮引数の方と一致しません。
ということで、コンパイルエラーでしょう。

>x_i(i, N) = cos ((PI*(2*i-1))/( 2*N ));

既に指摘していますし、他の方からも回答ありますが、関数コールに対して値の代入はできません。
ので、こちらもコンパイルエラーでしょう。


>Nは5と決まっているわけではなくて、20までで自分で、自由に決めれるようにしたいです。

>printf("i = ");
>scanf("%d", &N);

iなのかNなのか不明ですが…
規定の範囲の値が入力されるまでループするようにすればよいかと。

do {
 printf("i = ");
 scanf("%d", &N);
} while((N < 0) || (N > 20));
とか?
# scanf()でのエラー処理していませんが。(数字以外を入力すると無限ループに堕ちるとか)

>以下のプログラムで正常に動いたので、これを関数に変えればいいと思っていたのですが、うまくいかず質問させていただいてるという流れです。

・ループはコール側でやっているので関数内でやる必要はない。
・ループで結果を表示しているので配列は関係ない。
ということで…

>double x_i(int i, int N)
>{
> for (i = 1 ; i <= N ; i++) {
>  x_i(i, N) = cos ((PI*(2*i-1))/( 2*N ));
> }
>}

は、
double x_i(int i, int N)
{
 return cos ((PI*(2*i-1))/( 2*N ));
}
になるだけなんじゃないですかね?
...続きを読む

Qこのプログラムを教えてください。

このプログラムを教えてください。

Aベストアンサー

以下のPGで実現出来ます。
難解なところは特にありません。
初めて見る関数などの無いよう、敢えて四則演算を用いて解を導いています。
これを見て、数式の解を表現する1つの方法をぜひ身に付けて下さい。

/* 課題1 */
/* maru.c */

#include<stdio.h>
#include<string.h>
#define PI 3.14

int main() {

float d; /* 入力の直径 */
float e; /* 円周 */
float m; /* 面積 */
float s; /* 表面積 */
float v; /* 体積 */

printf("直径を入力してください[cm]: ");
scanf("%f", &d);

d = d / 2; /* 入力直径を半径に変換 */
d = d / 100; /* 入力値の単位変換 [cm]→[m] */

printf("(1)円の円周 [m] =%f\n", 2 * PI * d );
printf("(2)円の面積 [m2]=%f\n", PI * d * d );
printf("(3)球の表面積[m2]=%f\n", 4 * PI * d * d );
printf("(4)球の体積 [m3]=%f\n", (4.0 / 3.0) * PI * d * d * d);

return 0;
}

以下のPGで実現出来ます。
難解なところは特にありません。
初めて見る関数などの無いよう、敢えて四則演算を用いて解を導いています。
これを見て、数式の解を表現する1つの方法をぜひ身に付けて下さい。

/* 課題1 */
/* maru.c */

#include<stdio.h>
#include<string.h>
#define PI 3.14

int main() {

float d; /* 入力の直径 */
float e; /* 円周 */
float m; /* 面積 */
float s; /* 表面積 */
float v; /* 体積 */

printf("直径を入力してください[cm]: ");
scanf("%f", &d);

d = d / 2; /* ...続きを読む

Q構造体の勉強をしているのですが1と2は同じなのでしょうか?違うのでしょうか? もし違うならなぜ違うの

構造体の勉強をしているのですが1と2は同じなのでしょうか?違うのでしょうか?
もし違うならなぜ違うのか説明してください‼︎
よろしくお願いします。

1.typedef struct roll{メンバー};

2.typedef struct {メンバー}roll;

Aベストアンサー

「struct の直後に来るのが型でメンバーの後に来るのが新しい構造体の名前」の「型」と「構造体の名前」の違いってなんだろ.

さておき, これは typedef の仕様との関係がありますねぇ.

まず構造体の定義を完全に書くと
struct 構造体タグ メンバー定義 宣言子;
という形になります. ここで構造体タグは識別子, メンバー定義は
{ メンバーの宣言 }
という形で宣言子は変数やら配列やらポインタやらを表します. struct 以外は省略可能なのですが, 実際に意味を持つのは
・宣言子を省略する: 「struct 構造体タグ」で表される新しい構造体を定義する
・メンバー定義を省略する: 「struct 構造体タグ」で表される構造体型の変数などを宣言する
・構造体タグを省略する: 構造体タグがなんらかの理由で不要なときにはこの形式もあります
・メンバー定義と宣言子を省略する: 「struct 構造体タグ」で表される構造体型があることを宣言する
の 4つに限られます (全部省略しちゃダメなのは明らかだと思うけど). 再度確認しておくと, 「struct 構造体タグ」で 1つの型を表します.

質問文にある 2つの文を (typedef を除いて) 解釈するとそれぞれ
1. 宣言子を省略している. roll が構造体タグで, 「struct roll」という型を定義する
2. 構造体タグを省略している. roll は宣言子で, この場合は roll という変数を宣言する
となります. そして, *typedef がなければ*どちらも合法です (ただし, 当然ですが意味は違います).

で typedef の影響が出ます. typedef は
宣言子に含まれる識別子に対し, 「typedef がなければ与えられるはずの型」の別名として定義する
という働きをもちます. 例えば
int FOO, *Bar;
だと
・FOO は int型の変数
・Bar は int へのポインタ型の変数
なので, ここに typedef を付けた
typedef int FOO, *Bar;
では
・FOO は int型の別名
・Bar は int へのポインタ型の別名
となります. このように typedef では「別名を定義する」都合上, 宣言子はどうしても必須となります. 従って, 宣言子が省略された 1 はダメということになります.

「struct の直後に来るのが型でメンバーの後に来るのが新しい構造体の名前」の「型」と「構造体の名前」の違いってなんだろ.

さておき, これは typedef の仕様との関係がありますねぇ.

まず構造体の定義を完全に書くと
struct 構造体タグ メンバー定義 宣言子;
という形になります. ここで構造体タグは識別子, メンバー定義は
{ メンバーの宣言 }
という形で宣言子は変数やら配列やらポインタやらを表します. struct 以外は省略可能なのですが, 実際に意味を持つのは
・宣言子を省略する: 「struct 構造体タグ」...続きを読む

Q16進数ダンプリスト中の32ビットのデータの変換の考え方

ある数値データの入ったバイナリファイルのダンプリストの先頭の4バイト(32ビット)データが、ファイルの先頭方向から

6D A3 17 85

となっています。

このデータは、MSBASIC単精度浮動小数点型式(32ビット)であることが分かっています。そのデータ形式は、次のようなものであることも調べました。

31-24ビット:e(指数部)
23ビット:s(符号)
22-0ビット:f(仮数部)

"数値:(-1)^s × 2^(e-129) × (1.f)"

1バイトごとに「16進数→2進数」の変換を、手計算でやってみると、次のようになりました。

6D → 0110 1101
A3 → 1010 0011
17 → 0001 0111
85 → 1000 0101

なので、この32ビットのデータを、上位ビットから2進数で書くと、次のようになると思います。

1000 0101 0001 0111 1010 0011 0110 1101

これを、指数部・符号・仮数部に対応させると、次のようになると思います。

指数部:1000 0101
符号:0
仮数部:001 0111 1010 0011 0110 1101

ここまでで、仮数部のみ2進数表現として、指数部と符号を10進数表現にすると、次のようになると思います。

(-1)^(0) × 2^(133-129)(以上10進数、以下2進数) × (1.001 0111 1010 0011 0110 1101)

このデータは、ある分光分析による波形データで、単位はパーセント、すなわち、通常は0と100の間の値を取ります。上の10進数の指数部と仮数部は、

(-1)^(0) × 2^(133-129)
=1 × 2^4
=16

となります。仮数部は、1と2の間の値を取るであろうと思われますので、このデータは、16から32程度の値と、ほぼ妥当な推測だと思います。

これを、C言語で自動で計算できるようにしたいのですが、そのソースはどのようになるでしょうか。

2番目のデータは、(32 2D 18 85)(16進)、3番目のデータは(D7 0C 18 85)(16進)です。なので、

(6D A3 17 85)(16進) → ?(10進)
(32 2D 18 85)(16進) → ?(10進)
(D7 0C 18 85)(16進) → ?(10進)


と、計算を自動化したいのですが、考え方と、できればソースの例としてどのようになるか、ご教授頂きたく、お願い致します。

ある数値データの入ったバイナリファイルのダンプリストの先頭の4バイト(32ビット)データが、ファイルの先頭方向から

6D A3 17 85

となっています。

このデータは、MSBASIC単精度浮動小数点型式(32ビット)であることが分かっています。そのデータ形式は、次のようなものであることも調べました。

31-24ビット:e(指数部)
23ビット:s(符号)
22-0ビット:f(仮数部)

"数値:(-1)^s × 2^(e-129) × (1.f)"

1バイトごとに「16進数→2進数」の変換を、手計算でやってみると、次のようになりました。
...続きを読む

Aベストアンサー

こんな感じでどうでしょうか。

※データの変換が正確かはご自身で検証をお願いします。
※実行時、対象バイナリファイル名を引数にしてください。
※バイナリファイルは4の倍数バイト長を前提としていますので最後に端数があれば読み捨てます。
※諸々エラー処理を行っていないので必要に応じて追加してください。


実行内容(Windows環境下のgcc)
C:\test>gcc -o test.exe test.c
C:\test>test.exe data.bin
6D A3 17 85 -> 18.954798
32 2D 18 85 -> 19.022068
D7 0C 18 85 -> 19.006269



-----test.c
#include <stdio.h>
#include <math.h>

#define SIZE 4

double convert(unsigned char *d){
int e,s;
int m;

//指数部を取りだす
e = d[3] - 129;

//符号を確認し、1(正) か -1(負)を決める
s = (0x80 & d[2]) ? -1 : 1;

//仮数部22-0bitを取り出し23bit目に1を追加
m = ((d[2] & 0x7f)<<16) | (d[1]<<8) | d[0] | 0x800000;

//仮数部mを2^23で割り1.xxxxの値にする、その後2^(指数部の値)を掛け
//更に符号をつける
return m * pow(2, e - 23) * s;
}

int main(int argc, char *argv[]){
FILE *fp;
unsigned char data[SIZE];
int i;

fp = fopen( argv[1], "rb" );
while( fread(data, sizeof(unsigned char), SIZE, fp) == SIZE ){
for(i = 0; i < SIZE; i++) printf("%02X ", data[i]);
printf( "-> %f\n", convert(data) );
}
return 0;
}
-----

こんな感じでどうでしょうか。

※データの変換が正確かはご自身で検証をお願いします。
※実行時、対象バイナリファイル名を引数にしてください。
※バイナリファイルは4の倍数バイト長を前提としていますので最後に端数があれば読み捨てます。
※諸々エラー処理を行っていないので必要に応じて追加してください。


実行内容(Windows環境下のgcc)
C:\test>gcc -o test.exe test.c
C:\test>test.exe data.bin
6D A3 17 85 -> 18.954798
32 2D 18 85 -> 19.022068
D7 0C 18 85 -> 19.006269



-----test.c
#include...続きを読む

QC#について質問【足し算】

C#超初心者です。

標準入力から2つの正の整数a,bが入力されます。aとbを足した数を出力するのですが、

入力は以下のフォーマットで与えられます。
a b
aとbの間には半角スペースが入っています。
入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。

期待する出力
aとbを足した数を出力して下さい。
最後は改行し、余計な文字、空行を含んではいけません。

入力例1
1 1

出力例1
2

入力例2
0 99

出力例2
99


public class Sum{
public static void Main(string[]args){
var line = System.Console.ReadLine();
int[]ab = line.Split(' ');
System.Console.WriteLine(ab[0] + ab[1]);
}
}


Splitを使って半角スペースで文字列を分割しましたが。int型ではないので足し算をしても「11」に
なるようです。string型からint型への変換は可能でしょうか?
また上記のコードも間違えているのでどなたかご教授をお願い致します。

C#超初心者です。

標準入力から2つの正の整数a,bが入力されます。aとbを足した数を出力するのですが、

入力は以下のフォーマットで与えられます。
a b
aとbの間には半角スペースが入っています。
入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。

期待する出力
aとbを足した数を出力して下さい。
最後は改行し、余計な文字、空行を含んではいけません。

入力例1
1 1

出力例1
2

入力例2
0 99

出力例2
99


public class Sum{
public static v...続きを読む

Aベストアンサー

int.Parse(ab[0]) + int.Parse(ab[1])


人気Q&Aランキング