2023年全國計算機(jī)二級C語言程序改錯題_第1頁
2023年全國計算機(jī)二級C語言程序改錯題_第2頁
2023年全國計算機(jī)二級C語言程序改錯題_第3頁
2023年全國計算機(jī)二級C語言程序改錯題_第4頁
2023年全國計算機(jī)二級C語言程序改錯題_第5頁
已閱讀5頁,還剩132頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

目錄

題目一前N項和問題。錯誤!未定義書簽。

題目二SS字符串問題.............................................錯誤!未定義書簽。

題目三變量互換問題1。錯誤!未定義書簽。

題目三變量互換問題2......................................................................................錯誤!未定義書簽。

題目三變量互換問題3......................................................................................錯誤!未定義書簽。

題目四最大公約數(shù)問題。錯誤!未定義書簽。

題目五長數(shù)變短數(shù)1.......................................................................................錯誤!未定義書簽。

題目五長數(shù)變短數(shù)2。錯誤!未定義書簽。

題目五長數(shù)變短數(shù)3,錯誤!未定義書簽。

題目五長數(shù)變短數(shù)分錯誤!未定義書簽。

題目五長數(shù)變短數(shù)5,錯誤!未定義書簽。

題目五長數(shù)變短數(shù)6錯誤!未定義書簽。

題目五長數(shù)變短數(shù)7。錯誤!未定義書簽。

題目五長數(shù)變短數(shù)8錯誤!未定義書簽。

題目五長數(shù)變短數(shù)9。錯誤!未定義書簽。

題目六斐波拉契數(shù)列。錯誤!未定義書簽。

題目七鏈表1錯誤!未定義書簽。

題目七鏈表2錯誤!未定義書簽。

題目七鏈表3錯誤!未定義書簽。

題目七鏈表4錯誤!未定義書簽。

題目八非素數(shù)問題。錯誤!未定義書簽。

題目九排序問題1。錯誤!未定義書簽。

題目九排序問題2,錯誤!未定義書簽。

題目九排序問題3。錯誤!未定義書簽。

題目九排序問題4。錯誤!未定義書簽。

題目九排序問題5。錯誤!未定義書簽。

題目九排序問題6錯誤!未定義書簽。

題目九排序問題6。錯誤!未定義書簽。

題目九排序問題7錯誤!未定義書簽。

題目十平均值問題1錯誤!未定義書簽。

題目十平均值問題2錯誤!未定義書簽。

題目十平均值問題3。錯誤!未定義書簽。

題目十平均值問題分錯誤!未定義書簽。

題目十平均值問題5。錯誤!未定義書簽。

題目十一字符串連接1。錯誤!未定義書簽。

題目十一字符串連接2。錯誤!未定義書簽。

題目十一字符串連接3錯誤!未定義書簽。

題目十一字符串連接4錯誤!未定義書簽。

題目十二求和問題1錯誤!未定義書簽。

題目十二求和問題2錯誤!未定義書簽。

題目十二求和問題3。錯誤!未定義書簽。

題目十二求和問題4錯誤!未定義書簽。

題目十二求和問題5。錯誤!未定義書簽。

題目十二求和問題60錯誤!未定義書簽。

題目十二求和問題7。錯誤!未定義書簽。

題目十二求和問題8錯誤!未定義書簽。

題目十二求和問題9錯誤!未定義書簽。

題目十二求和問題10錯誤!未定義書簽。

題目十二求和問題11錯誤!未定義書簽。

題目十二求和問題12。錯誤!未定義書簽。

題目十二求和問題13.錯誤!未定義書簽。

題目十二求和問題14。錯誤!未定義書簽。

題目十二求和問題15.........................................................................................錯誤!未定義書簽。

題目十二求和問題16。錯誤!未定義書簽。

題目十二求和問題17.........................................................................................錯誤!未定義書簽。

題目十二求和問題18。錯誤!未定義書簽。

題目十二求和問題19...........................................................................................錯誤!未定義書簽。

題目十三整數(shù)問題...............................................錯誤!未定義書簽。

題目十四字符串逆置.............................................錯誤!未定義書簽。

題目十五進(jìn)制轉(zhuǎn)換1............................................................................................錯誤!未定義書簽。

題目十五進(jìn)制轉(zhuǎn)換2。錯誤!未定義書簽。

題目十六素數(shù)問題1。錯誤!未定義書簽。

題目十六素數(shù)問題2............................................................................................錯誤!未定義書簽。

題目十六素數(shù)問題3............................................................................................錯誤!未定義書簽。

題目十六素數(shù)問題4............................................................................................錯誤!未定義書簽。

題目十六素數(shù)問題5............................................................................................錯誤!未定義書簽。

題目十七刪除字符串中指定項1。錯誤!未定義書簽。

題目十七刪除字符串中指定項2。錯誤!未定義書簽。

題目十八最小公倍數(shù)問題.........................................錯誤!未定義書簽。

題目十九字符串替換問題1。錯誤!未定義書簽。

題目十九字符串替換問題2..............................................................................錯誤!未定義書簽。

題目二十找最長字符串。錯誤!未定義書簽。

題目二十一數(shù)組問題1。錯誤!未定義書簽。

題目二十一數(shù)組問題2......................................................................................錯誤!未定義書簽。

題目二十一數(shù)組問題3......................................................................................錯誤!未定義書簽。

題目二十二求平方根問題..........................................錯誤!未定義書簽。

題目二十三短字符串變長字符串1。錯誤!未定義書簽。

題目二十三短字符串變長字符串2。錯誤!未定義書簽。

題目二十三短字符串變長字符串3。錯誤!未定義書簽。

題目二十三短字符串變長字符串4。錯誤!未定義書簽。

題目二十四字符串s問題1...............................................................................錯誤!未定義書簽。

題目二十四字符串s問題2。錯誤!未定義書簽。

題目二十四字符串s問題3................................................................................錯誤!未定義書簽。

題目二十五求方程的根............................................錯誤!未定義書簽。

題目二十六求階乘1。錯誤!未定義書簽。

題目二十六求階乘2............................................................................................錯誤!未定義書簽。

題目二十六求階乘3。錯誤!未定義書簽。

題目二十七方陣問題。錯誤!未定義書簽。

題目二十八查找字符串中某元素的數(shù)目.............................錯誤!未定義書簽。

題目二十九最大值問題1.....................................................................................錯誤!未定義書簽。

題目二十九最大值問題2.....................................................................................錯誤!未定義書簽。

題目二十九最大值問題3。錯誤!未定義書簽。

題目三十大小寫轉(zhuǎn)換1。錯誤!未定義書簽。

題目三十大小寫轉(zhuǎn)換2。錯誤!未定義書簽。

題目三十大小寫轉(zhuǎn)換3.........................................................................................錯誤!未定義書簽。

題目三十一:計算數(shù)字位數(shù)的問題1..................................................................錯誤!未定義書簽。

題目三十一:計算數(shù)字位數(shù)的問題2...............................................................錯誤!未定義書簽。

題目三十一:計算數(shù)字位數(shù)的問題3。錯誤!未定義書簽。

題目三十一:計算數(shù)字位數(shù)的問題4。錯誤!未定義書簽。

題目三十二記錄字母數(shù)字個數(shù)問題1..........................................................錯誤!未定義書簽。

題目三十二記錄字母數(shù)字個數(shù)問題2............................................................錯誤!未定義書簽。

題目三十二記錄字母數(shù)字個數(shù)問題3。錯誤!未定義書簽。

題目三十二記錄字母數(shù)字個數(shù)問題4............................................................錯誤!未定義書簽。

題目三十三對角線問題。錯誤!未定義書簽。

題目三十四比較字符串大小。錯誤!未定義書簽。

題目一前N項和問題

.下列給定程序中函數(shù)fun的功能是:求出如下分?jǐn)?shù)序列的前n項之和。和值通過函數(shù)值

返回。

23581321_

1,2,3,5,-8-,13,"

例如,若n=5,則應(yīng)輸出8.391667。

請改正程序中的錯誤,使其得出對的的結(jié)果。

#inc1ude<stdio.h>

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

voidfun(intn)

{inta,b,c,k;doub1es;

s=0.0;a=2;b=1;

for(k=1;k<=n;k++){

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

s=s+(Doub1e)a/b;

c=a;a=a+b;b=c;

)

returns;

)

main()

{intn=5;

printf("\nThevalueoffunctionis:%1f\nn,fun(n));

(l)doublefun(intn)

(2)s=s+(double)a/b;

題目二ss字符串問題

2.下列給定程序中函數(shù)fun的功能是:記錄substr所指的子符串在str所指的字符串中出

現(xiàn)的次數(shù)。

例如,若字符串為aaas1kaaas,子字符串為as,則應(yīng)輸出2。

請改正程序中的錯誤,使它能得出對的的結(jié)果。

#inc1ude<stdio.h>

intfun(char*str,char*substr)

{inti,j,k,num=0;

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

for(i=0,str[i],i++)

for(j=i,k=0;substr[k]==str[j];k++,j++)

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

If(substr[k+l]==,\0')

{num++;

break;

)

returnnum;

}

main()

chartr[80],substr[80];

printfInputastring:z,);

gets(str);

printf(/zInputasubstring:");

gets(substr);

printf("%d\n〃,fun(str,substr));

(l)for(i=0;strLi];i++)

(2)if(substr[k+1]=='\0')

題目三變量互換問題1

2.下列給定程序中函數(shù)fun的功能是:實現(xiàn)兩個變量值的互換,規(guī)定不允許增長語句和

表達(dá)式。

例如,變量a中的值原為8,b中的值原為3,程序運營后a中的值為3,b中的值為8。

請改正程序中的錯誤,使它得出對的的結(jié)果。

#inc1ude<stdio.h>

intfun(int*x,inty)

(

intt;

/**************fourid**************/

t=x;x=y;

/*********ound**************/

return(y);

}

main()

inta3,b8;

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

b=fun(&a,b);

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

(l)t=*x;*x=y;

(2)return(t);ggreturnt;

題目三變量互換問題2

1.下列給定程序中,函數(shù)fun的功能是:實現(xiàn)兩個整數(shù)的互換。例如,給a和b分別輸入60

和65,輸出為:a=65b=60o

#include<stdio.h>

#include<conio.h>

#include<stdlib.h>

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

voiclfun(inta,b)

{intt;

/*************fourid**************/

t=b;b=a;a=t;

)

voidmain()

finta,b;

system(nCLS〃);

printf("Entera,b:");scanf(繼d%d",&a,&b);

fun(&a,&b);

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

)

(1)voidfun(int*a,int*b)

(2)t=*b;*b=*a;*a=t;

題目三變量互換問題3

2.下列給定程序中,函數(shù)fun的功能是:將主函數(shù)中兩個變量的值進(jìn)行互換。例如,若變

量a中的值為8,b中的值為3,則程序運營后,a中的值為3,b中的值為8。

#include<stdio.h>

/*************fbund**************/

voidfun(intx,inty)

{intt;

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

t=x;X=y;y=t;

)

voidmain()

{inta,b;

a=8;

b=3;

fun(&a,&b);

printfC'%d%d\n”,a,b);

)

(l)voidfun(int*x,int*y)

(2)t=*x;*x=*y;*y=t;

題目四最大公約數(shù)問題

2.下列給定程序中函數(shù)fun的功能是:求兩個非零正整數(shù)的最大公約數(shù),并作為函數(shù)

值返回。

例如,若numl和num2分別為49和21,則輸出的最大公約數(shù)為7;若num1和num2分

別為27和81,則輸出的最大公約數(shù)為27。

#include<stdio.h>

intfun(inta,intb)

{intr,t;

if(a<b){

/*******ound************/

t=a;b=a;a=t;

}

r=a%b;

while(r!=0)

{a=b;b=r;r=a%b;}

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

return(a);

)

mainO

{intnum1,num2,a;

printf("Inputnumlnum2:〃);scanf(z,%d%d,z,&numl,&num2);

printf(〃numl=%dnum2=%d\n\n,z,numl,num2);

a=fun(numl,num2);

printf("Themaximuncommondivisoris%d\n\nM,a);

(l)t=a;a=b;b=t;

(2)retum(b);或returnb;

題目五長數(shù)變短數(shù)1

2.下列給定程序中函數(shù)fun的功能是:將長整型數(shù)中各位上為奇數(shù)的數(shù)依次取出,

構(gòu)成一個新數(shù)放在t中。高位仍在高位,低位仍在低位。

例如,當(dāng)s中的數(shù)為87653142時,t中的數(shù)為7531。

#inc1ude<stdio.h>

voidfun(Iongs,long*t)

{intd;

longsl=l;

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

t=0;

while(s>0)

{d=s%l0;

/************fourid************/

if(d%2==0)

{*t=d*si+*t;

Os1*=10;

)

s/=10;

}

)

main()

{Iongs,t;

printf(,z\nPieaseenters:〃);scanf(〃%ld〃,&s);

fun(s,&t);

printf(/zTheresultis:%ld\n,z,t);

(1)九二0;

(2)if(d%2!=0)或if(d%2=l)

題目五長數(shù)變短數(shù)2

2.下列給定程序中函數(shù)fun的功能是:將長整型數(shù)中各位上為偶數(shù)的數(shù)依次取出,構(gòu)成一個新

數(shù)放在t中。高位仍在高位,低位仍在低位。

例如,當(dāng)s中的數(shù)為87653142時,t中的數(shù):8642。

#include<stdio.h>

voidfun(1ongs,long*t)

{intd;

1ongsl=l;

*t=0;

whi1e(s>0)

{d=s%l0;

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

if(d%2=0)

{*t=d*sl+*t;

si*=10;

}

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

s\=10;

)

}

main()

{Iongs,t;

printf("\nPleaseenters:〃);scanf&s);

fun(s,4t);

printf("TheresuItis:%1d\nt);

(1)if(d%2=0)

(2)s/=10;

題目五長數(shù)變短數(shù)3

2.下列下列給定程序中,函數(shù)fun的功能是:從低位開始依次取出長整型變量s中奇數(shù)位上的

數(shù),構(gòu)成一個新數(shù)存放在t中。高位仍在高位,低位仍在低位。

例如,當(dāng)s中的數(shù)為7654321時,t中的數(shù)為7531。

#inc1ude<stdio.h>

/***********ound************/

voidfun(Iongs,longt)

{longs1=10;

*t=s%10;

while(s>0)

{s=s/100;

*t=s%l0*si+*t;

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

os1=sl*100;

}

)

main()

{Iongs,t;

printf(〃\nPleaseenters:〃);seanf(0%1dz,,&s);

fun(s,&t);

printf("Theresu1tis:%1d\n,/,t);

}

(l)voidfun(1ongs,1ong*t)

(2)s1=s1*10;

題目五長數(shù)變短數(shù)4

2.下列給定程序中函數(shù)fun的功能是:從低位開始依次取出長整型變量s中偶數(shù)位上

的數(shù),構(gòu)成一個新數(shù)放在t中。高位仍在高位,低位仍在低位。

例如,當(dāng)s中的數(shù)為7654321時,t中的數(shù)為642。

#inc1ude<stdio.h>

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

voidfun(1ongs,Iongt)

{longsl=10;

s/=10;

*t=s%10;

/*******ound************/

while(s<0)

{s=s/100;

*t=s%10*si+*t;

s1=si*10;

)

}

main()

{longs,t;

printf("\nPleaseenters:〃);scanf("%1&s);

fun(s,&t);

printf(,ZTheresultis:%ld\n'*,t);

}

(1)voidfun(1ongs,long九)

(2)while(s>0)

題目五長數(shù)變短數(shù)5

1.下列給定程序中,函數(shù)fun的功能是:將字符串s中位于奇數(shù)位置的字符或A

sen碼值為偶數(shù)的字符依次放入字符串t中。例如,字符串中的數(shù)據(jù)為“AA

BBCCDDEEFF",則輸出應(yīng)當(dāng)是"ABBCDDEFF”。

#inc1ude<stdlib.h>

#include<conio.h>

#include<stdio.h>

#include<string.h>

#defineN80

voidfun(char*s,chart[])

(

inti,j=0;

for(i=0;i<(int)str1en(s);i++)

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

if(i%2&&s[i]%2==0)

t[j++]=s[i];

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

t[i]='\O';

voidmain()

chars[N],t[N];

system("CLSH);

printf("\nPleaseenterstrings:;

gets(s);

fun(s,t);

printf(,/\nTheresultist);

}

(l)if(i%2I|s[i]%2=0)或if(i%2!=0I|s[i]%2==0)

(2)t[j]='\0';或t[j)=0;

題目五長數(shù)變短數(shù)6

1.下列給定程序中,函數(shù)fun的功能是:依次取出字符串中所有的數(shù)字字符,形成新的字符

串,并取代原字符串。

#inelude<stdlib.h>

#inelude<stdio.h>

#include<conio.h>

voidfun(char*s)

{inti,j;

for(i=0,j=0;s[i]!='\0';i++)

if(s[i]>='0,&&s[i]<='9')

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

s[j]=s[i];

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

}

voidmain()

{charitem[80];

system(〃CLS〃);

printf('*\nEnterastring:〃);gets(item);

printf(〃\n\nThestringis:%s\n〃,item);

fun(item);

printf(n\n\nThestringofchangingis:%s\nz,,item);

)

(l)s[j++]=s[i];

(2)s[j]='\0';

題目五長數(shù)變短數(shù)7

2.下列給定程序中,函數(shù)fun的功能是:求整數(shù)x的y次方的低3位值。例如,整數(shù)5的6

次方為15625,此值的低3位值為625。

#inelude<stdio.h>

Iongfun(intx,inty,1ong*p)

{inti;

longt=l;

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

for(i=1;i<y;i++)

t=t*x;

*p=t;

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

t=t/looo;

returnt;

)

voidmain()

{Iongt,r;intx,y;

printf(n\nInputxandy:");

scanfC%1d%ldn,&x,&y);

t=fun(x,y,&r);

printf(''\n\nx=%d,y=%d,r=%ld,last=%ld\n\n",x,y,r,t);

)

(1)for(i=1;i<=y;i++)

⑵t=t%1000;

題目五長數(shù)變短數(shù)8

2.給定程序MODI1.C中,fun函數(shù)的功能是:刪除b所指數(shù)組中小于10的數(shù)據(jù)。主函

數(shù)中輸出刪除后數(shù)組中余下的數(shù)據(jù)。

#inc1ude<stdio.h>

#inelude<stdlib.h>

#defineN20

intfun(int*b)

(

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

intt[N],i,num

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

if(b[i]>=10)

/**********fbund**********/

t[++num]=b[i];

/**********found***,/V******/

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

b[i]=t[i];

return(num);

)

main()

{inta[N],i,num;

printf(na數(shù)組中的數(shù)據(jù):\n");

for(i=0;i<N;i++){a[i]=rand()%21;printf(n%4d';a[i]);}

printf(H\nu);

num=fun(a);

for(i=0;i<num;i++)printf(n%4d",a[i]);

printf(”\n");

)

(1)intt[N],i,num=0;

(2)t[num++]=b[i];或{t[num]=b[i];num++;}

(3)for(i=0;i<num;i++)

題目五長數(shù)變短數(shù)9

2.給定程序MODI1.C中,fun函數(shù)的功能是:在任意給定的N個正整數(shù)中,從左到右

依次逐個取三個數(shù)作為一組,按值大小找出該組數(shù)的中值,用該中值替換與該組數(shù)相應(yīng)的原

三個數(shù)中的中間位置的數(shù)。解決后原數(shù)列中首尾2個數(shù)不變。解決后數(shù)列在主函數(shù)中輸出。

例如,有10個正整數(shù)如下:

初始數(shù)列為:657231858214538

第1組數(shù)為:657中值為:6替換后的數(shù)列為:667231858

214538

第2組數(shù)為:5723中值為:7替換后的數(shù)列為:66723185821

4538

第3組數(shù)為:72318中值為:18替換后的數(shù)列為:667181858

214538

第4組數(shù)為:23185中值為:18替換后的數(shù)列為:66718185821

4538

第5組數(shù)為:1858中值為:8替換后的數(shù)列為:6671818882145

38

第6組數(shù)為:5821中值為:8替換后的數(shù)列為:66718188821

4538

第7組數(shù)為:82145中值為:21替換后的數(shù)列為:667181888

214538

第8組數(shù)為:214538中值為:38替換后的數(shù)列為:667181888

213838

最終結(jié)果為:66718188

8213838

請改正程序中指定部位的錯誤,使它能得出對的的結(jié)果。

#include<stdio.h>

#defineN10

intfindmid(inta,intb,intc)

{intt;

t=(a>b)?(b>c?b:(a>c?c:a)):((a>c)?a:((b>c)?c:b));

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

returnb;

}

voidfun(intx[])

{inti,a,b,c,t[N];

/**********^Qund**********/

for(i=0;i<N;i++)t[i]=x[i]

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

{a=t[i];b=tLi+1];c=t[i+2];

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

t[i+1]=findmid(a,b,c);

)

}

main()

{inti,xIN]={6,5,7,23,18,5,8,21,45,38);

for(i=0;i<N;i++)printf(M%dn,x[i]);

printf(H\nu);

fun(x);

for(i=0;i<N;i++)printf(n%d”,xLi]);

printf(H\nn);

)

【參考答案】

(1)returnt;(2)for(i=0;i<N;i++)t[i]=x[i];

(3)x[i+l]=findmid(a,b,c);

題目六斐波拉契數(shù)列

2.下列給定程序中函數(shù)fun的功能是:用遞歸算法計算斐波拉契數(shù)列中第n項的值。從

第1項起,斐波拉契數(shù)列為:1、1、2、3、5、8、13、21.....

例如,若給n輸入7,則該項的斐波拉契數(shù)值為13。

#inelude<stdio.h>

1ongfun(intg)

(

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

switch(g);

{case0:return0;

/**********found*********51c/

case1;case2:return1;

}

return(fun(g-l)+fun(g-2));

)

main()

{longfib;intn;

printf("Inputn:;scanf("%d〃,&n);printf(〃n=%d\n〃,n);

fib=fun(n);

printfCfib=%d\n\n〃,fib);

)

(1)去掉分號

(2)case1:case2:return1;

題目七鏈表1

1.例如,若給a輸入字符串:ABCDEFGKHIJK,調(diào)用函數(shù)后,字符數(shù)組b中的內(nèi)容為:A

BCDEFGHIJKo

N名學(xué)生的成績已在主函數(shù)中放入一個帶頭節(jié)點的鏈表結(jié)構(gòu)中,h指向鏈表的頭節(jié)點。請

編寫函數(shù)fun,其功能是:求出平均分,并由函數(shù)值返回。

#include<stdio.h>

voidfun(char*p,char*b)

{inti,k=0;

whi1e(*p)

{i=l;

whi1e(i<=3&&*p){

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

b[k]=p;

k++;p++;i++;

}

if(*p)

(

/**********fQund**********/

b[k++]=M”;

)

)

b[k]=W;

)

main()

{chara[80],b[80];

printf(nEnterastring:");gets(a);

printf(MTheorigina1string:);puts(a);

fun(a,b);

printf("\nThestringafterinsertspace:");puts(b);printf("\n

\n");

}

(1)b[k尸*p;

(2)b[k]='';k++;

題目七鏈表2

2.下列給定程序中函數(shù)Creatlink的功能是:創(chuàng)建帶頭結(jié)點的單向鏈表,并為各結(jié)點數(shù)據(jù)域

賦。到m—1的值。

#include<stdio.h>

#inelude<stdlib.h>

typedefstructaa

{intdata;

structaa*next;

}NODE;

NODE*Creatlink(intn,intm)

{NODE*h=NULL,*p,*s;

inti;

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

p=(NODE)mal1oc(sizeof(NODE));

h二p;

p—>next=NULL;

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

{s=(NODE*)malloc(sizeof(NODE));

s->data=rand()%m;s->next=p->next;

p—>next=s;p=p->next;

)

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

returnp;

)

out1ink(NODE*h)

{NODE*p;

p=h->next;

printfC\n\nTHELIST:\n\nHEAD〃);

while(p)

{printf(〃->%d〃,p->data);

p=p->next;

)

printfCXn");

)

main()

{NODE*head;

head=Creatlink(8,22);

outlink(head);

)

(l)p=(NODE*)malloc(sizeof(NODE));

(2)returnh;

題目七鏈表3

2.下列給定程序是建立一個帶頭結(jié)點的單向鏈表,并用隨機(jī)函數(shù)為各結(jié)點賦值。函數(shù)

fun的功能是將單向鏈表結(jié)點(不涉及頭結(jié)點)數(shù)據(jù)域為偶數(shù)的值累加起來,并且作為函數(shù)值返

回。

#inc1ude<stdio.h>

#inc1ude<conio.h>

#inc1ude<std1ib.h>

typedefstructaa

{intdata;

structaa*next;

}NODE;

intfun(N0DE*h)

{intsum=0;

NODE*p;

p=h->next;

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

whi1e(p->next)

{if(p->data%2==0)

sum+=p—>data;

/*************3und**************/

p=h->next;

)

returnsum;

N0DE*creat1ink(intn)

NODE*h,*p,*s;

inti;

h=p=(NODE*)malloc(sizeof(NODE));

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

(

os=(NODE*)ma11oc(sizeof(NODE));

?s—>data=rand()%16;

s—>next=p->next;

p->next=s;

叩二p—>next;

)

p->next=NULL;

returnh;

)

outlink(NODE*h)

{NODE*p;

p=h->next;

printf(M\n\nTheLIST:\n\nHEAD");

while(p)

{printf("->%d",p—>data);

p=p->next;)

printf("\n");

)

voidmain()

{NODE*head;intsum;

system(nCLS");

head=creatlink(l0);

out1ink(head);

sum=fun(head);

printf("\nSUM=%dH,sum);

)

(l)whi1e(p!=NULL)

(2)p=p->next;

題目七鏈表4

2.下列給定程序的功能是:建立一個帶頭結(jié)點的單向鏈表,并用隨機(jī)函數(shù)為各結(jié)點數(shù)據(jù)域

賦值。函數(shù)fun的作用是求出單向鏈表結(jié)點(不涉及頭結(jié)點)數(shù)據(jù)域中的最大值,并且作為函

數(shù)值返回。

#include<stdio.h>

#inc1ude<conio.h>

#inelude<std1ib.h>

typedefstructaa

{intdata;

structaa*next;

}NODE;

fun(NODE*h)

{intmax=-1;

NODE*p;

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

P=h;

while(p)

{if(p—>data>max)

max=p->data;

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

p=h->next;

)

returnmax;

)

outresuit(ints,FILE*pf)

{fprintf(pf,〃\nThemaxin1ink:%d\n〃,s);

)

NODE*creatlink(intn,intm)

{NODE*h,*p,*s;

inti;

h=p=(NODE*)malloc(sizeof(NODE));

h—>data=9999;

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

{s=(N0DE*)malloc(sizeof(NODE));

s->data=rand()%m;s->next=p->next;

p->next=s;p=p->next;

)

p->next=NULL;

returnh;

}

out1ink(N0DE*h,FILE*pf)

{NODE*p;

p=h->next;

fprintf(pf,”\nTheLIST:\n\nHEAD");

while(p)

{fprintf(pf,〃->%d",p->data);

p=p->next;}

fprintf(pf,〃\n〃);

}

main()

{NODEhead;intm:

system('*CLS");

head=creatlink(12,100);

out1ink(head,stdout);

m=fun(head);

printf(,z\nTheRESULT:\n〃);

outresu1t(m,stdout);

)

(1)p=h->next;

(2)p=p—>next;

題目八非素數(shù)問題

1.例如,若輸入"Ab,cD",則輸出"AB,CD"。

編寫函數(shù)fun,其功能是:將所有大于1小于整數(shù)m的非素數(shù)存入xx所指數(shù)組中,非素數(shù)的

個數(shù)通過k返回。

#include<stdio.h>

#inc1ude<string.h>

char*fun(chartt[])

(

inti;

for(i=0;tt[i];i++)

/********f0und****TV******I

if((T<=tt[i])|I(tt[i]<=,/))

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

11[i]+=32;

return(tt);

)

main()

{

chartt[81J;

printf("\nP1easeenterastring:");

gets(tt);

printf("\nTheresu1tstringis:\n%s">fun(tt));

)

(l)if((11[i]>=,a')&&(tt[i]<='z'))

(2)tt[i]-=32;

題目九排序問題1

2.下列給定程序中函數(shù)fun的功能是:用冒泡法對6個字符串進(jìn)行升序排列。

#include<stdio.h>

#include<string.h>

#defineMAXLINE20

fun(char*pstr[6])

{inti,j;

char*p;

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

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

for(j=i+1,j<6>j++)

(

if(strcmp(*(pstr+i),*(pstr+j))>0)

(

p=*(pstr+i);

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

*(pstr

溫馨提示

  • 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

提交評論