lab6バブルソート
lab8バケットソート(基数ソート)
lab9ヒープソート
lab10クイックソート
lab11二分探索
lab12マージソート
考察プログラムの考え方
#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;
}
struct cell{
int element;
cell *next;
}
=(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;
}
#include<stdio.h>
int main(int argc,char* argv[])
{
for(int i=0;i<10;i++)
{
printf("%d\n",i);
}
return 0;
}
#include<stdio.h>
int main(int argc,char* argv[])
{
int i=0;
while(i<10)
{
printf("%d\n",i);
i++;
}
return 0;
}
#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;で抜けます。
#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);
}
~~プログラムの説明~~
いろんな数が入っている配列の中から最大の数と最小の数を探し出すプログラムです。
#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関数に送ります。