• ベストアンサー

C言語 この問題が分かりません!教えてください!

1.文字をキーボードから入力し、該当するASCIIコードを8進数、10進数、 16進数で出力する。 (printf ,scanfを使用) 2.文字コード(ASCII)を10進数で入力し、そのコードにあてはまる文字を出力。(printf scanf) 1と2は問題は全く別です。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

printf や scanf は標準ライブラリにあるから「Cの言語仕様」といっていいような気もするのだが>#2, それよりは「ASCIIコード」の方が問題かな.

euagp133
質問者

お礼

ASCIIコードが分からなくて悩んでましたが解決できました!ありがとうございました!!

その他の回答 (2)

回答No.2

printf ,scanfはCの言語仕様ではないから処理系が判らないと何をするものなのか判らない。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

なにがわからんの?

関連するQ&A

  • C言語

    (a) キーボードから入力された文字列をそのままディスプレイに表示するプログラムを作成しなさい。 という問題 #include<stdio.h> main() { char word[1000]; /*文字型の変数の宣言*/ scanf("%s", word); /*キーボードから文字列を入力*/ printf("%s\n", word); /*入力した文字列を出力*/ } と作りましたがこれではコンソール中で文字を打ってからエンターを押さないといけないからといわれ再提出になってしまいました。 エンターを押さないでそのまま出力するということは、できるのでしょうか? あと自分の作ったプログラムではスペースや改行を使うことができないから使えるようにしろと言われてましたがそれわできますか? 変換仕様をかえればいいのですか ほかにもかえる所はありますか?

  • C言語の問題

    配列の問題 1.キーボードから入力したアルファベットの大文字(A~Z)の入力回数をそれぞれ数え、結果を画面出力するプログラムを作成せよ。但し、入力の終了はEOFとし、入力回数のカウントには、配列を用いるものとする。(文字ごとに回数を格納する配列を用意する) 2.キーボードから番号(数字)を入力し、その番号に該当する文字列中の文字を画面表示するプログラムを作成せよ。なお、数字以外の文字が入力した場合と、文字列の範囲外の数字が入力された場合は、任意のメッセージを出力し、再入力するようにする。また文字列はキーボードから入力するものとする。 この問題が解けなくて困ってます。どうか知恵をかしてください。

  • C言語の問題について教えていただきたいのですが

    【身長デ一タを順次入力していき、160(cm)未満,160(cm)以上,170(cm)未満、170(cm)以上,180(cm)未満、180(cm)以上のデータがそれぞれいくつあったかを出力する(同時に全入力デ一タ数も出力する)プログラムを作成せよ。但し,データとして999 が入力された時点でプログラムの実行が終了するものとする.なお,999 というデータは,全入力データ数に入れないものとする.】 という問題が解けません・・・。わかる方いらっしゃいましたら教えてください。 一応私なりに #include <stdio.h> void main() { int n=0,i=0,j=0,k=0,l=0; double a; printf("身長を入力してください\n"); scanf("%lf",&a); while(a!=999){ scanf("%d",&n); n++; if(a<160){ i++; }else if(a>=160 && a<170){ j++; }else if(a>=170 && a<180){ k++; }else{ l++; } } printf("入力データ数 %d\n",n-1); printf("160cm未満 %d\n",i); printf("160cm以上170cm未満 %d\n",j); printf("170cm以上180cm未満 %d\n",k); printf("180cm以上 %d\n",l); } と作ってみたものの…;;; 正しいプログラムを教えていただけると嬉しいです。よろしくお願いします。

  • C言語の問題

    以下はC言語の問題です。お教えください。 1000以下の素数を求めるプログラム prog.c を作成せよ。各素数を整数4桁で出力し、15個の素数を出力した時点で改行処理 を行うこと。作成したプログラムを提出せよ。 です。 僕の考えでは、 #include <stdio.h> #include <math.h> main(){ int i; int j; int ix; int k; printf("正の整数を入力して下さい: "); scanf("%d",&i); ix=(int)(sqrt((double)i)); k=0; for(j=2;j<=ix;j++) { if(i%j==0) { k=1; } } if(k==0) { printf("%d は素数です\n",i); } else { printf("%d は素数ではありません\n",i); } となると思うのですが。どうやら違うようです。全然わからないので、正しい答えを教えてください。

  • C言語の質問です。

    わからない問題が三問あるので質問させてもらいました。色々やってみたんですけどわからないまま気付いたら5日たってしまって、全くらちが明かないもので…(^ω^;)プログラミングはLinuxのGNOME端末を使っています。 ■アルファベットの小文字1文字を入力し、そのアスキーコードと大文字を出力するプログラムを作成しなさい。■ 自分なりにやってみたんですが、 エラーがでまくるんでやり直してます↓ *************************** [ 実行結果 ] Input small capital r The original character is r. The ASCII Code is 114(0x72). The large capital is R. **************************** ■キーボードから慎重と体重を入力し、BMI値を計算するプログラムを作成しなさい。{BMI=体重(kg)÷(身長(m)×身長(m))}■ この問題は途中までできたんですが、 一行詰まってしまいました('A`) *************************** #include <stdio.h> int main(void){ float height, weight, bmi; printf("Input weight(kg) and height(m)\n"); scanf ("%f %f",&weight, &height); bmi = [ ココがわかりませんでした(・ω・`)] ; printf("BMI = %f \n", bmi); return 0; } ************************* ■ブランク定数とアボガドロ数を書式指定して以下のように表示するプログラムを作成せよ。■ コレは最初っからわかりませんでした(・ω・`) *************************** [ 実行結果 ] ブランク定数 0.000000 0.000000000000000000000000000000000663 6.630000e-34 6.6e-34 6.63e-34 アボガドロ数 601999999999999995805696.000000 601999999999999995805696 6.020000e+23 6.02e+23 6.02e+23 6e+23 全く進まないかもしれないけど とりあえず返事が来るまで自分でやってみますp(・∩・)q

  • C言語のプログラミングですが、

    C言語のプログラミングですが、 255文字以内の文字列をキーボードから入力して、下記の各処理を行うプログラム(※入力した文字データは配列に入力)はどのようにしたらいいでしょうか?(入力例:acFNkeexFFg) ・入力した文字列の最後の文字を出力 ・入力した文字列⇒逆に並べ替えて出力 ・入力した文字列⇒縦に出力(1文字ずつ) ・入力した文字列の中に「F」が何個あるか ただし、使えるのはfor文・配列・if文ぐらいでそれ以上レベルの高いものは使わないで下さい。 … char str[255]; int i,n,na,nb,nc; printf("Input Strings= "); scanf("%s",str); for(i=0;str[i]!='¥0';i++){ n=i; } printf("The last character= %c",str[n]); くらいまでしか分かりません…

  • C言語の問題で困っています。

    C言語の問題で困っています。 途中までできたのですが、この先が分かりません。 教えて頂くようお願いいたします。 【問題】 文字列の長さを求めるプログラムです。このプログラムを、入力した文字列の文字列長を求めるように変更してみましょう。  ただし、入力する文字列は半角で最大 20 文字までとし、指定された範囲外の値( 21 以上)が入力された場合は、正しい値が入力されるまで入力処理を繰り返すこと。 #include <stdio.h> int main(void) { char str[256] = "Hello"; int length, i; printf("文字列:"); scanf ("%s",str); length=0; i=0; while (str[i]!='\0') { i++; length++; } printf("\n文字列長:%d\n",length); }

  • C言語のプログラミングの授業が全く追いつけず夏休みで取り返したいのです

    C言語のプログラミングの授業が全く追いつけず夏休みで取り返したいのですが・・・ どうも教科書を見てもわからなかったので質問させていただきました。 どなたかご助力をお願い致します。 以下のprintf関数の標準出力結果を書け。 ただし、文字コードはASCIIコードを使用。 1)printf("%d¥n",10&7); 2)printf("%d¥n",10%7); 3)printf("%d3.21f¥n",10&7); 4)printf("%c¥n",'I'-('A'-'a')); 5)printf("%x¥n",10); できれば詳細を書いていただければありがたいです・・・ よろしくお願い致しますm(_ _)m

  • C言語 繰り返しの問題

    C言語の初心者です。 キーボードから値を入力して、1から入力された値までの奇数の和を求めて出力するプログラムを作成します。以下のように組んでみましたが、全然うまくいきません。誰か教えていただけませんか? #include<stdio.h> int main(void) { int i,n,sum; sum=0; printf("入力値:",n); scanf("%d",&n); if(n<=0) { printf("\n合計値:0\n"); } else { printf("入力値:\n",n); for(i= 1; i<= n; i=i+2) { if(n%2=1) { sum=sum+i; } } } printf("\n合計値\n",sum); }

  • C言語でscanfを用いた入力

    C言語でscanfの動作を確かめる為に、次のプログラムを作成して実行してみました。 #include <stdio.h> int main(void){ int i; printf("Input1:"); scanf("%d",&i); printf("Input2:"); scanf("%d",&i); printf("Output:%d",i); return 0; } このプログラムは1回目と2回目に数値を入力すると正常に出力します。 例 1回目の入力に10、2回目の入力に20を入力した時の出力結果 Input1:10 Input2:20 Output:20 今度は1回目で数値、2回目で文字を入力してみました。 そしたら2回目の入力が無視されました。 例 1回目の入力に10、2回目の入力にAを入力した時の出力結果 Input1:10 Input2:A Output:10 今度は1回目で文字を入力してみました。 そしたら2回目の入力は要求せず、いきなりよく分からない数値が出力されました。 例 1回目でAを入力した時の出力結果 Input1:A Input2:Output:-858993460 どうして文字を入力したら正常に出力しなくなるのでしょうか?

専門家に質問してみよう