(i) จงเขียนโปรแกรมเพื่อแยกตัวประกอบของตัวเลขที่ผู้ใช้กรอก
ข้อมูลนำเข้า:
N - ตัวเลขจำนวนเต็มหนึ่งตัวมีค่าระหว่าง 2 ถึง 2000
ผลลัพธ์:
AxBxCxDx...xZ
เมื่อ A, B, C, D, ..., Z เป็นจำนวนเฉพาะและ A<=B<=C<=D<=...<=Z
ตัวอย่าง:
ข้อมูลนำเข้า:
420
ผลลัพธ์:
2x2x3x5x7
วันจันทร์ที่ 17 มีนาคม พ.ศ. 2551
วันอังคารที่ 4 มีนาคม พ.ศ. 2551
วันจันทร์ที่ 3 มีนาคม พ.ศ. 2551
Single Link List
#include "stdio.h"
#include "conio.h"
#include "string.h"
typedef struct ptr
{
int id;
char name[25];
struct ptr *next;
}Ptr;
Ptr *start , *p , *q , *go;
void main()
{
start = new Ptr;
strcpy(start->name,"Aree");
p = new Ptr;
strcpy(p->name,"Suda");
q = new Ptr;
strcpy(q->name,"Yupin");
start->next = p;
p->next = q;
q->next = NULL;
clrscr();
printf("%s \n",start->name);
printf("%s \n",p->name);
printf("%s \n",q->name);
printf("%s \n",start->next->name);
printf("%s \n\n\n",start->next->next->name);
go = start;
while(go != NULL)
{
printf("%s \n",go->name);
go = go->next;
}
}
#include "conio.h"
#include "string.h"
typedef struct ptr
{
int id;
char name[25];
struct ptr *next;
}Ptr;
Ptr *start , *p , *q , *go;
void main()
{
start = new Ptr;
strcpy(start->name,"Aree");
p = new Ptr;
strcpy(p->name,"Suda");
q = new Ptr;
strcpy(q->name,"Yupin");
start->next = p;
p->next = q;
q->next = NULL;
clrscr();
printf("%s \n",start->name);
printf("%s \n",p->name);
printf("%s \n",q->name);
printf("%s \n",start->next->name);
printf("%s \n\n\n",start->next->next->name);
go = start;
while(go != NULL)
{
printf("%s \n",go->name);
go = go->next;
}
}
The Tower of Hanoi
#include "stdio.h"
#include "conio.h"
void moveDisk(int n,char a,char c,char b)
{
if (n==1) /*หากแหวนวงเดียว ย้ายจากเสา A ไปยังเสา C */
{
printf("move disk 1 from peg %c to peg %c \n",a,c);
}
else
{
moveDisk(n-1,a,b,c); /*ย้ายแหวน n-1 วง จาเสา A ไปยังเสา B โดยใช้เสา C เป็นเสาพักชั่วคราว */
printf("move disk %d from peg %c to peg %c \n",n,a,c);
moveDisk(n-1,b,c,a); /*ย้ายวงแหวน n-1 วง จากเสา b ไปยังเสา C โดยใช้เสา A เป็นที่พักชั่วคราว*/
}
} /*moveDisk*/
void main()
{ int n = 3;
clrscr();
moveDisk(n,'A','C','B');
}
StructurePointer
#include "stdio.h"
#include "conio.h"
main()
{
struct node
{
int a;
int b;
int c;
};
struct node s= { 10, 20, 30};
struct node *pt = &s;
clrscr();
printf("%d\n" , *(int*)pt);
printf("%d\n" , (*pt).b);
printf("%d\n" , (*pt).c);
}
#include "conio.h"
main()
{
struct node
{
int a;
int b;
int c;
};
struct node s= { 10, 20, 30};
struct node *pt = &s;
clrscr();
printf("%d\n" , *(int*)pt);
printf("%d\n" , (*pt).b);
printf("%d\n" , (*pt).c);
}
วันอาทิตย์ที่ 2 มีนาคม พ.ศ. 2551
รีเคอร์ชั่น (Recursion)
//recursion pow
#include "stdio.h"
#include "conio.h"
int power(int x,int n);
void main()
{ int x = 2;
int n = 5;
int ans;
clrscr();
ans = power(x,n);
printf("%d ^ %d =
%d",x,n,ans);
}
int power(int x,int n)
{
int pow;
if (n ==
1)
{ pow = x; }
else
{ pow = x * power(x,n-1); }
return
(pow);
}
#include "stdio.h"
#include "conio.h"
int fact(int n);
void main()
{
int n = 4;
int ans;
clrscr();
ans = fact(n);
printf("fact(%d) =
%d",n,ans);
}
int fact(int n)
{
int fac;
if (n ==
0)
{ fac = 1; }
else
{ fac = fact(n-1) * n; }
return
(fac);
}
/*
int fact(int n)
{
int fac,i;
fac = 1;
for(i=2 ;
i<=n ; i++)
{
fac = fac * i;
}
return (fac);
}
*/
สมัครสมาชิก:
บทความ (Atom)