版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
2022年江西省九江市全國計算機(jī)等級考試C語言程序設(shè)計真題一卷(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(12題)1.設(shè)以下變量均為int類型,則值不等于7的表達(dá)式是()。
A.(x=y=6,x+y,x+1)
B.(x=y=6,x+y,y+1)
C.(x=6,x+1,y=6,x+y)
D.(y=6,y+l,x=y,x+1)
2.有以下程序:#include<stdio.h>#include<string.h>main(){charstr[][20]={“One*World”,“One*Dream!”},*p=str[1];printf(“%d,”,strlen(p));printf(“%s\n”,p);}程序運(yùn)行后的輸出結(jié)果是()。
A.10,One*Dream!
B.9,One*Dream!
C.9,One*World
D.10,One*World
3.二進(jìn)制數(shù)1110111.11轉(zhuǎn)換成十進(jìn)制數(shù)是()。
A.119.375B.119.75C.119.125D.119.3
4.有以下程序:main(){intm=3,n=4,x;x=-m++;x=x+8/++n;printf("%d\n",x);}程序運(yùn)行后的輸出結(jié)果是______。
A.3B.5C.-1D.-216
5.棧和隊列的共同點是()。
A.都是先進(jìn)先出B.都是先進(jìn)后出C.只允許在端點處插入和刪除元素D.沒有共同點
6.
7.
8.下列敘述中正確的是()
A.C語言程序必須要有return語句
B.C語言程序中,要調(diào)用的函數(shù)必須在main()函數(shù)中定義
C.C語言程序中,只有int類型的函數(shù)可以未經(jīng)聲明而出現(xiàn)在調(diào)用之后
D.C語言程序中,main()函數(shù)必須放在程序開始的部分
9.程序運(yùn)行后的輸出結(jié)果是()。
A.m=4
B.m=2
C.m=6
D.m=5
10.C語言中運(yùn)算對象必須是整型的運(yùn)算符是()。
A.%=B./C.=D.<=
11.若有定義"int(*pt)[3];",則下列說法正確的是()。
A.定義了基類型為int的三個指針變量
B.定義了基類型為int的具有三個元素的指針數(shù)組pt
C.定義了一個名為*pt、具有三個元素的整型數(shù)組
D.定義了一個名為pt的指針變量,它可以指向每行有三個整數(shù)元素的二維數(shù)組
12.數(shù)據(jù)庫DB、數(shù)據(jù)庫系統(tǒng)DBS、數(shù)據(jù)庫管理系統(tǒng)DBMS之間的關(guān)系是()。
A.DB包括DBS和DBMSB.DBMS包括DB和DBSC.DBS包括DB和DBMSD.沒有任何關(guān)系
二、2.填空題(12題)13.下面程序的功能是:計算1~10之間奇數(shù)和及偶數(shù)之和。
#include<stdio.h>
main()
{inta,b,c,i;
a=c=O;
for(i=O;i<=10;i+=2)
{a+=i;
【】;
c+=b;
}
printf("偶數(shù)之和=%d\n",a);
printf("奇數(shù)之和=%d\n",c-11);
}
14.mystrlen函數(shù)的功能是計算str所指字符串的長度,并作為函數(shù)值返回。請?zhí)羁铡?/p>
intmystrlen(char*str)
{inti;
for(i=0;【】!='\0';i++);
return(【】);
}
15.下面程序的功能是:將字符數(shù)組a中下標(biāo)值為偶數(shù)的元素從小到大排列,其他元素不變。請?zhí)羁铡?/p>
#include<stdio.h>
#include<string.h>
main()
{chara[]="clanguage",t;
inti,j,k;
k=strlen(a);
for(i=0;i<=k-2;i+=2)
for(j=i+2;j<=k;j+=2;)
if(【】)
{t=a[i];a[i]=a[j];a[j]=t;}
puts(a);
printf("\n");
}
16.下列程序的運(yùn)行結(jié)果是______。
#include<stdio.h>
main()
{intfun();
fun();
}
fun()
{staticinta[4]={1,2,3,4};
inti;
for(i=0;i<4;i++)a[i]+=a[i];
for(i=0;i<4;i++)printf("%d,",a[i]);
printf"\n");
}
17.當(dāng)循環(huán)隊列非空且隊尾指針等于隊頭指針時,說明循環(huán)隊列已滿,不能進(jìn)行人隊運(yùn)算。這種情況稱為【】。
18.C語言程序的注釋可以出現(xiàn)在程序中的任何地方,一個注釋以【】分別作為開始和結(jié)束。
19.以下程序中給指針p分配3個double型動態(tài)內(nèi)存單元,請?zhí)羁铡?/p>
#include<stdio.h>
main()
{double*p;
p=(double*)malloc((【】);
p[0]=1.5;p[1]=2.5;p[2]=3.5;
printf("%f%f%f\n",p[0],p[1],p[2]);
}
20.語句:x++;、++x;、x=x+1;、x=1+x;,執(zhí)行后都使變量x中的值增1,請寫出一條同一功能的賦值語句(不得與列舉的相同)【】。
21.函數(shù)pi的功能是根據(jù)以下公式近似求得的:
pi*pi/6=1+1/(2*2)+1/(3.3)+...+1/(n*n)
請在下面的函數(shù)中天空,完成求pi的功能。
#include<math.h>
doublepi(longn)
{doubles=0.0,longi;
for(i=1;i<<=n;i++)s=s+【】;
return(sqrt(6*s));
}
22.若已知a=10,b=20,則表達(dá)式!a<b的值為【】。
23.若定義#definePI3.14159,則執(zhí)行完下列程序后輸出結(jié)果是______。
#definePI3.14159;printf("PI=%f",PI);
24.下列程序輸出的結(jié)果是______。
intm=17;
intfun(intx,inty)
{intm=3;
return(x*Y-m);
}
main()
{inta=5,b=7;
printf("%d\n",fun(a,B)/m);
}
三、3.程序設(shè)計題(10題)25.請編寫函數(shù)fun,函數(shù)的功能是:刪去一維數(shù)組中所有相同的數(shù),使之只剩一個。數(shù)組中的數(shù)已按由小到大的順序排列,函數(shù)返回刪除后數(shù)組中數(shù)據(jù)的個數(shù)。
例如,一維數(shù)組中的數(shù)據(jù)是:2223445666677899101010。
刪除后,數(shù)組中的內(nèi)容應(yīng)該是:2345678910。
注意:部分源程序在文件PROGl.C中。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。
26.請編寫函數(shù)fun(),其功能是:計算并輸出給定10個數(shù)的方差。
其中
例如,給定的10個數(shù)為95.0,89.0,76.0,65.0,88.0,72.0,85.0,81.0,90.0,56.0,則輸出為S=11.730729。
注意;部分源程序給出如下.
請勿改動主函數(shù)mam和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的若干語句。
試題程序:
#include<math.h>
#include<stdio.h>
doublefun(doublex[10])
{
}
main()
{
doubles,x[i0]={95.0,89.0,76.0,65.0,
88.0,72.0,85.0,81.0,90.0,56.0};
inti;
printf("\nTheoriginaldatais:\n");
for(i=0;i<10;i++)
printf("%6.1f",x[i]);
printf("\n\n");
s=fun(x);
printf("s=%f\n\n",s);
}
27.請編寫一個函數(shù)intfun(int*s,intt,int*k),用來求出數(shù)組的最小元素在數(shù)組中的下標(biāo)并存放在k所指的存儲單元中。
例如,輸入如下整數(shù):
234345753134436458100321135760
則輸出結(jié)果為6,100。
注意:部分源程序給出如下。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的若干語句。
試題程序:
#include<conio.h>
#include<stdio.h>
intfun(int*s,intt,int*k)
{
}
main()
{
inta[10]={234,345,753,134,436,458,
100,321,
135,760),k;
clrscr();
fun(a,10,&k);
printf("%dr%d\n",k,a[k]);
}
28.請編寫函數(shù)fun,其功能是:計算并輸出下列多項式的值:
例如,在主函數(shù)中從鍵盤給n輸入50后,輸出為:s=1.718282。
注意:要求n的值大于1但不大于100。部分源程序在文件PROGl.C中。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。
29.假定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,它的功能是:只刪除字符串前導(dǎo)和尾部的*號,串中字母之間的*號都不刪除。形參n給出了字符串的長度,形參h給出了字符串中前導(dǎo)*號的個數(shù),形參e給出了字符串中最后*號的個數(shù)。在編寫函數(shù)時,不得使用C語言提供的字符串函數(shù)。
例如,字符串中的內(nèi)容為:****A*BC*DEF*G*******,刪除后,字符串中的內(nèi)容應(yīng)當(dāng)是:A*BC*DEF*G。
注意:部分源程序在文件PROGl.C文件中。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。
30.請編寫一個函數(shù)fun(),它的功能是:求出1到m(含m)之內(nèi)能被7或11整除的所有整數(shù)放在數(shù)組a中,通過n返回這些數(shù)的個數(shù)。
例如,若傳給m的值為50,則程序輸出:
7111421X283335424449
注意:部分源程序給出如下。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的若干語句。
試題程序:
#include<conio.h>
#include<stdio.h>
#defineM100
voidfun(intm,int*a,int*n)
{
}
main()
{
intaa[M],n,k;
clrscr();
fun(50,aa,&n);
for(k=0;k<n;k++)
if((k+1)%20==0)/*每行輸出20個數(shù)*/
{printf("%4d",aa[k]);
printf("\n");
}
else
printf("%4d",aa[k]);
printf("\n");
}
31.請編寫函數(shù)fun(),該函數(shù)的功能是:刪去一維數(shù)組中所有相同的數(shù),使之只剩一個。數(shù)組中的數(shù)已按由小到大的順序排列,函數(shù)返回刪除后數(shù)組中數(shù)據(jù)的個數(shù)。
例如,若一維數(shù)組中的數(shù)據(jù)是:
2223445666677899101010
刪除后,數(shù)組中的內(nèi)容應(yīng)該是:
2345678910。
注意:部分源程序給出如下。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的若干語句。
試題程序:
#include<stdio.h>
#defineN80
intfun(inta[],intn)
{
}
main()
{
inta[N]={2,2,2,3,4,4,5,6,6,6,6,7,7,
8,9,9,10,10,10,10},i,n=20;
printf("Theoriginaldata:\n");
for(i=0;i<n;i++)
printf("%3d",a[i]);
n=fun(a,n);
printf("\n\nThedataafterdeleted
:\n");
for(i=0;i<n;i++)
printf("%3d",a[i]);
printf("\n\n");
}
32.假定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun(),它的功能是:將字符串中的前導(dǎo)*號全部刪除,中間和后面的*號不刪除。
例如,若字符串中的內(nèi)容為****A*BC*DEF*G*******,刪除后,字符串中的內(nèi)容則應(yīng)當(dāng)是A*BC*DEF*G*******。
注意:部分源程序給出如下。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的若干語句。
試題程序;
#include<stdio.h>
#include<conio.h>
voidfun(char*a)
{
}
main()
{
chars[81];
printf("Enterastring:\n");
gets(s);
fun(s);
printf("Thestringafterdeleted:\n");
puts(s);
}
33.請編一個函數(shù)voidfun(inttt[M][N],intpp[N],tt指向一個M行N列的二維數(shù)組,求出二維數(shù)組每列中最大元素,并依次放入pp所指的一維數(shù)組中。二維數(shù)組中的數(shù)已在主函數(shù)中給出。
注意:部分源程序給出如下。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的若干語句。
試題程序:
#include<conio.h>
#include<stdio.h>
#defineM3
#defineN4
voidfun(inttt[M][N],intpp[N])
{
}
main()
{
intt[M][N]={{68,32,54,12},{14,24,88,
58},{42,22,44,56}};
intp[N],i,j,k;
clrscr();
printf("Theriginaldatais:\n");
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
printf("%6d",t[i][j]);
printf("\n");
}
fun(t,p);
printf("\nTheresultis:\n");
for(k=0;k<N;k++)
printf("%4d",p[k]);
printf("\n");
}
34.假定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun(),它的功能是:將字符串尾部的*號全部刪除,前面和中間的*號不刪除。
例如,若字符串中的內(nèi)容為****A*BC*DEF*G*******刪除后,字符串中的內(nèi)容則應(yīng)當(dāng)是****A*BC*DEF*G。
注意:部分源程序給出如下。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)6ln的花括號中填入所編寫的若干語句。
試題程序:
#include<stdio,h>
#include<conio.h>
voidfun(char*a)
{
}
main()
{
chars[81];
printf("Enterastring:\n");
gets(s);
fun(s);
printf("Thestringafterdeleted:\n");
puts(s);
}
四、單選題(0題)35.有以下程序
#include<stdio.h>
intfun()
{staticintx=1;
x*2;returnx;
}
main()
{inti,s=1,
for(i=1;i<=2;i++)s=fun();
printf("%d\n",s);
}
程序運(yùn)行后的輸出結(jié)果是A.A.0B.1C.4D.8
五、單選題(0題)36.以下函數(shù)不能用于向文件中寫入數(shù)據(jù)的是()。
A.hellB.fwriteC.fputcD.fprintf
六、單選題(0題)37.有以下程序:#include<stdio.h>main{intx=4,y;do{y=x;if(!y)printf(“x”);elseprintf(“y”):x--;}while(x);}程序的輸出結(jié)果是()。A.xyyxB.yyyyC.yyxxD.yxyx
參考答案
1.C
2.A函數(shù)“strlen(char*s)”;計算字符串s的長度,不包括‘\\0’在內(nèi)。p指向數(shù)組的第2個元素,因此“Strien(P)=10”,并輸出“one*Dream!”。故本題答案為A選項。
3.B
4.D解析:本題主要考查++執(zhí)行的次序。執(zhí)行過x=-m++;后,x=-3,m=4;執(zhí)行x=x+8/++n;時8/++n=1;因此最后x=-216。
5.C解析:棧和隊列都是一種特殊的操作受限的線性表,只允許在端點處進(jìn)行插入和刪除。二者的區(qū)別是:棧只允許在表的一端進(jìn)行插入或刪除操作,是一種“后進(jìn)先出”(或“先進(jìn)后出”)的線性表;而隊列只允許在表的一端進(jìn)行插入操作,在另一端:進(jìn)行刪除操作,是一種“先進(jìn)先出”(或“后進(jìn)后出”)的線性表。因此棧和隊列的共同點是只允許在端點處插入和刪除元素。
6.C
7.D
8.C
9.C[解析]第一次外循環(huán)的值為1.第一次內(nèi)循環(huán)的值為3.不滿足條件執(zhí)行m*=j即m的值為3;第二次的值為2.不滿足條件執(zhí)行m*=*j,即m的值為6;第三次的值為1.不滿足條件執(zhí)行m*=j,即m的值仍為6.第二次外循環(huán)的值為2.j的值為3.滿足條件,執(zhí)行break語句,跳出循環(huán)。
10.A解析:C++語言規(guī)定:取余運(yùn)算符的運(yùn)算對象必須是整型,復(fù)合運(yùn)算符“%=”中包含%運(yùn)算,它的運(yùn)算對象也必須是整型。
11.D\n數(shù)組指針是指向數(shù)組的一個指針,int(*pt)[3]表示一個指向3個int元素的數(shù)組的一個指針。
\n
12.CC?!窘馕觥繑?shù)據(jù)庫系統(tǒng)(DBS)由數(shù)據(jù)庫(DBS)、數(shù)據(jù)庫管理系統(tǒng)(DBMS)、數(shù)據(jù)庫管理員、硬件平臺和軟件平臺五個部分組成,可見DB和DBMS都是DBS的組成部分。
13.b=i+1
14.str[i]或str+iistr[i]或str+i\r\ni
15.a[i]>a[j]a[i]>a[j]解析:本題中的嵌套的循環(huán)結(jié)構(gòu)用在了數(shù)組元素的排序上。本題需要注意的一點是:由于題目只要求將下標(biāo)值為偶數(shù)的元素從小到大排序,所以內(nèi)外層for循環(huán)的條件變量變更條件都是+=2。最后通過條件a[i]>a[j]對元素大小進(jìn)行判斷并交換。
16.24682,4,6,8解析:子函數(shù)fun()的功能是將數(shù)組a中的元素都自加一遍,然后仍然將結(jié)果存在原數(shù)組中,其實就是將數(shù)組a的每個元素都變?yōu)樵瓉淼?倍,然后輸出。在主程序中首先通過intfun()定義了子函數(shù)fun(),然后再調(diào)用fun()。
17.上溢上溢解析:入隊運(yùn)算是指在循環(huán)隊列的隊尾加入一個新元素。這個運(yùn)算有兩個基本操作:首先將隊尾指針進(jìn)一(即rear=rear+1),并當(dāng)rear=m+1時,置rear=1;然后將新元素插入隊尾指針指向的位置。當(dāng)循環(huán)隊列非空(s=1)且隊尾指針等于隊頭指針時,說明循環(huán)隊列已滿,不能進(jìn)行人隊運(yùn)算,這種情況稱為“上溢”。
18./**//**/解析:C語言程序的注釋可以出現(xiàn)在程序基本單詞之間的任何地方,C語言程序的注釋以“/*”作為開始標(biāo)記,并以“*/”作為結(jié)束標(biāo)記。
19.3*sizeof(double)或size(double)*3或24或3*8或8*33*sizeof(double)或size(double)*3或24或3*8或8*3解析:該函數(shù)的調(diào)用格式是malloc(n),作用是申請n個字符的存儲單元,并返回該存儲區(qū)的首地址,實際調(diào)用的時候可在前面加上“(類型說明符*)”,以轉(zhuǎn)換成需要的類型的地址。所以在此空白處應(yīng)該填寫3*sizeof(double)或size(double)*3或其他等價的表達(dá)式。
20.x+=1;
21.1.0/i/i或1.0/(i*i)1.0/i/i或1.0/(i*i)解析:由題面中提供的計算pi的公式可知:在第i項其值為1/(i*i),考慮到運(yùn)算結(jié)果為浮點數(shù),故必須要將1轉(zhuǎn)化為浮點數(shù)或采用1.0/(i*i)的形式。故本題應(yīng)填1.0/(i*i)或其等效形式。
22.11解析:計算表達(dá)式!a<b,先計算!a,因a的值為10,!a的值為0,而關(guān)系表達(dá)式0<20為真,所以表達(dá)式!a<b的值為1。
23.PI=3.14159PI=3.14159解析:本題先定義了一個宏名PI,以后在程序中出現(xiàn)PI都用3.14159替代,但是C語言規(guī)定:雙引號中的宏名是不進(jìn)行替換的。
24.11解析:本題考查局部變量和全局變量的區(qū)別:局部變量是指作用域在函數(shù)級和塊級的變量,全局變量是指作用域在程序級和文件級的變量。本程序首先定義了一個全局變量m=17,m=17的作用域在整個程序內(nèi)。在fun函數(shù)內(nèi)部定義了一個局部變量m=3,m=3的作用域僅在fun函數(shù)內(nèi)部,通過fun函數(shù)返回兩個形參的積再減m。在主函數(shù)中,輸出fun(a,b)/m=(5*7-3)/17=1。
25.
解析:該程序功能是刪去一維數(shù)組中所有相同的數(shù),使之只剩一個。解題思路是,首先在函數(shù)中定義臨時變量指向每一個元素,然后在循環(huán)過程中將臨時值和其他元素進(jìn)行比較,如果相同,那么跳過相同字符。
26.doublefun(doublex[10]){doublexl=0.0s=0.0;inti;for(i=0;i<10;i++)xl=xl+x[i];xl-xl/10;/*求10個數(shù)的平均值*/for(i=0;i<l0;i++)s=s+(x[i]-xl)*(x[i]-x1);returnsqrt(s/l0);/*求10個數(shù)的方差*/}doublefun(doublex[10])\r\n{\r\ndoublexl=0.0,s=0.0;\r\ninti;\r\nfor(i=0;i<10;i++)\r\nxl=xl+x[i];\r\nxl-xl/10;\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000/*求10個數(shù)的平均值*/\r\nfor(i=0;i<l0;i++)\r\ns=s+(x[i]-xl)*(x[i]-x1);\r\nreturnsqrt(s/l0);\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000/*求10個數(shù)的方差*/\r\n}解析:又是一道算式表達(dá)題,程序中用第1個循環(huán)來完成求10個數(shù)的總和,接著再用x1=x1/10來求出平均值。
27.intfun(int*sinttint*k){inti;*k=0/*k所指的數(shù)是數(shù)組的下標(biāo)值*/for(i=0;i<t;i++)if(s[*k]>s[i])*k=i;/*找到數(shù)組的最小元素把該元素的下標(biāo)賦給k所指的數(shù)*/returns[*k];/*返回數(shù)組的最小元素*/}intfun(int*s,intt,int*k)\r\n{\r\ninti;\r\n*k=0/*k所指的數(shù)是數(shù)組的下標(biāo)值*/\r\nfor(i=0;i<t;i++)\r\nif(s[*k]>s[i])\r\n*k=i;/*找到數(shù)組的最小元素,把該元素的下標(biāo)賦給k所指的數(shù)*/\r\nreturns[*k];/*返回數(shù)組的最小元素*/\r\n}解析:本題中直接使用指針變量k,但在使用時要注意對k的指針運(yùn)算,此外,一開始應(yīng)讓*k的值為數(shù)組中的某一下標(biāo)值勤,即*k=0。
28.
解析:該程序功能是計算并輸出多項式值。根據(jù)題干中給出的數(shù)列,首先推出每一項的表達(dá)式,然后再對多項式進(jìn)行累加求和。
29.
解析:該程序功能是刪除字符串前導(dǎo)和尾部的“*”號。解題過程是根據(jù)主函數(shù)中求出的前導(dǎo)和尾部的“*”數(shù)目,作為for循環(huán)條件,并且在循環(huán)過程中第一個非“*'號開始前移,實現(xiàn)函數(shù)功能。
30.voidfun(intmint*aint*n){intij=0;for(i=1;i<=m;i++)if(i%7==0||i%11==0)/*求出1到m(含m)之內(nèi)能被7或11整除的所有整數(shù)放在數(shù)組a中*/a[j++]=i;*n=j;/*返回這些數(shù)的個數(shù)*/}voidfun(intm,int*a,int*n)\r\n{\r\ninti,j=0;\r\nfor(i=1;i<=m;i++)\r\nif(i%7==0||i%11==0)/*求出1到m(含m)之內(nèi)能被7或11整除的所有整數(shù)放在數(shù)組a中*/\r\na[j++]=i;\r\n*n=j;/*返回這些數(shù)的個數(shù)*/\r\n}解析:本題要找出能被7或11整除的所有整數(shù),注意數(shù)學(xué)中的“或”和C語言中的“或”的區(qū)別,但在此處,if條件語句中用了“||”運(yùn)算符,若要找能同時被7和11整除的所有整數(shù)則在if()中應(yīng)用“&&”運(yùn)算符。
31.intfun(inta[]intn){intij=l;for(i=1;i<n;i++)if(a[j-1]!=a[i])/*若該數(shù)與前一個數(shù)不相同則要保留*/a[j++]=a[i];returnj;/*返回不同數(shù)的個數(shù)*/}intfun(inta[],intn)\r\n{\r\ninti,j=l;\r\nfor(i=1;i<n;i++)\r\nif(a[j-1]!=a[i])/*若該數(shù)與前一個數(shù)不相同,則要保留*/\r\na[j++]=a[i];\r\nreturnj;/*返回不同數(shù)的個數(shù)*/\r\n}解析:本題程序的流程是:讓i,j都從1開始,其中j用于控制刪除后剩下的數(shù)中的下標(biāo),i用于搜索原數(shù)組中的元素。j始終是新數(shù)組已有元素中最后一個元素的下一個元素的下標(biāo),所以if()中的條件是a[j-1]!=a[i],其中a[j-1]就是新數(shù)組中的最后一個元素,若條件成立,則表示出現(xiàn)了不同的值,所以a[i]要留下到新數(shù)組中。注意本題中i,j的初值都要從1開始,該算法只能用于數(shù)組已排序的題目中。
32.voidfun(char*a){char*p=a;while(*P==‘+’)p++;/*指針p指向字符串第一個字母*/for(;*p!=‘\0’;p++a++)*a=*p;/*從第—個字母開始其后的字符都放入指針a所指的字符串中*/*a=‘\0’;/*在字符串最后加上結(jié)束標(biāo)記符*/}voidfun(char*a)\r\n{\r\nchar*p=a;\r\nwhile(*P==‘+’)p++;/*指針p指向字符串第一個字母*/\r\nfor(;*p!=‘\\0’;p++,a++)\r\n*a=*p;/*從第—個字母開始,其后的字符都放入指針a所指的字符串中*/\r\n*a=‘\\0’;/*在字符串最后加上結(jié)束標(biāo)記符*/\r\n}解析:在前面的改錯題和編程題中,相關(guān)試題已經(jīng)出現(xiàn)好多次了,我們在此提供另一種解答方法。
#include<string.h>
voidfun(char*a)
{char*p=a;
while(*p==‘*’)p++;
strcpy(a,p);
}
33.voidfun(inttt[M][N]intpp[N]){intiimax;for(j=0;j<N;j++){max=
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年項目運(yùn)營管理合同2篇帶眉腳
- 2025版證券行業(yè)勞動合同與證券交易信息保密協(xié)議
- 成都藝術(shù)職業(yè)大學(xué)《科技文獻(xiàn)檢索》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024天然氣工業(yè)用戶接入與供氣保障合同3篇
- 2024年鋼鐵行業(yè)居間服務(wù)買賣合同
- 二零二五年互聯(lián)網(wǎng)企業(yè)員工勞動合同范本(全崗位)2篇
- 2025版快遞派送與快遞網(wǎng)點安全保障合同范本2篇
- 2024清包古建施工合同模板:古建文化傳承與保護(hù)工程協(xié)議3篇
- 《赫爾墨斯與雕像者》公開課課件
- 地方性金融服務(wù)體系的差異化發(fā)展
- 譯林新版(2024)七年級英語上冊Unit 5 Reading課件
- 爆破設(shè)計說明書(修改)
- 2025屆天津市南開區(qū)南開中學(xué)語文高三上期末達(dá)標(biāo)檢測試題含解析
- 期末試卷(試題)-2024-2025學(xué)年四年級上冊數(shù)學(xué)滬教版
- 光伏電站運(yùn)維詳細(xì)版手冊
- 藝術(shù)學(xué)概論第一章-彭吉象
- 51job在線測評題集
- 2024新教科版一年級科學(xué)上冊全冊教案
- 2024兒童身高現(xiàn)狀報告
- 趣味知識問答100道
- 2023年度學(xué)校食堂食品從業(yè)人員考核試題(附答案)
評論
0/150
提交評論