一.體驗1:輸出資訊新辦法
#include <stdio.h>
void printfstars();
void printfmessage();
int main()
{
printfstars();
printfmessage();
printfstars();
}
void printfstars()
{
printf("\n*****************\n");
}
void printfmessage()
{
printf("Hello,world!");
}
運行結果:
*****************
Hello,world!
*****************
二.體驗2:輸出星號圖
1.利用自定義函式替代嵌套回圈,結構更清晰;
#include <stdio.h>
void printfstars(int m);
int main()
{
for (int i = 1; i <= 6; ++i)
{
printfstars(2 * i - 1);
printf("\n");
}
}
void printfstars(int m)
{
for (int i = 1; i <= m; ++i)
{
printf("*");
}
}
運行結果:
*
***
*****
*******
*********
***********
#include <stdio.h>
void printfchs(int m, char ch)
{
for (int i = 1; i <= m; ++i)
putchar(ch);
}
int main()
{
for (int i = 1; i <= 6; ++i)
{
printfchs(6-i,' ');
printfchs(2 * i - 1, '*');
printf("\n");
}
}
運行結果:
*
***
*****
*******
*********
***********
2.利用自定義函式的引數,讓處理更靈活,程式更簡潔.
#include <stdio.h>
void printfchs(int m, char ch)
{
for (int i = 1; i <= m; ++i)
putchar(ch);
}
int main()
{
for (int i = 1; i <= 6; ++i)
{
printfchs(6-i,'$');
printfchs(2 * i - 1, '*');
printfchs(6 - i, '$');
printf("\n");
}
}
運行結果:
$$$$$*$$$$$
$$$$***$$$$
$$$*****$$$
$$*******$$
$*********$
***********
三.體驗3:求最大公約數和最小公倍數
#include <stdio.h>
int gcd(int n1, int n2); //求最大公約數函式宣告;
int lcm(int n1, int n2); //求最小公倍數函式宣告;
int main()
{
int num1, num2;
int iGcd, iLcm; //定義最大公約數,最小公倍數;
printf("please input two numbers: ");
scanf_s("%d %d", &num1, &num2);
iGcd = gcd(num1, num2); //回傳最大公約數;
iLcm = lcm(num1, num2); //回傳最小公倍數;
printf("the gcd is: %d\n", iGcd); //輸出最大公約數;
printf("the lcm is: %d\n", iLcm); //輸出最小公倍數;
return 0;
}
int gcd(int n1, int n2)
{
int r;
while (n2 != 0) //利用輾轉相除法求最大公約數;
{
r = n1 % n2;
n1 = n2;
n2 = r;
}
return n1; //回傳最大公約數;
}
int lcm(int n1, int n2)
{ //最小公倍數=兩數相乘/最大公約數;
return n1 * n2 / gcd(n1, n2); //回傳最小公倍數;
}
運行結果:
please input two numbers: 56 80
the gcd is: 8
the lcm is: 560
四.認識自定義函式

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/278555.html
標籤:其他
上一篇:【MATLAB appdesigner】15_不同app界面之間的資料傳遞(2)(有實體,超詳細!)
下一篇:【圖形學】立方體建模及顯示
