c語言寫兩個函數
① c語言中編寫兩個函數
到底是什麼意思呢?
像這樣嗎?
struct
SLIST
a,b,c,*p;
a.data='a';
b.data='b';
c.data='c';
p=&a;
a.next=&b;
b.next=&c;
c.next='\0';
if(p==『\0』)//這樣應該是0而不是O
printf(「Linklist
is
null!\n」);/*鏈表為空(只有頭結點)*/
else
/*鏈表非空*/
{
printf(「head」);
do
{printf(「->%d」,p->data);/*輸出當前結點數據域中的值*/
p=p->next;/*p指向下一個結點*/
}
while(p!=『\0』);/*未到鏈表尾,繼續循環*/
printf(「->end\n」);
② 用C語言寫一下兩個函數
/*1.寫一個函數,輸入一個16進制數,輸出相應的十進制數。
2.設計一個函數用來判斷一個整數是否為素數*/
#include<stdio.h>
#include<math.h>
int
Trans16To10(int
N16);
int
IsPrime(int
n);
main()
{
Trans16To10(0xa);
if(IsPrime(300))
printf("yes");
getch();
}
int
Trans16To10(int
N16)
{
printf("%d\n",N16);
}
int
IsPrime(int
n)
{
int
i;
for(i
=
2;i<sqrt(n);i++)
{
if(n%i
==
0)
return
0;
}
return
1;
}
③ C語言寫倆個函數
#include<stdio.h>
int Common(int m,int n) //求最大公約數
{
int t = m%n;
while(t) //歐幾里得演算法求最大公約數
{
m = n;
n = t;
t = m%n;
}
return n;
}
int Common1(int m,int n) //求最小公倍數
{
return m*n/Common(m,n);
}
int main()
{
int m,n;
printf("請輸入兩個整數\n");
scanf("%d%d",&m,&n);
printf("最大公約數為:%d\n",Common(m,n));
printf("最小公倍數為:%d\n",Common1(m,n));
return 0;
}
④ C語言編寫兩個函數,分別求其最大公約數和最小公倍數。並在主函數中輸入任意兩個正整數m和n,調用前兩個函
#include "stdio.h"
void main()
{
int i,j,k,m;
scanf("%d%d",&i,&j);
k=gy(i,j);
m=gb(i,j);
printf("最大公約數為%d\n",k);
printf("最大公倍數為%d\n",m);
}
int gy(int a,int b)
{
int temp,r;
if(a<b)
{
temp=a;a=b;b=temp;
}
r=a%b;
while(r!=0)
{
a=b;b=r;
r=a%b;
}
return b;
}
int gb(int a,int b)
{int m;
m=a*b/gy(a,b);
return m;}
⑤ c語言編寫兩個函數,分別求出兩個整數的最大公約數和最小公倍數。用主函數調用這兩個函數,並輸出結果。
#include"stdio.h"
intgcd(inta,intb){
intr;
while(r=a%b)
a=b,b=r;
returnb;
}
intlcm(inta,intb){
returna/gcd(a,b)*b;
}
intmain(intargc,char*argv[]){
intx,y;
printf("Pleaseenter2positiveintegers... ");
if(scanf("%d%d",&x,&y)!=2||x<1||y<1){
printf("Inputerror,exit... ");
return0;
}
printf("TheGCDof%d&%dis%d ",x,y,gcd(x,y));
printf("TheLCMof%d&%dis%d ",x,y,lcm(x,y));
return0;
}
運行樣例:
⑥ 求c語言編寫~~編寫兩個函數,分別求兩個整數的最大公約數和最小公倍數,用主函數調用這兩個函數,並輸
#include<stdio.h>//0和任意的一個數的最大公約數就是那個數(最小公倍數就是0)
int yue(int x,int y)
{
int m,t;
if(y>x)
{
t=x;//將x與y的值交換
x=y;
y=t;
}
while(y!=0)
{
m=x%y;
x=y;
y=m;
}
return x;
}
int bei(int x,int y,int p)
{
return(x*y/p);
}
int main()
{
int yue(int,int);
int bei(int,int,int);
int p,q,a,b;
printf("請輸入兩個整數:");
scanf("%d%d",&a,&b);
q=yue(a,b);
p=bei(a,b,q);//最小公倍數=兩數的乘積除以它們的最大公約數
printf("最大公約數是:%d 最小公倍數是:%d ",q,p);
}
(6)c語言寫兩個函數擴展閱讀:
#include<iostream>
using namespace std;
int i;
int max(int a,int b)
{
//cout<<"max";
int s;s=i=2;
//cout<<s<<endl;
if(a>b)
{
i=b;
}
else
i=a;
do{
if(a%i==0&&b%i==0)
{
//cout<<"do裡面的s!"<<s<<endl;
//cout<<"do裡面的i!"<<i<<endl;
s=i;
break;
}
i--;
}while(i<a&&i<b);
//cout<<"end的s!"<<s<<endl;
//cout<<"end的i!"<<i<<endl;
return s;
}
int min(int a,int b)
{
//cout<<"min";
int s;s=1;i=2;
do{
if(i%a==0&&i%b==0)
{
//cout<<"do裡面的s!"<<s<<endl;
//cout<<"do裡面的i!"<<i<<endl;
s=i;break;
}
i++;
}while(i<=a*b);
//cout<<"end的s!"<<s<<endl;
//cout<<"end的i!"<<i<<endl;
return s;
}
int main()
{
int x,y,m,n;
cin>>x>>y;
m=max(x,y);n=min(x,y);
cout<<m<<""<<n;
}
⑦ C語言,編寫兩個函數,分別求兩個正整數的最大公約數和最小公倍數,結果作為函數返回值返回
# include <stdio.h>
int gcd(int x,int y)//最大公約數
{
if (y==0)
return x;
else
return gcd(y,x%y);
}
int lcd (int x,int y,int z)//最小公倍數
{
return x*y/z;
}
int main()
{
int a,b,c;
scanf("%d%d",&b,&c);
int d=gcd(b,c);
printf("%d %d",d,lcd(b,c,d));
return 0;
}
⑧ c語言編寫兩個自定義函數,分別實現求兩個整數的最大公約數和最小公倍數,並用主函數調用這兩個函數
#include<stdio.h>
#include<stdlib.h>
int HCF(int x,int y);//定義最大公約數函數
int LCM(int p,int q);//定義最小公倍數函數
int main()
{
int a,b,hcf,lcm;
scanf("%d%d",&a,&b);//輸入兩個整數
hcf=HCF(a,b);//調用最大公約數函數
lcm=LCM(a,b);//調用最小公倍數函數
printf("HCF is%d LCM is%d ",hcf,lcm);//輸出最大公約數和最小公倍數
system("pause");
return 0;
}
int sum;//定義外部變數sum
//最大公約數函數
int HCF(int x,int y)
{
int i,k,m,n;
sum=1;
k=x>y?y:x;
i=2;
while(i<=k){
m=x%i;
n=y%i;
if(m==0&&n==0){
sum*=i;
x/=i;
y/=i;
i=2;
}
else
i++;
}
return sum;
}
//最小公倍數函數
int LCM(int p,int q)
{
int lc;
lc=p*q/sum;
return lc;
}
(8)c語言寫兩個函數擴展閱讀:
用法:
1、printf()函數是格式化輸出函數,一般用於向標准輸出設備按規定格式輸出信息。
格式輸出,它是c語言中產生格式化輸出的函數(在stdio.h中定義)。用於向終端(顯示器、控制台等)輸出字元。格式控制由要輸出的文字和數據格式說明組成。
要輸出的文字除了可以使用字母、數字、空格和一些數字元號以外,還可以使用一些轉義字元表示特殊的含義。
簡單點理解就是,在一段程序中你正確使用該函數,可以在該程序運行的時候輸出你所需要的內容。
2、printf函數是一個標准庫函數,它的函數原型在頭文件「stdio.h」中。但作為一個特例,不要求在使用printf函數之前必須包含stdio.h文件。
printf()函數的調用格式為:printf("<格式化字元串>",<參量表>)。
其中格式化字元串用於指定輸出格式。格式控制串可由格式字元串和非格式字元串兩種組成。