C語言程序改錯總結(jié)_第1頁
C語言程序改錯總結(jié)_第2頁
C語言程序改錯總結(jié)_第3頁
C語言程序改錯總結(jié)_第4頁
C語言程序改錯總結(jié)_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

難度1

1、程序Dl.c的功能是從鍵盤讀入一個數(shù)并在屏幕上顯示。

intmain(void)

intxy2;

〃改為:

scanf("%s"r&xy2);scanf("%d”,&xy2);

****************

〃改為:

printf("xy2=%5d\n"l&xy2);printf("xy2=%5d\n”,xy2);

return0;

)

2、程序D2.c的功能是調(diào)用函數(shù),顯示兩個實數(shù)間最大的一個。

#include<stdiooh>

floatfmax(floatx,floaty);

intmain(void)

*********Found***********

floatI,1;

1=3。0;

printf("fmax(%5.2f,%5.2f)=%5.2f\n",iflffMax(irI));//fmax

return0;

)

/*********Found************y

intfmax(floatx,floaty)〃改:float

(

if(x<y)returny;

elsereturnx;

)

3、程序D4.c的功能是計算半徑為2+3的圓的面積。

#include<stdio.h)

#definePI3。14

*********Found************

#defineS(bj)PI*bj*bj〃改:PI*(bj)*(bj)

intmain(void)

*********Found************/

intmianJi;〃改為:double

mianJi=S(2+3);

r/

printf(mianji=%5e2f\n",mianJi);

return0;

}

4、相似題:D3.C,程序D5。c的功能是將字符串yy顯示在屏幕上。

#include<stdio.h>

intmain(void)

/*********Found************

charyy[100]=ok??\n",〃改為

***Found************

prntf("%s",yy);〃改:printf

return0;

)

5、考查點:數(shù)據(jù)類型選擇,/運算符的使用功能是計算1/1+1/2+..+1/N之和并顯不。

#include<stdiooh)

#defineN10

intmain(void)

*********Found************/

longjieguo=0;〃改:float

intfm;

for(fm=1;fm(=N;fm++)

/*********Found**

return0;

)

7考查點:輸入格式控制、變量交換,程序D1000。c的功能是從鍵盤輸入3個浮點數(shù)a,

b,c(輸入時abc之間以空格相隔),首先按照輸入順序顯示在屏幕上,然后按從小到大順序

把它們輸出到屏幕上。

#include(stdio.h)

intmain(void)

floata,b,c,t

printf("pleaseinputthreenumbers:\n");

/*********Found************/

scanf(M%f%r,&a,&b,&c);〃改:

printf("beforesort:a=%g,b=%g,c=%g\n”,a,b,c);

if(a>b)

t=a;

a=b;

/★★★*★★★★*Found************y

b=a;〃改:t

)

t=a;

a=c;

c=t;

)

if(b>c)

(

t=b;

b=c;

c=t;

)

printf("aftersort:a=%g,b=%g,c=%g\n,r,a,b,c);

return0;

)

8考查點:格式化輸出、數(shù)據(jù)類型的正確使用,程序D1001.c的功能是求分數(shù)序列:2/1,

3/2,5/3,8/5,13/8,21/13,…。前20項之和,要求顯示的結(jié)果中小數(shù)部分有4位.

#include(stdiooh)

#defineT20

intmain(void)

{

intn;

/*********Found************/

longi,j,temp,sum;

i=2;

j=1;

sum=0;

for(n=l;n(=T;n++)

(

sum=sum+i/j;

temp=i;

???

I=I+J;

j=temp;

)

/*********Found************/

w

printf("2/1+3/2+5/3+8/5+13/8+o。。=%5.2f\n,sum);〃改:。4

return0;

}

考查點:用算術(shù)表達式實現(xiàn)數(shù)據(jù)交換,程序的功能是實現(xiàn)兩數(shù)交換.

9D1002oc

#include(stdio.h>

intmain(void)

(

intx=5,y=9;

x=x+y;

y=x—y;

*****Pound*****

x=y-x;〃改:x-y;

printf("x=%d,y=%d\n",x,y);

return0;

)

10考查點:整型常量表示、輸出項表示,程序D1003。c的功能是將16進制數(shù)100轉(zhuǎn)換

為10進制數(shù)輸出。

#include<stdiooh>

intmain(void)

/*****Found*****

inti=100;//OxlOO

/*****Found*****

printf("%d\n”,&i);〃改:去掉&

return0;

}

程序的功能是輸入姓名屏幕輸出問候。

11.D1004oc,

#include<stdiooh>

intmain(void)

chars[10];

printf("pleaseinputyourname:")

*********Found************/

scanf("%c",s);〃改%s

printf(,rhello");

/*********Found************

puts(s[10]);〃改:s

return0;

)

12考查點:輸入數(shù)據(jù)分隔,輸出項表示,程序D1005.C的功能是從鍵盤讀入兩個整數(shù)并在

屏幕上顯示.要求:輸入時限定兩數(shù)之間僅以逗號隔開。

#include(stdio.h)

intmain(void)

inta,b

/*********Found*********/

scanf("%d%d",&a,&b);〃改:中間加‘

I*********Found*********I

printf("a=%d,b=%d\nM,&a,&b);〃去掉&

return0;

)

、考直點:輸入格式控制、語句,程序的功能是判斷輸入的數(shù)據(jù)是否與

13ifD1006oc

已經(jīng)給出的數(shù)據(jù)j相等.

#include(stdio.h>

intmain(void)

longinti=79870,j=23;

*****Found*****

scanf("%f”,&i);//改:%ld

*****Found*****/

if(j==i);

printf("Equal!");

)

else

printf("Notequal!");

)

return0;

)

14、考查點:字符輸入函數(shù)使用,分支條件表示,程序D1007.C的功能是使用getchar方

式從鍵盤讀入一個字符,判斷該字符是否大寫字符。

#include(stdiooh)

intmain(void)

charch;

/****Found****

getchar(ch);//ch=getchar();

*****Pound*****/

if('A,(=ch,ch(=Z)〃&&

printf("yes");

)

else

printf("no");

)

return0;

)

15、考查點:switch語句結(jié)束、case后常量表示,程序D1008。c的功能是判斷用戶是

不是輸入的整數(shù)0.

#include(stdio.h)

intmain(void)

intn;

scanf("%d",&n);

/****Found****/

switch(n);〃去掉‘

(

/****Found****/

caseO:〃中間加空格

printf("Zero\nr,);

break;

default:

printf("Non—Zero");

break;

)

return0;

)

16、考查點:switch語句、case后常量表示,程序D1009.C的功能是輸入一個整數(shù),如果

為1時輸出100,為2時輸出200,其它輸出0。

#include<stdio.h>

intmain(void)

intx,y;

scanf("%dr,,&x);

switch(x)

*********Found************/

casex==1:〃改:1

y=100;

break;

*********Found************/

casex==2:〃改:2

y=200;

break;

default:

Found************

y=500;〃改:0

break;

}

printf("%d\n",y);

return0;

)

17、考查點:switch語句case常量表示,循環(huán)條件表示,程序D1010.C的功能是輸入若

干字符數(shù)據(jù)(回車表示輸入結(jié)束),分別統(tǒng)計其中‘A,、‘B,、’U的個數(shù)。

#include(stdio.h)

intmain(void)

charc;

intkl=0,k2=0,k3=0;

/*********Found************/

while(c=getchar()!='\n')〃加括號0

(

switch(c)

(

I*********Found***********

caseA:〃加''

kl++;

break;

case'B':

k2++;

break;

case'C:

k3++;

break;

default:

f

)

)

printf(MA=%d,B=%d,C=%d\n",kl,k2,

return0;

)

18、考杳點:一維數(shù)組定義、數(shù)組元素引用、輸入和輸出,程序D1016。c的功能是從鍵

盤輸入5個整數(shù),保存到一整型數(shù)組變量中(此數(shù)組只能保存5個數(shù)),并在屏幕上按逆序

輸出。

#include<stdio.h)

intmain(void)

(

/*********Found*********/

〃改為

intn=5fi,a[n];5

printf("\ninput5numbers:");

I*********Found*********/

for(i=l;i<n;i++)

(

M

scanf(%d"f&a[i]);

)

for(i=n-l;i)=0;i--)

(

printf("%d\t",a[i]);

)

return0;

)

、考查點:數(shù)組的輸入和數(shù)組元素的引用程序的功能是輸入個浮點數(shù)

19,D1017oc10,

并輸出這組數(shù)中的最大值和最小值。

#include(stdiooh>

intmain(void)

(

floata[10],max,min;

inti;

printf("Pleaseinput10floats");

for(i=0;i<10;i++)

(

I*********Found************/

scanf(n%ff,,);//&a[i]

)

max=min=a[0];

for(i=l;i<10;i++)

(

I*********Found************

if()〃max<a[i]

(

max=a[i];

}

if(min>a[i])

min=a[i];

)

)

f/

printf("Maxnumberis:%o2f\nMinnumberis:%.2f\n,maxrmin);

return0;

)

、考查點:函數(shù)聲明,靜態(tài)變量使用,程序的功能是依次輸出人到八。

20D1021oc3135

#include<stdiooh)

/*****Found****

intf(n);〃用定義形式:intn

intmain(void)

(

inti;

for(i=l;i(=5;i++)

(

printf("%d\n”,f(3));

)

return0;

}

intf(intn)

/*****Found*****

intp=1;〃改:staticint

P=P*

returnp;

)

21、考查點:靜態(tài)變量使用,函數(shù)調(diào)用,程序D1023.C的功能是函數(shù)outnum輸出自己

是第幾次被調(diào)用。

#include(stdio.h)

voidoutnum(void);

intmain(void)

inti;

for(i=0;i<5;i++)

/*********Found***********

outnum(i);〃改:outnum()

)

return0;

}

voidoutnum(void)

******************

inti=0;〃改:staticinti=0;

i++;

printf("%d\n",i);

)

22、考查點:函數(shù)調(diào)用、函數(shù)定義,程序D1024.C的功能是調(diào)用子函數(shù)Average()求兩

數(shù)的平均值,并輸出到屏幕上.

#include(stdiooh>

/*********Found*********/

〃用定義形式:

intAverage(xry);intx,inty

intmain(void)

(

inta=12;

intb=24;

intave;

/*********Found*********

ave=Average(inta,intb);〃用使用形式:a,b

printf("Averageof%dand%dis%do\n”,a,b,ave);

return0;

)

/*********Found*********/

intAverage(x,y)//intx,inty

intresult;

result=(x+y)/2;

returnresult;

)

23、考直點:函數(shù)一般調(diào)用和靜態(tài)變量,程序D1025。c的功能是輸入一整數(shù)n(n>O),main

()函數(shù)中調(diào)用子函數(shù)Func()n次,并在屏幕上打印出每次調(diào)用該子函數(shù)的次數(shù).

#include(stdio.h>

voidFunc(void);

intmain(void)

(

inti,n;

printf("\ninputadata:")

scanf(0%d”,&n);

for(i=0;i<n;i++)

I*********Found*********/

//Func()

)

return0;

)

voidFunc(void)

*********Pou*********

//staticinttimes=0;

times++;

printf("Func()wascalled%dtime(s)o\n'\times);

)

難度2

1、考查點:用指針訪問字符數(shù)組元素,程序D3。c的功能是將字符串yy在屏幕上輸出.

#include(stdio.h)

intmain(void)

(

/*********Found************/

charyy[200]="ok??\n/r;〃改為:*yy

*******Found************/

fol(;*yy;yy++)〃改為:for

putchar(*yy);

)

return0;

)

2、考查點:字符數(shù)組定義,字符串輸出控制,標準字符串函數(shù)的使用,程序D6。c的功

能是從鍵盤讀入一行字符(包括空格、TAB等字符)并在屏幕上顯示。

#include(stdiooh>

intmain(void)

(

/*********Found***********

charyy<128);〃改為:yy[128]

/*********Pound************y

getchar(yy);〃改為:gets

/*********Found************/

printf("%y",yy);〃改為:%s

return0;

)

3、考查點:if—else形式條件的分析,數(shù)據(jù)類型選擇,程序D7.c的功能是判斷x和y是否

相等,相等則顯示x=y,不等則顯示x<>ye

#include(stdiooh)

intmain(void)

************

charxfy;〃改為:int

x=39270;

y=41001;

***Found************/

if(x!=y)〃改為:=

printf("x=y");

}

/*********Found************

else;;〃去掉;;

printf(Mx(>y\n");

)

return0;

)

4、考查點:文件路徑名表示,文件打開方式選擇,文件打開成功判斷,程序D8。c的功

能是打開文件d:\te。c用于讀并判斷打開是否成功.

#include<stdiooh>

intmain(void)

FILE*fp;

*********Found************

charfileName[]="d:\te.c";〃改為:\\

*********Found************

fp=fopen(fileName,"w");〃改為:r

/*********Found************/

if(fpisNULL)〃改為:=

puts("FileOpenError!");

return1;

)

putchar(fgetc(fp));

fclose(fp);

return0;

)

5、考查點:指針,內(nèi)存分配、內(nèi)存釋放函數(shù)的使用,程序D9.C的功能是申請100個字節(jié)

的內(nèi)存空間,顯示其首地址,然后釋放申請到的內(nèi)存空間.

#include(stdiooh>

#include<stdliboh>

intmain(void)

*********Found************/

charpch[2];〃改為:*pch

********Found************

if(pch=(char*)malloc(100)==NULL)〃將紅色部分括起來

printf("mallocmemoryfail!\nw);

return1;

}

printf("%p\n"fpch);

y*********Found************]

close(pch);〃改為:free

return0;

)

6、考查點指針作函數(shù)參數(shù),函數(shù)調(diào)用,程序D14.C的功能是調(diào)用函數(shù)swap,將a和b

的值交換,最后在屏幕上顯示交換后的a,b之值。

#include<stdiooh)

/*********Found************

voidswap(intx,inty);〃改為:int*x,int*y

intmain(void)

inta=3,b=4;

*********Found************

sw叩(a,b);〃改為:&a,&b

printf("a=%db=%d\n",a,b);

return0;

)

/*********Found************/

voidswap(intx,inty)〃改為:int*x,int*y

(

inttmpX;

/*********Found************/

//tmpX=*x;

*x=*y;

/*********Found************/

*y=x;〃改為:*y=tmpX;

)

7、考查點:結(jié)構(gòu)體變量定義,結(jié)構(gòu)體成員的輸入、輸出,程序D16.C的功能是worker2的

信息使用結(jié)構(gòu)體存儲,從鍵盤讀入其各項信息并顯示。

#include(stdio.h>

intmain(void)

(

structWKER

longID;

longintnum;

charname[20];

charsex;

(*********Found***********

);〃改為:worker2;

worker?。ID=IL;

I*********Found************/

scanf("%s%s%s",&worker2onum,worker2oname,&worker2o

sex);

〃改:%ld%s%c

/*********Found************/

printf(f,worker'sinfo:num=%sname=%ssex=%s\n",

worker2onum,worker2oname,worker2osex);

〃改為:%ld%c

return0;

)

8、考查點:復(fù)合語句、變量作用域,程序D18.C的功能是從鍵盤上讀入10個大于0的數(shù),

調(diào)用函數(shù)dispMaxNum顯示其中最大的一個。

#include(stdio.h)

intmaxiNum=0;

voiddispMaxNum();

intmain(void)

inti,oneNumber,maxNumber=0;

printf("Pleaseinput10intnumber:M);

intmaxNumber=0;

*********Found************

________//{

for(i=0;i<10;i++)

(

scanf("%d”,&oneNumber);

if(oneNumber>maxNumber)

maxNumber=oneNumber;

}

)

)

/*********Found************/

//maxiNum-maxNumber

*********Found************

________//)

dispMaxNum();

return0;

)

voiddispMaxNum()

I*********Found************/

printf(,fmaxNumber=%d\n",maxiNum);

}

9、考查點:循環(huán)條件表示,循環(huán)體中改變循環(huán)條件,程序D1011.c的功能是從輸入數(shù)據(jù)

中統(tǒng)計正整數(shù)和負整數(shù)的個數(shù)。用輸入0來結(jié)束輸入,變量i存放正整數(shù)個數(shù),變量j存

放負整數(shù)的個數(shù)。

#include<stdio.h>

intmain(void)

inti=0,j=0,n;

printf("\ninputnumbers:");

scanf(M%d”,&n);

*********Found*********/

while()〃n或者n!=0

if(n>0)

)

if(n<0)

}

/*********Found*********/

//scanf("%d",&n);

)

printf("i=%d,j=%dn,i,j)

return0;

)

考查點:枚舉算法,語句條件,條件判斷,程序的功能是顯示用、、

10.forD1012oc12

3、4個數(shù)字組成的互不相同且無重復(fù)數(shù)字的三位數(shù).

#include<stdio.h>

intmain(void)

inti,j,k;

*********Found************

for(i=l;;i++)〃改為:i<5

for(j=l;j<5;j++)

for(k=l;k(5;k++)

/*********Found************

if(i!=k&&i!=j&&)//j!=k

printf("%d%d%d”,

)

)

)

)

return0;

)

11、考查點:數(shù)組逆序存放,循環(huán)次數(shù)控制片奐位操作的實現(xiàn),程序D1013.C的功能是將

一個數(shù)組中的值按逆序重新存放。例如,原來順序為8,6,5,4,1,要求改為1,4,5,

6,8。

#include(stdiooh>

#defineN10

intmain(void)

inta[N],i,temp;

printf("pleaseinput%dintegernumbers:\n",N);

for(i=0;i<N;i++)

scanf("%dn,&a[i]);

)

printf("thearraybeforereverse:'—);

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

(

printf("%d",a[i]);

)

printf("\n");

*********Found************/

for(i=0;i<N;i++)〃改為:i<N-1—i;

/*********Found************y

a[i]=a[N—i];〃改為:a[N—1-i]

*********Found**********

a[N-i]=temp;〃改為:a[N—1—i]

)

printf(''thearrayafterreverse:\n");

for(i=0;i<N;i++)

printf(,r%d",a[i]);

)

printf("\n");

return0;

)

12、考查點:排序算法的實現(xiàn),排序條件,數(shù)據(jù)交換、字符數(shù)組的處理,程序D1014oc

的功能是將字符數(shù)組a中元素從大到小排列(值相同的元素不交換位置)。

#include<stdiooh)

#include(stringoh)

intmain(void)

(

inti,j,k;

chara[]="language",t;

k=strlen(a);

for(i=0;i<k;i++)

(

for(j=i+l;j<k;j++)

(

/*****Found*****/

if(a[i]>ag])〃改為:a[i]<a[j]

(

t=a[j];

/*****Found…**/

a[i]=a[j];//??:a[j]=a[i]

a[i]

)

)

)

printf("%s\n",a);

return0;

)

13、考查點:數(shù)組元素下標,數(shù)組作函數(shù)參數(shù),程序D1015.C的功能是定義一個整型數(shù)組,

采用子函數(shù)實現(xiàn)數(shù)據(jù)輸入.

#include<stdio.h>

voidinput(inta[],intn);

intmain(void)

inta[10],i;

/*********Found************

input(a[10],10);〃改為:a

for(i=0;i<10;i++)

printf(,f%d",a[i]);

)

return0;

}

voidinput(inta[]fintn)

inti;

for(i=0;i<n;)

(

w

scanf(%d"r&a[i]);

/*********Found************/

i-;〃改為:i++

)

)

14.考查點:函數(shù)調(diào)用,字符串結(jié)束標志的使用,程序D1018.C的功能是通過函數(shù),將一個

字符串中的元音字母復(fù)制到另一字符串,然后輸出。

#include<stdio.h)

#include(string.h>

voidvowel(charstrl[],charstr2[]);

intmain(void)

(

charstrl[81],str2[81];

printf("pleaseinputthestring:\n");

gets(strl);

/*********Found************/

vowel(________________);〃改為:strl,str2

printfC*thevowelstringis:\n");

puts(str2);

if(strlen(str2)==0)

(

printf("NONE!\n");

)

return0;

)

voidvowel(charstrl[],charstr2[])

(

inti,j=0;

/******…Found************/

for(i=0;;i++)〃改為:strl。]

(

if(strl[i]==rA'||strl[i]=='Er||strl[i]==T

||strl[i]==Or||strl[i]==fU'||strl[i]==*a'

||strl[i]=='e'||strl[i]=='i>||strl[i]=='o'

IIstrl[i]=='u')

str2[j]=strl[i];

)

)

str2[j]='\0';

)

15、考查點:函數(shù)聲明、函數(shù)定義、函數(shù)調(diào)用,表達式統(tǒng)計,程序D1019.C的功能是計算

輸出10個學(xué)生的平均成績。

#include<stdio.h)

/*****Found*****/

average(doublex,y);〃改為:doubleaverage和inty

intmain(void)

{

inti;

doublescore,total;

doubleaver;

printfC*Pleaseenterthel'sgrade\n");

scanf(n%lf",&total);

for(i=2;i<=10;i++)

(

printf("Pleaseenterthe%d'sgrade\n",i);

scanf("%lfrr,&score);

/*****Found*****/

total=score;〃改為:total=total+score;

)

aver=average(total,10);

printf(rrTheaverage:%f\n",aver);

return0;

)

/*****Found*****/

average(doublex,y)〃〃改為:doubleaverage和inty

(

returnx/y;

}

、考查點:遞歸函數(shù)定義(遞歸返回),函數(shù)頭,程序的功能是使用遞歸實現(xiàn)

16D1020oc

數(shù)的計算,?、、。.,第項為

FibonacciFn=Fnl+Fn—2(1120713).

#include(stdio.h>

intf(intn);

/*****Found*****/

intmain(void);〃改為:去掉‘;’

(

print”“F(7)=%d\n",f(7));

return0;

)

intf(intn)

if(n<=2)

(

/*****Found*****/

return2;〃改為:1

)

returnf(n—1)+f(n—2);

)

17、考查點:函數(shù)聲明,變量作用域,函數(shù)調(diào)用,函數(shù)定義,指針作為函數(shù)的參數(shù),程序

的功能是通過一個加法子函數(shù),輸入兩個浮點數(shù),求和。

D10226c

#include<stdiooh>

*********Found************

//改為:

intadd(floatxrfloaty);float

intmain(void)

floata,b

scanf(/,%f%f",&a,&b);

********Found************

/r〃改為:

printf("sum=%f\n,add(x,y));arb

return0;

}

******…Found************

floatadd(floatx,floaty);〃改為:去掉‘;‘

(

returnx+y;

)

18、程序D1054.C的功能是:從鍵盤讀入兩個整數(shù),對它們進行按位異或操作,把操作

結(jié)果按二進制位放在字符數(shù)組str中,最后輸出該字符串。提示:第2個空建議使用條件表達

式(?表達式)實現(xiàn)!

圖1程序運行效果示例

#include<stdio.h)

intmain(void)

{

unsignedlongintnumber,numl,num2,mask;

inti;

charstr[33];

printf(MPleaseinputnumlandnum2:");

scanf("%lu%lu”,&numl,&num2);

*********Found************/

mask=〃改為:0x80000000

number=numlAnum2;

for(i=0;i<32;i++)

/*********Found************/

str[i];〃改為:(mask&number)?:'0'

mask>)=1;

)

str[32]='\0

printf("%luA%lu=%s\n”,numl,num2,str);

return0;

)

難度3

1、考查點:符號常量定義,const常量的使用,指針變量的移位操作,程序D10.C的功能

是將字符串str2顯示在屏幕上。

#include<stdio.h)

/*********Found************/

#defineSTART//改為:#defineSTART{

*********Found************

#defineNEXT〃改為:#defineNEXT}

intmain(void)

char*str2=;

constinti=0;

for(printf(M\n");str2[i];)

START

putchar(str2[i]);

*********found************/

i++;//改為:str2++

NEXT

return0;

}

2、考查點:字符數(shù)組下標控制,字符串結(jié)束標志,條件表達,程序D13.C的功能是從鍵盤

輸入最多10個字符(遇換行則停止輸入)到數(shù)組Buf中,然后在屏幕上顯示。

#include<stdiooh)

intmain(void)

charc,Buf[11];

intpos;

*********Found************

for(pos=1;pos<=10;pos++)〃改為:0和〈

/*********Found************

if((c=getchar()二二'\n')〃改為:后面加)

break;

)

Buf[pos]=c;

)

*********found************

〃改為:Buf[pos]=AO

printf("%s\n,r,Buf);

return0;

}

3、考查點:指針變量的使用,指針作函數(shù)參數(shù),函數(shù)調(diào)用,程序D15。c的功能是調(diào)用函

數(shù)swap,將a和b的值交換,最后在屏幕上顯示交換后的a,b之值。

#include(stdio.h>

voidswap(int*x,int*y);

intmain(void)

inta=3,b=4;

/★★★★★★★★★Found***★★★***

swap(*a,*b);〃改為:&a,&b

*********Found************/

printf("a=%db=%d\n",&a,&b);〃去掉&

return0;

)

voidswap(int*x,int*y)

int*tmp,tsX;

*********Found************/

*tmp=x;〃改為:tsX=*x

x=y;

/*********Found************/

*y=*tmp;〃改為:tsX

)

4、考查點:函數(shù)定義、字符數(shù)組、靜態(tài)變量的使用、指針作函數(shù)參數(shù),函數(shù)調(diào)用,程序D17.C

的功能是函數(shù)userLogin的功能主要是統(tǒng)計并返回登錄的用戶數(shù),用戶名最長30字節(jié)。

#include(stdiooh>

longuserLogin(char*userName);

intmain(void)

/*********Found***********7

char*userName31;〃改為:userName31[31]

longcurUserCnt=0;

while(1)

(

printf("user%ld,inputyourName:",curUserCnt+1);

scanf("%s”,userName31);

curUserCnt=userLogin(userName31);

}

return0;

)

longuserLogin(char*userName)

(

/*********Found************/

longuserNum=0;〃改為:staticlong

userNum++;

printf("welcomeuser%s.Therehave%ldusersinsystemo\n",

userName,userNum);

]*********Found************/

return;〃改為:userNum;

)

5、考查點:函數(shù)返回值、字符變量、字符指針變量、字符串結(jié)束,程序D19。c的功能是

將inBuf中字符串拆分成一個個的單詞。

程序說明:

(1)單詞之間的分隔符由串divChar,程序中定義為";?!,?!蛋硕?/p>

(2)函數(shù)getStrFromBuf的功能是從Buf的開始處尋找第一個單詞,將找到的

單詞作為一個字符串復(fù)制到Str處,divStr指明單詞間的分隔符。GetStrFromBuf的返回

值指向已找到單詞的下一個字符。

(3)函數(shù)charlnStr的功能是判斷字符t是否出現(xiàn)在串Str中.

(4)主程序的功能是將inBuf中的所有單詞在屏幕上顯示出來。

#include(stdiooh>

#defineYes1

#defineNo0

char*getStrFromBuf(char*Buf,char*Str,char*divStr);

intcharlnStr(char*Str,chart);

intmain(void)

(

charinBuf[100]=">howoldare/you?”,*point,

oneWord[20];

;

chardivChar[]=";?!,o)/\\"

point=inBuf;

while(*point)

(

/*********found************/

getStrFromBufpoint,oneWord,divChar);〃右邊力口上:point=

if(*oneWord)

puts(oneWord

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論