C語言項(xiàng)目化教程王德選課后答案_第1頁
C語言項(xiàng)目化教程王德選課后答案_第2頁
C語言項(xiàng)目化教程王德選課后答案_第3頁
C語言項(xiàng)目化教程王德選課后答案_第4頁
C語言項(xiàng)目化教程王德選課后答案_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

項(xiàng)目1熟悉老朋友——C語言一、填空題1、19722、編輯、連接、執(zhí)行3、3294、一個函數(shù)5、函數(shù)的定義執(zhí)行語句三、上機(jī)操作題1、#include<stdio.h>main(){printf("*************************\n");printf("*WelcometoBeijing!*\n");printf("*************************\n");}2、s=314.0000003、#include<stdio.h>main(){inta,area;a=10;area=a*a;printf("area=%d\n",area);}項(xiàng)目2開啟學(xué)習(xí)之旅——遵守規(guī)則一、選擇題1、A2、B3、C4、A5、C6、B二、填空題1、.c.obj.exe2、longinta,b;3、1.54、75、233三、綜合題1.求下面算術(shù)表達(dá)式的值。(1)2.5(2)3.52.假定a=3,b=4,c=5,寫出下面各邏輯表達(dá)式的值。(1)

0 (2)

2(3)

1 (4)

0(5)

1四、程序填空1.從鍵盤輸入一個小寫字母,要求用大、小寫字母形式輸出該字母及對應(yīng)的ASCII碼值。#include”stdio.h”

main(){char

c1,c2;printf("請輸入小寫字母:");scanf("%c",&c1);printf("%c,%c",c1,c1-32);printf("%d,%d",c1,c1-32);}2、輸入兩個整數(shù),輸出兩數(shù)的乘積。#include"stdio.h"main(){intc1,c2,s;printf("請輸入兩個數(shù):");scanf("%d,%d",&c1,&c2);s=c1*c2;printf("c1+c2=%d",s);}3、利用條件運(yùn)算符,實(shí)現(xiàn)輸入三個實(shí)數(shù),求出這三個數(shù)中最大值。#include<stdio.h>voidmain(){floatx,y,z,max;printf("請輸入三個實(shí)數(shù):");scanf("%d,%d,%d",&x,&y,&z); max=x>y?x:y; max=max>z?max:z; printf("這三個數(shù)中最大值是%f\n",max);}五、程序改錯題1.main(){inta,b,c;a=9;b=a*3;floatf;f=(t+b)*3.1415;修改為:f=(a+b)*3.1415;printf("f=%f\n",f);}2.#include"stdio.h"main(){longa;doublef;…printf("a=%d,f=%f\n",a,f);修改為:printf("a=%ld,f=%lf\n",a,f);}3.#include"stdio.h"main(){chara;a=getchar()intb=5;printf("a=%C\n,b=%D",a,b);修改為:printf("a=%c\n,b=%d",a,b);}六、程序編程題1.華氏溫度和攝氏溫度轉(zhuǎn)換。C=(f-32)*5/9#include"stdio.h"main(){floatC,f;printf("請輸入攝氏溫度C的值:");scanf("%f",&C);floatf;f=(C-32)*5.0/9;printf("f=%f\n",f);}2.將輸入的0-128之間的任意整數(shù)按字母形式輸出。#include"stdio.h"main(){inta;printf("請輸入0-128之間的整數(shù):");scanf("%d",&a);printf("數(shù)值%d,對應(yīng)的字母是%c\n",a,a);}3.通過鍵盤分別輸入“1、2、3”,并在屏幕上顯示出所輸入的內(nèi)容。#include"stdio.h"main(){inta,b,c;printf("請輸入1、2、3整數(shù):");scanf("%d、%d、%d",&a,&b,&c);printf("輸入的內(nèi)容是%d、%d、%d\n",a,b,c);}4.輸入長方形的長和寬,求其周長和面積。#include"stdio.h"main(){floata,b,l,area;printf("請輸入長方形的長和寬:");scanf("%f,%f",&a,&b);l=(a+b)*2;area=a*b;printf("長方形對應(yīng)的周長是%f,面積是%f\n",l,area);}5.從鍵盤輸入一個字符,分別輸出其對應(yīng)的ASCII碼值。#include"stdio.h"main(){chara;printf("請輸入一個字母:");scanf("%c",&a);printf("輸入的字母%c對應(yīng)的ASCII是%d\n",a,a);}項(xiàng)目3開啟編程之路——順序結(jié)構(gòu)程序設(shè)計一、選擇題1、C2、A3、C4、B5、B二、判斷題1、√2、×3、√4、×5、×6、×7、×8、×9、×10、×三、程序填空1.從鍵盤輸入一個小寫字母,要求用大、小寫字母形式輸出該字母及對應(yīng)的ASCII碼值。#include”stdio.h”

main(){char

c1,c2;printf("請輸入小寫字母:");scanf("%c",&c1);printf("%c,%c",c1-32,c1);printf("%d,%d",c1-32,c1);}2、輸入兩個整數(shù),輸出兩數(shù)的乘積。#include"stdio.h"main(){intc1,c2,s;printf("請輸入兩個數(shù):");scanf("%d,%d",&c1,&c2);s=c1*c2;printf("c1*c2=%d",s);}3、利用條件運(yùn)算符,實(shí)現(xiàn)輸入三個實(shí)數(shù),求出這三個數(shù)中最大值。#include<stdio.h>voidmain(){floatx,y,z,max;printf("請輸入三個實(shí)數(shù):");scanf("%d,%d,%d",&x,&y,&z); max=x>y?x:y; max=max>z?max:z; printf("這三個數(shù)中最大值是%f\n",max);}四、程序改錯題1.改正下列程序中不正確的語句。main() 修改為:在此行前面增加#include"stdio.h"{inta=8;b=1; 修改為:inta=8,b=1;或者inta=8;intb=1;a=a++b; 修改為a=(a++)+b;或者a=a+(++b);b=a*b;printf("%d,%d",a,b)}2.改正下列程序中不正確的語句。main() 修改為:在此行前面增加#include"stdio.h"{intn;floats=1.0;scanf("%f",n); 修改為:scanf("%d",&n);s=s+1/n; 修改為:s=s+1.0/n;printf(“%d\n”,s);修改為:printf("%f\n",s);}3.兩個人A,B,在C語言考試中獲得87和76的成績,請輸入A,B兩人的代號及成績,輸出成績。#include"stdio.h"修改為:#include"stdio.h"main(){charc1,c2;intx,y;printf("請輸入A的成績及代號:");scanf("%d:%c",&x,&c1);printf("請輸入B的成績及代號:");scanf("%d:%c",&y,&c2);printf("輸出A的代號及成績:");printf("%c:%d\n",c1,x);printf("輸出B的代號及成績:");printf("%c:%d\n",c2,y);}五、程序編程題1.實(shí)現(xiàn)輸入一個字符,將其按照字母和對應(yīng)的ASCII的數(shù)值輸出。#include"stdio.h"main(){charc1;printf("請輸入一個字母:");scanf("%c",&c1);printf("字母%c對應(yīng)的ASCII是%d",c1,c1);}2.求任意數(shù)的絕對值。#include"stdio.h"#include”math.h”main(){floatb;printf("請輸入一個數(shù):");scanf("%f",&b);printf("數(shù)值%f對應(yīng)的絕對值是%f",b,fabs(b));}3.利用字符大小寫轉(zhuǎn)換函數(shù),實(shí)現(xiàn)將一個大寫字符按小寫字母輸出。#include"stdio.h"#include”string.h”main(){charb;printf("請輸入一個大寫字母:");scanf("%c",&b);printf("字母%c對應(yīng)的小寫字母是%c",b,tolower(b));}4.利用getchar()函數(shù)實(shí)現(xiàn)一次接收一個字符,并將其輸出。#include<stdio.h>intmain(){intch=getchar();printf("輸出接收到的字符是:");putchar(ch);return0;}5.從鍵盤輸入一串字符,分別輸出對應(yīng)字母的ASCII碼值。#include<stdio.h>voidmain(){chara[50];inti=0;while(a[i]!='\n'){scanf("%c",&a[i]);i++;}for(j=0;j<i;j++){printf("輸入的字符串%c\n",a[j]);printf("對應(yīng)的ASCII值是%d\n",a[j]);}}6.輸入三角形三邊的長,求三角形的周長及面積。#include<stdio.h>#include<math.h>intmain(void){floata,b,c,p,l,s;printf("請輸入三角形的三條邊:\n",a,b,c);scanf("%f,%f,%f",&a,&b,&c);l=a+b+c;p=l/2;if(a+b>=c&&a+c>=b&&b+c>=a){s=sqrt(p*(p-a)*(p-b)*(p-c));printf("三角形的周長是:%f",l);printf("\n三角形的面積是:%f",s);}else{printf("輸入的三邊長不構(gòu)成三角形");}return0;}項(xiàng)目4進(jìn)階程序設(shè)計——選擇結(jié)構(gòu)程序設(shè)計一、選擇題1、C2、C3、A4、D5、B二、程序填空1.求一個數(shù)的絕對值。例如輸入-5,則輸出5。#include"stdio.h"

main(){intx;scanf("%d",x);if(x<0)x=-x;printf("輸入的數(shù)對應(yīng)的絕對值是%d",x);}2.輸入任意三個整數(shù)a,b,c,輸出其中最小的數(shù)#include"stdio.h"main(){inta,b,c,t;printf("請輸入三個數(shù)");scanf("%d,%d,%d",&a,&b,&c);if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}printf("三個數(shù)中最小的數(shù)為%d",a);}3.實(shí)現(xiàn)由小到大輸出變量a,b,c的值。#include”stdio.h”main(){floata,b,c,m;printf("請輸入3個實(shí)數(shù):");scanf("%f%f%f",&a,&b,&c);if(a<b){t=a;a=b;b=t;}if(a<c){t=a;a=c;c=t;}if(b<c){t=b;b=c;c=t;}printf("%d,%d,%d",a,b,c);4.將下面的程序補(bǔ)充完整,輸入員工的工資,其工資在1萬元以上(包括1萬元則輸出“金領(lǐng)”;若工資在7千元以上,一萬元以下,則輸出“技術(shù)骨干”;若工資在4千元以上,7千元以下,則輸出“技術(shù)能手”;若工資在4千元以下,則輸出“普通員工”信息。#include"stdio.h"main(){floatx;scanf("%f”,&x);if(x>=10000)printf("收入屬于金領(lǐng)\n");elseif(x>=7000&&x<10000)printf("收入屬于技術(shù)骨干\n");elseif(x>=4000&&x<7000)printf("收入屬于技術(shù)能手\n");elseprintf("收入屬于普通員工\n");}}三、程序改錯題1.判斷某一年是閏年的條件是:能被4整除并且不能被100整除,或者能被400整除的年份是閏年。#include"stdio.h"main(){intyear,t;printf("請輸入年份");scanf("%d",year)if(year%4==0||year%100!=0)修改為:year%4==0&&year%100!=0||year%400==0printf("%d年是閏年\n",&year);修改為:printf("%d年是閏年\n",year);elseprintf("%d年不是閏年\n",&year);修改為:printf("%d年是閏年\n",year);}2.輸入一個學(xué)生的成績,若是合法成績,則輸出相應(yīng)的等級,否則輸出不合法的提示信息。#include"stdio.h"main(){floatx;chary;printf("請輸入1-100內(nèi)的一個成績");scanf("%f",&x);if(x>=100&&x<0)修改為:if(x<=100&&x>=0){if(x>=90)y='A';elseif(x>=80)y='B';if(x>=70)y='C';elseif(x>=60)y='D';elsey='E';printf("該學(xué)生的等級為%c\n",y);}elseprintf("輸入的學(xué)生成績不合法\n");}3.輸入一個字符,判斷它是小寫、大寫、數(shù)字還是其它字符。#include"stdio.h"voidmain(){chara;printf("請輸入一個字符\n");scanf("%c",&a);if(a>='a'&&a<='z')printf("輸入的字符是小寫");elseif(a>='A'&&a<='Z')printf("輸入的字符是大寫");elseif(a>='0'&&a<='9')printf("輸入的字符是數(shù)字");elseprintf("輸入的字符是其它字符");}四、程序編程題1.利用switch實(shí)現(xiàn)學(xué)生成績等級的判斷。#include<stdio.h>intmain(){ floatscore;inti; scanf("%f",&score); i=(int)socre/10; switch(i){ case9:printf("A");break; case8:printf("B");break; case7:printf("C");break; case6:printf("D");break; default:printf("E");break; } return0;}2.某商場購物消費(fèi)優(yōu)惠活動。消費(fèi)越高,折扣越高。s<250沒有折扣250<=s<5002%折扣500<=s<10005%折扣1000<=s<20008%折扣2000<=s<300010%折扣s>=300015%折扣試著求解,當(dāng)顧客消費(fèi)5000元時,實(shí)際需要花費(fèi)多少錢?#include<stdio.h>#include<math.h>intmain(){ floats; floatprice; scanf("%f",&s); if(s<250)price=price;elseif(250<=s&&s<500)price=price-price*0.02elseif(500<=s&&s<1000)price=price-price*0.05elseif(1000<=s&&s<2000)price=price-price*0.08elseif(2000<=s&&s<3000)price=price-price*0.1elseprice=price-price*0.15printf("實(shí)際需要花費(fèi)%f",price);return0;}3.輸入某年某月某日,判斷這一天是這一年的第幾天。#include<stdio.h>intmain(){

intday,month,year,sum,leap;

printf("請輸入年、月、日,格式為:年,月,日\n");

scanf("%d,%d,%d",&year,&month,&day);

switch(month)

{

case1:sum=0;break;

case2:sum=31;break;

case3:sum=59;break;

case4:sum=90;break;

case5:sum=120;break;

case6:sum=151;break;

case7:sum=181;break;

case8:sum=212;break;

case9:sum=243;break;

case10:sum=273;break;

case11:sum=304;break;

case12:sum=334;break;

default:printf("dataerror");break;

}

sum=sum+day;//再加上某天的天數(shù)

if((year%4==0&&year%100!=0)||year%400==0)

leap=1;

else

leap=0;

if(leap==1&&month>2)sum++;

printf("這是這一年的第%d天。",sum);

printf("\n");}4.輸入一個數(shù),如果是5的倍數(shù),則輸出這個數(shù)的立方,否則輸出這個數(shù)的平方。#include<stdio.h>intmain(){

inta;

printf("請輸入一個整數(shù)\n");scanf("%d",&a);if(a%5==0)printf("這個數(shù)的立方是%d\n",a*a*a);elseprintf("這個數(shù)的平方是%d\n",a*a);return0;}5.輸入一個數(shù),判斷它是否是水仙花數(shù)(一個三位數(shù),它的各位數(shù)字立方之和等于它本身,這個數(shù)就是水仙花數(shù))。#include<stdio.h>intmain(){ inta,b,c,s;printf("請輸入一個三位數(shù)的整數(shù)\n"); scanf("%d",&s); a=s/100; b=s%10/10; c=s-100*a-10*b; if(s==a*a*a+b*b*b+c*c*c) printf("是水仙花數(shù)\n",d); elseprintf("不是水仙花數(shù)\n",d); return0;}6.輸入方程ax2+bx+c=0的系數(shù)值(設(shè)a≠0),輸出方程的實(shí)根或輸出沒有實(shí)根的提示信息。#include<stdio.h>#include<math.h>intmain(){floata,b,c,d,x1,x2;printf("請依次輸入三個系數(shù):");scanf("%f%f%f",&a,&b,&c);if(a!=0){d=b*b-4*a*c;//根的判別式if(d>=0){x1=((-b+sqrt(d))/(2*a));//求根公式x2=((-b-sqrt(d))/(2*a));printf("x1=%.2f;x2=%.2f",x1,x2);}elseprintf("方程無根");}else{printf("輸入的a值不正確,構(gòu)不成二元一次方程");}return0;}項(xiàng)目5高階程序設(shè)計——循環(huán)結(jié)構(gòu)程序設(shè)計一、選擇題1、A2、B3、B4、A5、C6、B7、A8、A9、B10、B二、編程題1.編程計算下列表達(dá)式:s=2!+4!+……+10!#include<stdio.h>voidmain(){inta=2;inti;longt=0;longs;for(a=2;a<=10;a++){s=1;for(i=1;i<=a;i++)s=s*i;t=t+s;}printf("2!+4!+6!……+10!=%ld",t);}2.從鍵盤上輸入a與n的值,計算sum=a+aa+aaa+aaaa+…(共n項(xiàng))的和。例a=2,n=4,則sum=2+22+222+2222.#include<stdio.h>intmain(){inta,n,m,sum=0,i=0;scanf("%d",&a);m=a;do{sum=sum+m;m=m*10+a;i=i+1;}while(i<n);printf("%d",sum);return0;}3.一球從200米高度自由落下,每次落地后反跳回原高度的四分之一,再落下。編程求它第10次落地時共經(jīng)過的路程及第10次落地后反彈的高度。#include<stdio.h>main(){doubleh=100;//使用除法會出現(xiàn)小數(shù),所以用浮點(diǎn)型doubles=100;h=h/2;//計算第一次反彈高度for(inti=2;i<=10;i++){s=s+2*h;//下落和反彈算兩次,所以要乘2h=h/2;}printf("第10次落地時,共經(jīng)過%f米,第10次反彈高%f米\n",s,h);}4.一個數(shù)如果恰好等于它的因子之和,這個數(shù)就稱為完數(shù)。求100之內(nèi)的所有完數(shù)。#include<stdio.h>intmain(){inti,j;for(i=1;i<=100;i++) {//遍歷1~ninttem=0;//每次內(nèi)層循環(huán)結(jié)束tem重新賦值為0for(j=1;j<i;j++) {//判斷是否為完數(shù)if(i%j==0){//判斷是否為因子tem+=j;//因子求和}}if(tem==i){//因子和等于本身即為完數(shù)-->輸出printf("%d\n",i);} }return0;}5.有一數(shù)列:2/1,3/2,5/3,8/5,…求出這個數(shù)列的前10項(xiàng)之和。#include"stdio.h"voidmain(){inta,b,c,i;doublesum;for(a=b=1,sum=i=0;i<10;i++){c=a+b;b=a;a=c;sum+=(c+0.0)/b;}printf("2/1+3/2+5/3+8/5……%g\n",sum);}6.將一個正整數(shù)分解質(zhì)因數(shù)。例如:輸入90,打印出90=2*3*3*5。#include<stdio.h>voidmain(){ intn,k; printf("請輸入一個正整數(shù)\n"); scanf("%d",&10); printf("%d=",n); for(k=2;k<=n;k++) while(n!=k) { if(n%k==0) {printf("%d*",k); n/=k; } elsebreak; }printf("%d\n",n);}7.給一個不多于5位的正整數(shù),求它是幾位數(shù)并逆序打印出各位數(shù)字。#include"stdio.h"voidmain(){ longa,b,c,d,e,x; printf("請輸入一組不多于5位的正整數(shù)\n"); scanf("%ld",&x); a=x/10000;/*分解出萬位*/ b=x%10000/1000;/*分解出千位*/ c=x%1000/100;/*分解出百位*/ d=x%100/10;/*分解出十位*/ e=x%10;/*分解出個位*/ if(a!=0)printf("一共有5位,逆序是%ld%ld%ld%ld%ld\n",e,d,c,b,a); elseif(b!=0)printf("一共有4位,逆序是%ld%ld%ld%ld\n",e,d,c,b); elseif(c!=0)printf("一共有3位,逆序是%ld%ld%ld\n",e,d,c); elseif(d!=0)printf("一共有2位,逆序是%ld%ld\n",e,d); elseif(e!=0)printf("一共有1位,逆序是%ld\n",e);}8.打印樓梯,同時在樓梯上方打印兩個笑臉。#include<stdio.h>voidmain(){inti,j;printf("\1\1\n");//打印兩個笑臉for(i=1;i<11;i++){for(j=1;j<i;j++)printf("%c%c",23,23);//23這個數(shù)字可以是任意數(shù),代表該數(shù)所對應(yīng)的符號printf("\n");}}9.s=20+21+22+23+……2n,當(dāng)s超過10,輸出n的最小值和s的值。#include<stdio.h>#include<math.h>intmain(){ints=0;intn=0;while(s<10){s=s+(int)pow(2,n);n=n+1;}printf("s=%d\n",s);printf("最小的n=%d\n",n);return0;}10.計算1-1/2+1/4-1/16+1/32……,直到加項(xiàng)小于10-6為止。#include<stdio.h>#include"math.h"voidmain(){floats=0;intn=1;intt=1;while(s<1e-6){ s=s+t*1.0/n; n=n+1; t=-t;}printf("s=%d,n=%d",s,n);}11.輸入一個數(shù),判斷是否為完數(shù)。#include"stdio.h"intmain(){intn,i,sum=0;printf("請輸入需要判斷的一個整數(shù):");scanf("%d",&n);for(i=1;i<n;i++){if(n%i==0)sum+=i;}if(n==sum)printf("輸入的%d是完數(shù)\n",n);elseprintf("輸入的%d不是完數(shù)\n",n);return0;}12.輸出圖形。#include"stdio.h"intmain(){inti,j,k;for(i=1;i<=3;i++){for(j=1;j<=i+3;j++)printf("");for(k=1;k<=9-2*i;k++)printf("*");printf("\n");}for(i=1;i<=4;i++){for(j=1;j<=8-i;j++)printf("");for(k=1;k<=2*i-1;k++)printf("*");printf("\n");}}項(xiàng)目6玩轉(zhuǎn)N維編程——數(shù)組一、選擇題1.D2.B3.D4.B5.B6.D7.C8.D9.D10.BB(注意:該題有誤s[j]=s[k]要修改為a[j]=s[k])二、填空題1題:242題:&a[i]i%4==0printf("\n")3題:i=0found=14題:SearchSuccessful!Theindexis:55題:j=i-1a[j+1]=a[j]a[j+1]6題:a[i]>b[j]i<3j<57題:i=0;i<n;i++j=i;j<n;j++s*=x[i][j]8題:707891989題:AzyD(注:inti=0)三、編程題三、編程題1、定義一個含有30個整型元素的數(shù)組,按順序分別賦予從2開始的偶數(shù);然后按順序每五個數(shù)求出一個平均值,放在另一個數(shù)組中并輸出。試編程。#defineN30#include<stdio.h>voidmain(){ inta[N],b[N/5],i,j=0,sum=0; ; for(i=0;i<30;i++) a[i]=2*i+2; for(i=0;i<30;i++) { sum+=a[i]; if((i+1)%5==0) { b[j++]=sum/5; sum=0; } } for(i=0;i<N/5;i++) printf("%d",b[i]); }試編程通過循環(huán)按行順序?yàn)橐粋€5×5的二維數(shù)組a賦1到25的自然數(shù),然后輸出該數(shù)組的左下半三角。#include<stdio.h>voidmain(){ inta[5][5],i,j; for(i=0;i<5;i++) for(j=0;j<5;j++) a[i][j]=i*5+j+1; for(i=0;i<5;i++) { for(j=0;j<=i;j++) printf("%d",a[i][j]); printf("\n"); }}試編程打印用戶指定的n階順時針螺旋方陣(n<10)。#include<stdio.h>voidmain(){ inta[10][10],i,j,k=0,m,n; scanf("%d",&n);//輸入階數(shù)n<10 if(n%2==0) m=n/2; else m=n/2+1; for(i=0;i<m;i++) { for(j=i;j<n-i;j++) { k++; a[i][j]=k; } for(j=i+1;j<n-i;j++) { k++; a[j][n-i-1]=k; } for(j=n-i-2;j>=i;j--) { k++; a[n-i-1][j]=k; } for(j=n-i-2;j>=i+1;j--) { k++; a[j][i]=k; } } for(i=0;i<n;i++) { for(j=0;j<n;j++) printf("%-5d",a[i][j]); printf("\n"); }}試編程從鍵盤輸入一個整數(shù),,用折半查找法找出該數(shù)在10個有序整型數(shù)組a中的位置。若該數(shù)不在a中,則打印出相應(yīng)信息。#include<stdio.h>voidmain(){ intup=10,low=1,mid,flag=0,find; inta[10]={1,7,12,17,24,33,45,56,70,99}; scanf("%d",&find); while(up>=low||!flag) { mid=(up+low)/2; if(a[mid]==find) { flag=1; break; } elseif(a[mid]>find) { if(a[mid+1]<find) { flag=0; break; } up=mid-1; } else { if(a[mid+1]>find) { flag=0; break; } low=mid+1; } if(mid<=0||mid>=9) { flag=0; break; } } if(flag) printf("能夠查找到,該數(shù)的下標(biāo)是%d\n",mid); else printf("沒有查找到\n");}試編程從鍵盤輸入兩個字符串a(chǎn)和b,要求不用庫函數(shù)strcat把串b的前五個字符連接到串a(chǎn)中;如果b的長度小于5,則把b的所有元素都連接到a中。#include<stdio.h>#include<string.h>voidfun(char*a,char*b){ intlen=strlen(a); a+=len; inti=0; while(*a++=*b++) { i++; if(i==5) *b='\0'; }}voidmain(){ chara[100],b[100]; gets(a); gets(b); fun(a,b); puts(a);}項(xiàng)目7提升編程效率——函數(shù)一、填空題1、可以被多次調(diào)用、實(shí)現(xiàn)一些特定功能2、函數(shù)名(實(shí)際參數(shù)表)3、實(shí)參、形參4、嵌套5、調(diào)用6、把數(shù)組元素(下標(biāo)變量)作為實(shí)參使用、把數(shù)組名作為函數(shù)的形參和實(shí)參使用7、局部變量全局變量8、靜態(tài)存儲、動態(tài)存儲9、auto自動變量、register寄存器變量extern外部變量、static靜態(tài)變量二、選擇題1、B2、A3、A4、D5、A6、A7、A8、B9、B10、C三、程序分析1、swap(a)x[0]=x[1]2、A3、A4、B四、編程題1、編函數(shù)計算kkk...kk(共n個k,n>0)的值。例如k=2,n=3,則為222;若k=5,n=4,則值為5555。在主函數(shù)中調(diào)用上述函數(shù),計算并輸出下列s1和s2的值:s1=2+22+222+2222+22222s2=6+66+666+6666+66666+666666#include<stdio.h>voidsnk(intn,intk){inttemp=0,sum=0,i=0;for(i=0;i<n;i++){temp=temp*10+k;sum=sum+temp;}printf("計算和的結(jié)果resultis%d",sum);}intmain(){intn,k;printf("請輸入自然數(shù)nandk的值,中間用逗號隔開:");scanf("%d,%d",&n,&k);snk(n,k);return0;}2、編程序按下列公式計算并輸出s值,其中的n由鍵盤輸入。intcj(inta){returna*a;}intmain(){intn,j;intsum=0;printf("請輸入自然數(shù)n的值");scanf("%d",&n);for(j=1;j<=n;j++){sum=sum+cj(j);}printf("%d",sum);return0;}3、通過調(diào)用函數(shù)fun計算m=1-2+3-4+…+9-10的值。#include<stdio.h>intfun(intm){if(m%2==0)return-m;elsereturnm;}intmain(){intn,j;intsum=0;printf("請輸入自然數(shù)n的值");scanf("%d",&n);for(j=1;j<=n;j++)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論