アットウィキロゴ
javascript plugin Error : このプラグインで利用できない命令または文字列が入っています。

C言語のプログラミング

lab2 ユーグリッド互除法

Lab3 スタック・キュー

lab4 木構造

lab5 ヒープ

lab6バブルソート

lab7 挿入ソート

lab8バケットソート(基数ソート)

lab9ヒープソート

lab10クイックソート

lab11二分探索

lab12マージソート

考察プログラムの考え方

再起

第一回テスト

  • 問1
    #include<stdio.h>
    int main(int argc,char* argv[])
    {
    int m=1,i,n;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
     {
      m=m*i;
      }
    printf("%d\n%d\n",n,m);
    return 0;
    }
    
  • 問2
    struct cell{
        int element;
        cell *next;
     }
    
  • 2-2
    =(cell *)malloc(sizeof(cell));
    

ちょっと勉強

  • まずは基本(二つの数を足す)
    #include<stdio.h>
    int main(int argc,char* argv[])
    {
    int a=5;
    int b=3;
    printf("%d+%d=%d\n",a,b,a+b);
    return 0;
    }
    
  • 基本2(0~9を表示するfor文の利用)
    #include<stdio.h>
    int main(int argc,char* argv[])
    {
      for(int i=0;i<10;i++)
       {
           printf("%d\n",i);
       }
    return 0;
    }
    
  • 基本2-1(whileによる書き換え)
    #include<stdio.h>
    int main(int argc,char* argv[])
    {
    int i=0;
      while(i<10)
      {
      printf("%d\n",i);
      i++;
      }
    return 0;
    }
    
  • 基本3(奇数か偶数かif elseの利用)
    #include<stdio.h>
    int main(int argc,char* argv[])
    {
    int a=15;
    if(a%2==0) printf("偶数です\n");
    else printf("奇数です\n");
    return 0;
    }
    
  • 素数か!?
    #include<stdio.h>
      void main(int argc,char* argv[])
     {
     int a;
     int b=0;
     scanf("%d",&a);
     for(int i=2;i<a;i++)
       {
       if(a%i==0)
         {
          b++;
         }
       }
     if(b==0) printf("素数です");
     else printf("素数でない");
     }
    
     ~~プログラムの説明~~
    ある数を入力してその数が素数かどうかを確認するプログラムです。
    とりあえず一行め最初はint でもvoidでもOK(ただしvoidの場合はreturn 0;を書かない)
    scanfでaに数字を取り込みます。この数字が素数かどうか確認するプログラムです。
    for文で2~aで割り切れるかを確認します。(1は必ず割り切れるから)
    んで割り切れるのがあればbを0以外の数字にします。最終的にbの値は1とa以外で割り切れる
    数字の数を表します。(10なら2と5で割れるのでbの値は2になる)
    
  • 最大公約数に対抗せよ!(最小公倍数)
    #include<stdio.h>
    int main(int argc,char* argv[])
    {
    int a;
    int b;
    int c;
    scanf("%d",&a);
    scanf("%d",&b);
      for(int i=2;i<a;i++)
       {
       if(a%i==0&&b%i==0) {
           c=i;
           break;
          }
       }
    printf("%d",c);
    return 0;
    }
    
    ~~プログラムの説明~~
    二つの数を入力してそれらの最小公倍数を求めるプログラムです。
    同じく1行目から行きます。
    っとその前に、scanfでとる値が二つありますが、今回はaのほうが小さいということにします。
    今回はint main()でいきました。intなのでreturn 0;を書きます。
    よく分からないけどvoidには空みたいなかんじの意味があるようです。
    たとえばvoid main(void)というものをたまに見かけますが、これはmainに引数が無いことを示
    します(自分でも何を言ってるんだか)。
    ところでmain()のカッコの中は忘れずに書きましょう。
    授業中に先生がなんども書くようにといっておられました。
    本題に戻ります。aとb二つの数字にたいして2~”どちらも割れる数”までiを回します。
    見つかったらそのiが最小公倍数です。そのままforを続けるともっと大きい数で”どちらも割れる数”
    が見つかったときに書きかえれてしまうので、break;で抜けます。
    
  • 配列GOGO(はい、レッツゴーゴー)
    #include<stdio.h>
    void main(int argc,char* argv[])
    {
    int a[]={1,5,3,6,4,7,9,10};
    int max=a[0];
    int min=a[0];
    for(int i=0;i<8;i++)
        {
              if(a[i]>max) {
                    max=a[i];
                    }
              if(a[i]<min){
                    min=a[i];
                    }
    }
    printf("最大値:%d\n最小値:%d\n",max,min);
    }
    
    ~~プログラムの説明~~
    いろんな数が入っている配列の中から最大の数と最小の数を探し出すプログラムです。
    
  • Mission関数を作れ!!
    #include<stdio.h>
    int add(int a,int b)
    {
    return a+b;
    }
    int main(int argc,char* argv[])
    {
    int a=5;
    int b=3;
    printf("%d+%d=%d\n",a,b,add(a,b));
    return 0;
    }
    
    ~~プログラムの説明
    add関数をつくりました。int add(int a,int b)で二つの引数を取り込みます。
    mainのなかではadd(a,b)で二つの引数をadd関数に送ります。
    
最終更新:2010年01月25日 10:16