1.題目:
定義一個判斷素數的函數isprime(int n),利用該函數輸出1000以內的所有素數,每行10個,最后輸出一共有多少個素數。(每列對齊)
代碼:
#include <stdio.h>
int isprime(int n);
int main()
{
int i,a=0,b=2,c=1;
for(i=2;i<=1000;i++)
{
if(isprime(i))
{
printf("%3d",i);
a++;
if(b%10==0)
printf("\n");
}
}
printf("%d\n",a);
}
int isprime(int n)
{
int b,c=1;
for(;c<=n-1;c++)
{
if(n%b==0)
{
b=0;break;
}
}
return 0;
}
運行結果:

2.題目:
.求兩個正整數的最大公約數和最小公倍數。用一個函數gcd(int a,int b)求最大公約數,另一個函數lcm(int a,int b)根據求出的最大公約數求最小公倍數。
代碼:
#include <stdio.h>
int gcd(int a,int b);
int lcm(int a,int b);
int main()
{
int a,b,c,d,e;
printf(" 請輸入兩個整數,用,隔開\n");
scanf("%d,%d",&a,&b);
while(a<=0||b<=0)
{
printf("輸入錯誤\n");
scanf("%d,%d",&a,&b);
}
c=gcd(a,b);
d=lcm(a,b);
printf("最大公約數%d,最小公倍數%d\n",c,d);
}
int gcd(int a,int b)
{
int c,d,e;
if(b>a)
{
c=b;
b=a;
a=c;
}
while(b!=0)
{
e=a%b;
a=b;b=e;
}
return a;
}
int lcm(int a,int b)
{
int i;
i=a*b/gcd(a,b);
return i;
}
運行結果:

3.題目:
編寫一個函數fun(double x)求表達式x2-5x+4的值,x作為參數傳給函數。在主函數中調用該函數求下列式子的值:
y1= 22-5*2+4
y2= (x+15)2-5*(x+15)+4
y3= sin2x-5*sinx+4
求y3用數學函數 sin(x) 頭文件math.h
求解y2和y3時需要輸入x的值。
樣例:
y1=-2, x=0.5時,y2=166.75,y3=1.832721
代碼:
#include <stdio.h>
#include <math.h>
double fun(double x);
int main()
{
double x,y1,y2,y3;
{
printf("x*x-5*x+4\n輸入x的值\n");
scanf("%lf",&x);
y1=fun(x);
y2=fun(x+15);
y3=fun(sin(x));
printf("%.2lf,%.2lf,%.2lf\n",y1,y2,y3);
}
double fun(double x)
{
double y;
y=x*x-5*x+4;
return y;
}
運行結果:

附加題:
火柴棍問題。
代碼:
#include<stdio.h>
int fun(int a);
int fun(int a)
{
int b;
switch(a)
{
case 0:
case 6:
case 9:b=6; break;
case 2:
case 3:
case 5:b=5; break;
case 1:b=2; break;
case 4:b=4; break;
case 7:b=3; break;
case 8:b=7; break;
}
return b;
}
int main()
{
int m,n,z;
for(m=0;m<=9;m++)
for(n=0;n<=9;n++)
{
z=m+n;
if(z>9)
{
break;
}
else if(fun(m)+fun(n)+fun(z)==12)
{
printf("%d+%d=%d\n",m,n,z);
}
}
return 0;
}
運行結果:
實驗總結:
1.注意自己定義的變量;
2.注意定義函數;
3.printf前后沒有{};
4.學會簡化程序;
5.注意 int gcd(int a,int b);
int lcm(int a,int b);
函數的用法。
知識點總結:
1.標識符:字母、下划線、數字:
2.clrscr() 清屏;
3.大 變 小:strwr;小 變 大 :strupr:
4.函數無返回值,單獨作為一個函數調用語句;
有返回值時,可放到一個賦值表達式語句;
還可放到一個函數調用語句中,作為另一個函數的參數;
5.代碼的優化處理。
