有趣的c語言函數(shù)問題 c語言常見函數(shù)編程

C語言函數(shù)問題(有挑戰(zhàn)性難題)

先看下我的運(yùn)行結(jié)果吧,會(huì)自動(dòng)判斷輸入的m、n是否合法哦!

大悟ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!

上代碼,注釋只寫了部分有助理解的。

#include stdio.h

int Found(int m, int n, int a[])

{

int i = 0;

int Count = 0;

int offset = 0;?//數(shù)組a的下標(biāo)

int qian, bai, shi, ge;?//千位、百位、十位、個(gè)位的值

for(i=m; i=n; i++)

{

//取出千位、百位、十位、個(gè)位的值

qian = i/1000;

bai = (i%1000)/100;

shi = (i%100)/10;

ge = i%10;

if((qian= bai bai=shi shi=ge) (qian+ge == bai+shi))?//找到一個(gè)符合條件的數(shù)

{

Count++;

a[offset++] = i;

}

}

return Count;

}

int main()

{

int m = 0;

int n = 0;

int nResult[100] = {0};

int Count = 0;

int i = 0;

FILE* pFile = NULL;

char szInfo[100] = {0};

while(1)

{

printf("Please enter m and n:");

scanf("%d %d", m, n);

printf("\n");

if(m=1000 n=1200 mn)

break;

else

printf("輸入數(shù)據(jù)不合法,請重新輸入\n");

}

Count = Found(m, n, nResult);

pFile = fopen("104.out", "w");

if(NULL == pFile)

printf("打開文件失敗\n");

sprintf(szInfo, "found %d numbers in %d ~ %d:\n", Count, m, n);

printf("%s", szInfo);

if(NULL != pFile)

{

fwrite("No. 104\n", 1, strlen("No. 104\n"), pFile);?//?寫入學(xué)號

fwrite(szInfo, 1, strlen(szInfo), pFile);???//寫入部分信息

}

for(i=0; iCount; i++)

{

printf("%d? ", nResult[i]);

sprintf(szInfo, "%d? ", nResult[i]);

if(NULL != pFile)??//輸出到屏幕的同時(shí),順便把該值寫進(jìn)文件

fwrite(szInfo, 1, strlen(szInfo), pFile);

}

printf("\n");

if(NULL != pFile)

fclose(pFile);

return 0;

}

自從工作以來,兩年沒上過百度知道了,當(dāng)初上大學(xué)的時(shí)候天天在百度知道問問題,今偶爾閑娛,幫忙解答,想不到這里還是這么熱鬧,不禁想起了當(dāng)年為一個(gè)鏈表、一個(gè)函數(shù)挑燈夜戰(zhàn)的場景。只能嘆時(shí)間太快,想不到都過去好幾年了。做程序最需要毅力,小師弟,好好努力吧,嘿嘿,下班回家咯!

有趣的C語言-遞歸函數(shù)-程序填空,請你來答!

int dec(int a[],int n)

{

if(n=1) return ____1_____;

if(a[0]a[1]) return 0;

return _____dec( a,n-1) ( a[n-1] = a[n-2] )______;

}

C語言 函數(shù)問題

用結(jié)構(gòu)體比較方便易懂,我用結(jié)構(gòu)體幫你做了一下,你可以看一看,可以運(yùn)行的,我試過了。

#includestdio.h

#define N 4

#define M 5

struct student//建立學(xué)生數(shù)據(jù)結(jié)構(gòu)體

{

char name[15];

float score[M];

float ave;

}stu[N];

void average(struct student stu[])//求平均成績函數(shù)

{

int i,j,k;

float t;

for(i=0;iN;i++)

{

for(j=1;jM;j++)//冒泡排序?qū)?個(gè)評委評分從低到高排列,然后取中間的評分求平均值。

for(k=0;kM-j;k++)

if(stu[i].score[j]stu[i].score[j+1])

{

t=stu[i].score[j];

stu[i].score[j]=stu[i].score[j+1];

stu[i].score[j+1]=t;

}

for(j=1;jM-1;j++)//去掉最高和最低分后求平均分

{

stu[i].ave+=stu[i].score[j];

}

stu[i].ave/=M-2;

}

}

void sort(struct student stu[])//排序函數(shù)

{

int i,j;

struct student temp;

for(i=1;iN;i++)//冒泡排序法

for(j=0;jN-i;j++)

if(stu[j].avestu[j+1].ave)

{

temp=stu[j];

stu[j]=stu[j+1];

stu[j+1]=temp;

}

}

main()

{

int i,j;

for(i=0;iN;i++)//輸入學(xué)生數(shù)據(jù)

{

printf("請輸入第%d個(gè)學(xué)生的姓名:",i+1);

scanf("%s",stu[i].name);

for(j=0;jM;j++)

{

printf("請輸入該生第%d個(gè)評委的評分:",j+1);

scanf("%f",stu[i].score[j]);

}

}

average(stu);//執(zhí)行函數(shù)

sort(stu);

printf("\n按平均成績逆序輸出為:\n");//逆序打印數(shù)據(jù)

printf("姓名 \t成績\n");

for(i=0;iN;i++)

printf("%s \t%.2f\n",stu[i].name,stu[i].ave);

}

希望可以幫到你,呵呵

對大神來說很簡單的C語言問題,懸賞很高的哦

根據(jù)題目描述,計(jì)算出出發(fā)時(shí)共趕多少只鴨子,以及經(jīng)過每個(gè)村子賣出的鴨子數(shù)量。

#include stdio.hvoid sell_ducks(int village, int ducks) { if (village 7) { printf("\n"); return;

} else { int sold = ducks / 2; printf("sell=%d,", ducks - sold);

sell_ducks(village+1, sold);

}

}int main() { int ducks = 2; for (int i = 1; i = 7; i++) {

ducks = ducks * 2;

} int sold = ducks - 2; printf("sum=%d ", ducks);

sell_ducks(1, ducks); return 0;

}c

#include stdio.h

void sell_ducks(int village, int ducks) {

if (village 7) {

printf("\n");

return;

} else {

int sold = ducks / 2;

printf("sell=%d,", ducks - sold);

sell_ducks(village+1, sold);

}

}

int main() {

int ducks = 2;

for (int i = 1; i = 7; i++) {

ducks = ducks * 2;

}

int sold = ducks - 2;

printf("sum=%d ", ducks);

sell_ducks(1, ducks);

return 0;

}

首先,在main函數(shù)中,根據(jù)題目描述,使用一個(gè)循環(huán)計(jì)算出出發(fā)時(shí)共趕的鴨子數(shù)量。然后,計(jì)算出第七個(gè)村子賣出的鴨子數(shù)量。接著,調(diào)用sell_ducks函數(shù),從第一個(gè)村子開始賣出鴨子。在sell_ducks函數(shù)中,首先判斷是否已經(jīng)經(jīng)過了七個(gè)村子,如果經(jīng)過了七個(gè)村子,就不再賣出鴨子,直接返回。否則,計(jì)算出本次要賣出的鴨子數(shù)量,打印出賣出的鴨子數(shù)量,并遞歸調(diào)用sell_ducks函數(shù),處理下一個(gè)村子。

注意,上述程序中使用了遞歸函數(shù)來處理賣出鴨子的問題,可以方便地處理“每經(jīng)過一個(gè)村子賣去所趕鴨子的一半又一只”的問題。同時(shí),為了輸出格式美觀,程序中使用了逗號分隔每個(gè)村子賣出的鴨子數(shù)量,最后一個(gè)村莊賣出的鴨子數(shù)量后面沒有逗號。

當(dāng)前文章:有趣的c語言函數(shù)問題 c語言常見函數(shù)編程
文章網(wǎng)址:http://www.bm7419.com/article10/ddiodgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)定制開發(fā)、軟件開發(fā)、App開發(fā)、商城網(wǎng)站服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化