• 締切済み

C言語の問題です。

gentaroの回答

  • gentaro
  • ベストアンサー率47% (105/221)
回答No.2

if   if else みたいな書き方による曖昧ですか? じゃなければ、0と1しかない世界に曖昧性はないと思いますが

関連するQ&A

  • C言語 ループの問題

    キーボードから入力される整数を読み込み、その中で10以上の数の個数を数えてその都度出力し、0が入力されたら止まるようなプログラムをwhile文を使って作成するとき、if文をどのようにつかうかがわかりません。

  • C言語 if文

    C言語のif文についての質問なのですが、ifを使い、条件Aの時は1のプログラムを実行、条件Bの時は2のプログラムを実行するようにしたとき、1と2のプログラム自体にもif文が使われています。その場合は、AとBの時のifと1と2に使われているifをどのように区別するのですか?(ちなみに1と2のif文については、それぞれ実行してみたところ動作可能でした。)説明が下手ですいません。初心者ですので、分かりやすく教えていただけると有難いです。

  • C言語のエラーが無くなりません

    はじめまして。 現在C言語でプログラムを組んでいるのですが、不明な点がありますので質問させて頂きます。 while文とかif文を使って、プログラムを書き終える時に当然いくつかの「}」を使って締めます。そのとき、「}」が自動でだんだん左寄せになってくのですが、自動で左寄せにならない場合、原因は何でしょうか。 以上です。何卒ご教授の方よろしくお願いいたします。

  • C言語の数値入力

    C言語のプログラムで0~10未満や、30~60未満というのはどのように書けばよいのでしょうか? if文で使いたいのですが、わからなく困っています。

  • C言語の問題がわからないです。

    C言語のプログラムで、列数を自分で決めて、 (例)3列         ●(この行を最後として)   □● ●□● 上記のプログラムを作りたいのですが、 上手くいきません。途中まで作ったのですが、なかなか思うようにいかないです。どうすれば上記のようになりますでしょうか? #include <stdio.h> void disp(int x, int y); main() { int i,n; printf("表示する列:"); scanf("%d",&n); disp(3,3); for(i=1;i<=n;i++){ if(i%2==0){ disp(n-i,4); disp(i,2); } else{ disp(n-i,4); disp(i,1); } disp(1,3); } } void disp(int x, int y) { int i; for(i=0;i<x;i++){ if(y==1){ printf("●"); } else if(y==2){ printf("□"); } else if(y==3){ printf("\n"); } else{ printf("\0"); } } }

  • C言語の宿題ができません。

    演習問題4】 4-1. キーボードから整数値を入力して、奇数か偶数かを表示させる。 (if文で記述する) 4-2. キーボードから2つの整数値を入力して2つの値の大、等、小の関係を表示する。 (if文で記述する) 4-3. 月を入力し、入力した月の日数を表示する。ただし2月は28日とする。 (if文で記述する) 4-4. 月を入力し、入力した月の日数を表示する。ただし2月は28日とする。 (switch文で記述する) 【応用問題4】 r4-1. 問題4-1のプログラムで、さらに値が4の倍数であった場合に4の倍数であること も表示する。 ※ヒント:0は4の倍数ではない r4-2. キーボードから3つの整数値を入力して3つの値の大、中、小の関係を表示 する。 (if文で記述する) r4-3. 月を入力し、入力した月の日数を表示するプログラムで、入力した月が1~12の 範囲を越えていた場合エラーメッセージを表示させる。

  • C言語プログラミング。

    標準出力から整数を読み込んで、その整数が奇数か偶数かを判定して、判定結果を出力するプログラムをif文を用いて作りたいんです。剰余演算子を使ってなら作れるんですけど、剰余演算子を使わないで作るにはどうすればいいのでしょうか。 よろしくおねがいします。

  • c言語の問題

    初期値Aを9とし、A←3*A+4で更新されるAを10回分 順に出力すプログラムをfor文を利用して作成せよ。(暫化式A(i+1)=3*A(i)+4、初期値A(0)=9であらわせる数列のA(0)~A(9)の値を順に出力するプログです。) -------- int i; int a; for (i=0; i<10 i++) {   if (i==0) {    a=9;   } else {    a=3*a+4;   }   printf(”count=%3d   a=%10d¥n”,i,a);  } } この問題の最後らへんの、printf(”count=%3d   a=%10d¥n”,i,a);だけわかりません。これはどういう意味でしょうか。

  • C言語について。

    今、C言語に関する問題をやっているんですが、いまいちわかりません。 その問題というのは↓ ≪問題5 (繰り返し) 例題をもとに、次のような九九の表を出力するプログラムを作成しなさい。  1 2 3 4  5  6  7  8  9  2 4 6 8 10 12 14 16 18  ~(略)                                               ≫ という問題です。それで、その例題というのは↓ ≪例題4 (for文、do while文)  次のプログラムは、入力された整数を一辺とする正方形を出力するプログラムである。動作確認をしなさい。  4       (←入力)  ****  (←出力)  ****  ****  **** /* 正方形 */ #include <stdio.h> void main() {     int hen, i, j;     do{        printf("数字(2~9)を入力してください : ");        scanf("%d", &hen);        if( hen < 2 || hen > 9 )           printf("入力エラーです!\n");     }while( hen < 2 || hen > 9);     for( i = 1 ; i <= hen ; i++)     {         for( j = 1 ; j <= hen ; j++)           printf("*");         putchar('\n');    } }  ≫ ≪例題5 (for文、do while文) 次のプログラムは、入力された整数を一辺とする二等辺三角形を出力するプログラムである。動作確認しなさい。  4      (←入力)  *     (←出力)  **  ***  **** /* 二等辺三角形 */ #include <stdio.h> void main() {     int hen, i, j;     do{        printf("数字(2~9)を入力してください : ");        scanf("%d", &hen);        if( hen < 2 || hen > 9 )           printf("入力エラーです!\n");     }while( hen < 2 || hen > 9 );     for( i = 1 ; i <= hen ; i++ )     {            for( j = 1 ; j <= i ; j++ )              printf("*");          putchar('\n');     } }  ≫ 以上の二つが例題です。 わかりづらかったらすみませんm(_ _)m わかる方(問題5を)教えてくださるとありがたいです。

  • C言語のC++で質問です。

    初めまして。 学籍番号から入力した数字がいくつあるか検索して検索結果を表示するプログラムを作っているのですが、このプログラムには制約がありまして、 ・while,do~while文を使用する ・for文、配列は使えない(習っていないため) ・if文は使用可能 ずっと試行錯誤してるのですがwhile文を使って表現することができません。 どなたか分かる方いたら教えてください、よろしくお願いします。 以下プログラムソース #include<stdio.h> int main() { int no,i; int gakuseki,mono; int no1,no2,no3,no4,no5,no6,no7; int kari1,kari2,kari3,kari4,kari5,kari6,kari7; mono=0; i=1; printf("任意の数字:"); scanf("%d",&no); printf("学籍番号:"); scanf("%d",&gakuseki); kari1=gakuseki/1000000; kari2=gakuseki/100000; kari3=gakuseki/10000; kari4=gakuseki/1000; kari5=gakuseki/100; kari6=gakuseki/10; kari7=gakuseki/1; no1=kari1; no2=(kari2)-(kari1*10);  no3=(kari3)-(kari2*10); no4=(kari4)-(kari3*10); no5=(kari5)-(kari4*10); no6=(kari6)-(kari5*10); no7=(kari7)-(kari6*10);   /*学籍番号を桁ごとに分解する*/ printf("%d\n",no1);  printf("%d\n",no2); printf("%d\n",no3); printf("%d\n",no4); printf("%d\n",no5); printf("%d\n",no6); printf("%d\n",no7); /*検索*/ if(no==no1) { mono=mono+1; } if(no==no2) { mono=mono+1; } if(no==no3) { mono=mono+1; } if(no==no4) { mono=mono+1; } if(no==no5) { mono=mono+1; } if(no==no6) { mono=mono+1; } if(no==no7) { mono=mono+1; } if(mono>=1) { printf("数字%dは%d個あります\n",no,mono); } else printf("数字%dはありません\n",no); return(0); } 【実行結果】 任意の数字:3 学籍番号:0653123 0 6 5 3 1 2 3 数字1は1つあります。 【実行結果ここまで】 if文で一つ一つ書いてたらすごく長くなってしまいました。 ここをどうにかwhile文でかけたらうまくいくかもしれないのですが・・・。