- May 29 Thu 2008 23:39
-
字串切割 (老師課堂上的練習題)
- May 22 Thu 2008 21:55
-
帕斯卡三角形 (遞迴版本)
注意!!使用遞迴實做帕斯卡三角形時,不需使用陣列。使用遞迴亦可印出三角形,不過還需增加判斷式。
而使用遞迴可直接輸入所求位置算出答案。
#include<stdio.h>int main()
{
int i,j;
int value(int,int);
printf("Input i,j of a[i][j]\n");
scanf(" %d",&i);
scanf(" %d",&j);
而使用遞迴可直接輸入所求位置算出答案。
#include<stdio.h>int main()
{
int i,j;
int value(int,int);
printf("Input i,j of a[i][j]\n");
scanf(" %d",&i);
scanf(" %d",&j);
- May 22 Thu 2008 21:34
-
帕斯卡三角形 (迴圈版本)
注意!!:我所使用的陣列是由1開始,0我不使用。因此,各位同學自行練習時,請考慮陣列起始位置與陣列大小。
#include<stdio.h>int main()
{
int i,j,k;
int size=15;
printf("Input layer of Pascal Triangle:");
scanf("%d",&size);
int a[size+1][size+1];
#include<stdio.h>int main()
{
int i,j,k;
int size=15;
printf("Input layer of Pascal Triangle:");
scanf("%d",&size);
int a[size+1][size+1];
- May 22 Thu 2008 21:32
-
矩陣相乘
#include<stdio.h>
#define row 3
#define col 3
int main()
{
int a[row][col]={1,2,3,
4,5,6,
7,8,9}; int b[row][col]={9,8,7,
6,5,4,
3,2,1}; int c[row][col]={0,0,0,
0,0,0,
0,0,0}; int i,j,k; for(i=0;i<row;i++)
{
for(j=0;j<row;j++)
{
for(k=0;k<col;k++)
{
c[i][j]=c[i][j] + a[i][k]*b[k][j];
}
}
} for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%d ",c[i][j]);
printf("\n");
}
}
#define row 3
#define col 3
int main()
{
int a[row][col]={1,2,3,
4,5,6,
7,8,9}; int b[row][col]={9,8,7,
6,5,4,
3,2,1}; int c[row][col]={0,0,0,
0,0,0,
0,0,0}; int i,j,k; for(i=0;i<row;i++)
{
for(j=0;j<row;j++)
{
for(k=0;k<col;k++)
{
c[i][j]=c[i][j] + a[i][k]*b[k][j];
}
}
} for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%d ",c[i][j]);
printf("\n");
}
}
- Apr 21 Mon 2008 18:30
-
HW:Q8_16
Q8_16:
#include<stdio.h>int main()
{
int find_k(int);
int n;
printf("Input N:");
scanf("%d",&n);
printf("K is %d.\n",find_k(n)); //將n的值傳入find_k(),其回傳值為k
return 0;
}
#include<stdio.h>int main()
{
int find_k(int);
int n;
printf("Input N:");
scanf("%d",&n);
printf("K is %d.\n",find_k(n)); //將n的值傳入find_k(),其回傳值為k
return 0;
}
- Apr 21 Mon 2008 01:31
-
第一次助教課習題Q3-參考答案
Q3a:
#include<stdio.h>int main()
{
int i,now=1,last=1,temp=0,sum=0,n;
printf("Input a number:");
scanf("%d",&n);
printf("Fib(1)=1\n");
for(i=2 ; i<=n; i++)
{
temp=now;
now=now+last; //now is equal temp,so it can write on now=temp+last
last=temp;
printf("Fib(%d)=%d\n",i,now);
sum = sum + now;
}
printf("Sum=%d\n",sum);
return 0;
}
Q3b:
#include<stdio.h>int main()
{
int i,now=1,last=1,temp=0,sum=0,n;
printf("Input a number:");
scanf("%d",&n);
printf("Fib(1)=1\n");
for(i=2 ; i<=n; i++)
{
temp=now;
now=now+last; //now is equal temp,so it can write on now=temp+last
last=temp;
printf("Fib(%d)=%d\n",i,now);
sum = sum + now;
}
printf("Sum=%d\n",sum);
return 0;
}
Q3b:
- Apr 21 Mon 2008 01:29
-
第一次助教課習題Q2-參考答案
Q2a:
#include<stdio.h>int main()
{
int i,j,flag;
for(i=1;i<=1000;i++)
{
flag=0;
for(j=2;j<i;j++)
{
if(i%j==0)
{
flag=1;
}
}
if(flag==0)
{
printf("%d is a prime.\n",i);
}
}
return 0;
}
Q2b:
#include<stdio.h>int main()
{
int i,j,flag;
for(i=1;i<=1000;i++)
{
flag=0;
for(j=2;j<i;j++)
{
if(i%j==0)
{
flag=1;
}
}
if(flag==0)
{
printf("%d is a prime.\n",i);
}
}
return 0;
}
Q2b:
- Apr 21 Mon 2008 01:26
-
第一次助教課習題Q1-參考答案
#include<stdio.h>int main()
{
int n,i,sum=0;
printf("Input a number:");
scanf("%d",&n);
for(i=1;i<n;i++)
{
if(n%i==0)
{
sum=sum+i;
}
}
printf("The sum of %d's factors is %d\n",n,sum);
return 0;
}
{
int n,i,sum=0;
printf("Input a number:");
scanf("%d",&n);
for(i=1;i<n;i++)
{
if(n%i==0)
{
sum=sum+i;
}
}
printf("The sum of %d's factors is %d\n",n,sum);
return 0;
}
- Apr 17 Thu 2008 18:31
-
HW:Q8_13
- Apr 17 Thu 2008 18:26
-
HW:Q8_8
#include<stdio.h>
int main()
{
double f(double); //宣告一副程式 f(),其回傳值為double型態,程式執行時會接收一double型態之值或變數
printf("f(-3.2)=%lf\n",f(-3.2)); //在螢幕上印出 f(-3.2)的值,列印過程中,呼叫副程式f(),並傳入-3.2
printf("f(-2.1)=%lf\n",f(-2.1));
printf("f(0)=%lf\n",f(0));
printf("f(2.1)=%lf\n",f(2.1));
return 0;
}
int main()
{
double f(double); //宣告一副程式 f(),其回傳值為double型態,程式執行時會接收一double型態之值或變數
printf("f(-3.2)=%lf\n",f(-3.2)); //在螢幕上印出 f(-3.2)的值,列印過程中,呼叫副程式f(),並傳入-3.2
printf("f(-2.1)=%lf\n",f(-2.1));
printf("f(0)=%lf\n",f(0));
printf("f(2.1)=%lf\n",f(2.1));
return 0;
}
- Apr 17 Thu 2008 18:23
-
HW:Q8_2
#include<stdio.h>int main()
{
void kitty(int); //宣告一副程式 kitty,回傳值為void,即沒有回傳值。此付程式會接受一整數的參數。
int k;
printf("Input k:");
scanf("%d",&k);
kitty(k); //呼叫副程式 kitty(),並把k傳入,k為我們自行輸入的值
return 0;
}
void kitty(int k)
{
int i;
for(i=0 ; i<k ; i++) //執行k次(0~k-1)
{
printf("Hello Kitty.\n");
}
}
{
void kitty(int); //宣告一副程式 kitty,回傳值為void,即沒有回傳值。此付程式會接受一整數的參數。
int k;
printf("Input k:");
scanf("%d",&k);
kitty(k); //呼叫副程式 kitty(),並把k傳入,k為我們自行輸入的值
return 0;
}
void kitty(int k)
{
int i;
for(i=0 ; i<k ; i++) //執行k次(0~k-1)
{
printf("Hello Kitty.\n");
}
}
- Apr 09 Wed 2008 15:16
-
homework_Apr_8_08
1. 請寫一程式輸一整數 N 用迴圈的技巧,找出 1~N 中的所有因數2. 請寫一程式輸一整數 N 用迴圈的技巧 (2 ~ N-1),判斷它是不是質數3. 請寫一程式輸一整數 N 用迴圈的技巧,找出 比 N 大的最小質數
Q1:
#include<stdio.h>
/*
This program can find out all submultiples of N.
N is the figure which are keyed in by user.
*/
int main()
{
int n,count=0,i;
printf("Input a figure:");
scanf("%d",&n);
for(i=1 ; i<=n ; i++)
{
if(n%i==0)
{
printf("\n%d",i);
count++;
}
}
printf("\n%d has %d submultiples.\n",n,count);
return 0;
}
Q2:
#include<stdio.h>
/*
This program can identify a figure if it's a prime number.
*/
int main()
{
int i=0,n=0,c=0;
printf("Input a figure:");
scanf("%d",&n);
for(i=2 ; i<=n-1 ; i++)
{
if(n%i==0)
{
printf("%d is not a prime number.\n",n);
c=1;
break;
}
}
if (c==0)
{
printf("%d is a prime number.\n",n);
}
return 0;
}
Q3:
#include<stdio.h>
/*
This program can find out the smallest prime number which is close to N.
N is the figure which are keyed in by user.
*/
int main()
{
int i=0,n=0,j=0,c=0;
printf("Input a figure:");
scanf("%d",&n);
j=n;
while(j++)
{
c=0;
for(i=2 ; i<=j/2 ; i++)
{
if(j%i==0)
{
c=1;
break;
}
}
if(c==1)
{
continue;
}
else
{
printf("The smallest prime number which is close to %d is %d.\n",n,j);
break;
}
}
}
Q1:
#include<stdio.h>
/*
This program can find out all submultiples of N.
N is the figure which are keyed in by user.
*/
int main()
{
int n,count=0,i;
printf("Input a figure:");
scanf("%d",&n);
for(i=1 ; i<=n ; i++)
{
if(n%i==0)
{
printf("\n%d",i);
count++;
}
}
printf("\n%d has %d submultiples.\n",n,count);
return 0;
}
Q2:
#include<stdio.h>
/*
This program can identify a figure if it's a prime number.
*/
int main()
{
int i=0,n=0,c=0;
printf("Input a figure:");
scanf("%d",&n);
for(i=2 ; i<=n-1 ; i++)
{
if(n%i==0)
{
printf("%d is not a prime number.\n",n);
c=1;
break;
}
}
if (c==0)
{
printf("%d is a prime number.\n",n);
}
return 0;
}
Q3:
#include<stdio.h>
/*
This program can find out the smallest prime number which is close to N.
N is the figure which are keyed in by user.
*/
int main()
{
int i=0,n=0,j=0,c=0;
printf("Input a figure:");
scanf("%d",&n);
j=n;
while(j++)
{
c=0;
for(i=2 ; i<=j/2 ; i++)
{
if(j%i==0)
{
c=1;
break;
}
}
if(c==1)
{
continue;
}
else
{
printf("The smallest prime number which is close to %d is %d.\n",n,j);
break;
}
}
}