能不能說(shuō)清楚函數(shù)的功能

呼瑪網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)建站2013年開(kāi)創(chuàng)至今到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。
我寫(xiě)一個(gè)函數(shù),功能是判斷一個(gè)字符是數(shù)字還是字母
函數(shù)名我用的is()你可以隨便改
int is(char c)
{
if(c='9'c='0') return 1; //如果是數(shù)字,就返回1
else if(c='Z'c='A') return 2; //如果是大寫(xiě)字母,就返回2
else if(c='z'c='a') return 3; //如果是小寫(xiě)字母,就返回3
esle return 0; //啥都不是就返回0
}
int main(void)
{
int i;
char str[80];
gets(str); //輸入一個(gè)字符串,相當(dāng)于scanf("%s",str);
for(i=0;str[i]!=0;i++)
switch( is(str[i]) )
{
case 1:printf(" 數(shù)字"); break;
case 2: case 3:printf("字母");break;
default:printf("啥都不是");
}
returned 0;
}
如果是初學(xué),你應(yīng)該是要這種方式吧
不過(guò)建議使用上面那種‘
int fun(char str[])
{
int i;
//把你循環(huán)那部分放在這里
}
int main(void)
{
char str[80];
gets(str);
fun(str);
returned 0;
}
#includestdio.h
int IsRect(int a,int b,int c)
{
if(a+bca+cbb+ca)
{
if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
{
return 1;
}
else
{
return 2;
}
}
else
{
return 0;
}
}
int main()
{
int a,b,c,m,n,k;
printf("請(qǐng)輸入三邊的長(zhǎng)度:");
scanf("%d%d%d",a,b,c);
switch(IsRect(a,b,c))
{
case 0:
printf("不能組成三角形");
printf("\n");
break;
case 1:
printf("是三角形,且是直角三角形");
printf("\n");
break;
case 2:
printf("是三角形,但不是直角三角形\n");
printf("\n");
break;
}
return 0;
}
#include stdio.h
#include stdlib.h
int GetAvg(int a[]) //計(jì)算平均值
{
int i,j,p,t,sum;
for(i=0;i20;i++)
{printf("%d ",a[i]);
if((i+1)%5==0)
printf("\n");
}
printf("\n");
for(i=0;i20;i++)
{p=i;
for(j=i+1;j20;j++)
if(a[p]a[j])
p=j;
t=a[i];
a[i]=a[p];
a[p]=t;
}
for(i=0;i20;i++)
{printf("%d ",a[i]);
if((i+1)%5==0)
printf("\n");
}
sum=0;
for(i=0;i20;i++)
sum=sum+a[i];
int x=sum/20;
return x;
}
void GetCMP(int y1,int y2,int y3,const int x,int a[])//獲取比較數(shù)
{
int i;
for(i=0;i20;i++)
{
if(a[i]x)
y1++;
if(a[i]==x)
y2++;
if(a[i]x)
y3++;
}
}
void main()
{
int a[20],i,j,x,y1=0,y2=0,y3=0;
for(i=0;i20;i++)
{a[i]=rand()%89+10;
for(j=0;ji;j++)
{if(a[i]==a[j])
{i--;break;}
}
}
x=GetAvg(a);
printf("平均值是%d\n",x);
GetCMP(y1,y2,y3,x,a);
printf("大于平均值的有%d個(gè)\n",y1);
printf("等于平均值的有%d個(gè)\n",y2);
printf("小于平均值的有%d個(gè)\n",y3);
}
把你的語(yǔ)句搬個(gè)家就成了。完整程序如下:
#include stdio.h
char *Ls(char *s){
int i,b,e,bm,em;
bm=em=0;
for(i=0;s[i];)
{
while(s[i]s[i]==' ')i++;
b=i;
while(s[i]s[i]!=' ')i++;
e=i;
if(e-bem-bm)
{
em=e;
bm=b;
}
}
s[em]='\0';
return s+bm;
}
int main(){
char s[200];
printf("Please input a sentence:\n");
gets(s);
printf("Output:\n");
printf("The longest word is:%s\n",Ls(s));
return 0;
}
-------------
函數(shù)調(diào)用 Ls(s) 返回的是字符串,你可以直接打印,也可以用 strcpy() 存放到一個(gè)字符串變量里。
在C語(yǔ)言中,一個(gè)標(biāo)準(zhǔn)的函數(shù)定義語(yǔ)句塊必須包含函數(shù)返回值的類型標(biāo)識(shí)符、函數(shù)名、形參類型及數(shù)量、函數(shù)體、返回值表達(dá)式。如果函數(shù)返回值類型為 void (即無(wú)返回值),則在兩個(gè)大括號(hào)之間不能寫(xiě)帶有返回值表達(dá)式的 return 語(yǔ)句,否則編譯器就會(huì)報(bào)錯(cuò)。你寫(xiě)的 test 函數(shù)返回值類型為 void,而你在函數(shù)定義語(yǔ)句塊內(nèi)寫(xiě)下了 return 語(yǔ)句,編譯器自然會(huì)報(bào)錯(cuò)了。
你可以將這個(gè)函數(shù)修改為以下形式:
int test(int n)
{
int m = n / 2;
return m;
}
c語(yǔ)言是沒(méi)法把字符串轉(zhuǎn)換成對(duì)應(yīng)函數(shù)的,c語(yǔ)言是結(jié)構(gòu)化語(yǔ)言,程序怎么執(zhí)行在編譯時(shí)已經(jīng)確定,沒(méi)法像c#之類的托管代碼高級(jí)語(yǔ)言能夠動(dòng)態(tài)綁定或者叫后期綁定。因?yàn)橥泄艽a有運(yùn)行時(shí)去選擇執(zhí)行,而c語(yǔ)言編譯后的可執(zhí)行文件為操作系統(tǒng)直接調(diào)用了,所以沒(méi)法動(dòng)態(tài)綁定。
本文題目:c語(yǔ)言改成函數(shù),c++修改函數(shù)
網(wǎng)站URL:http://chinadenli.net/article9/dsiedoh.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、標(biāo)簽優(yōu)化、ChatGPT、網(wǎng)站策劃、面包屑導(dǎo)航、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)