版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
************
1、算法描述主要是用兩種基本方法:第一是自然語(yǔ)言描述,第二是使用專(zhuān)用工具進(jìn)行算法
描述
2、c語(yǔ)言程序的結(jié)構(gòu)如下:
1、c語(yǔ)言程序由函數(shù)組成,每個(gè)程序必須具有個(gè)main函數(shù)作為程序的主控函數(shù)。
2、,,/*,,與,,*/,,之間的內(nèi)容構(gòu)成。語(yǔ)言程序的注釋部分。
3、用預(yù)處理命令#include可以包含有關(guān)文件的信息。
4、大小寫(xiě)字母在c語(yǔ)言中是有區(qū)別的。
5、除main函數(shù)和標(biāo)準(zhǔn)庫(kù)函數(shù)以外,用戶(hù)可以自己編寫(xiě)函數(shù),程序一般由多個(gè)函數(shù)組成,
這些函數(shù)制定實(shí)際所需要做的工作。
例如:
voidmain()
{
inta,b,c,s;
a=8;b=12;c=6;
s=a+b*c;
printf("s=%d\n",s);
}
3、c語(yǔ)言的特點(diǎn):
1、c語(yǔ)言具有結(jié)構(gòu)語(yǔ)言的特點(diǎn),程序之間很容易實(shí)現(xiàn)段的共享;
2、c語(yǔ)言的主要結(jié)構(gòu)成分為函數(shù),函數(shù)可以在程序中被定義完成獨(dú)立的任務(wù),獨(dú)立地編
譯成代碼,以實(shí)現(xiàn)程序的模塊化。
3、c語(yǔ)言運(yùn)算符豐富,運(yùn)算包含的范圍很廣;
4、c語(yǔ)言數(shù)據(jù)類(lèi)型豐富。
5、c語(yǔ)言允許直接訪(fǎng)問(wèn)物理地址,即可直接對(duì)硬件進(jìn)行操作,實(shí)現(xiàn)匯編語(yǔ)言的大部分功
能;
6、c語(yǔ)言語(yǔ)法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大,這樣是c語(yǔ)言能夠減少對(duì)程序員的束
縛;
7、用c語(yǔ)言編程,生成的目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高,可移植性好;
4、合法標(biāo)識(shí)符:AB12、leed_3、EF3_3、J62、PAS、XYZ43K2
不合法標(biāo)識(shí)符:a*b2、8stu,D.K.Jon、if、ave#xy、#_DT5、C.D
5、F2:將當(dāng)前編輯器中文件存盤(pán)
F10:調(diào)用主菜單
F4:程序運(yùn)行到光標(biāo)所在行
Ctrl+F9:當(dāng)前編輯環(huán)境下,進(jìn)行編譯、連接且運(yùn)行程序;
Alt+F5:將窗口切換至DOS下,查看程序運(yùn)行結(jié)果
6、
(1):
welcomeyou
verygood
(2):
pleaseinputthreenumber;5,7,8
maxnumberis:8
7、main
8、Userscreen>Alt+F5
9、標(biāo)識(shí)符必須是字母或下劃線(xiàn)開(kāi)頭,大小寫(xiě)字母含義不同。由數(shù)字、字母和下劃線(xiàn)組成;
關(guān)鍵字是一種語(yǔ)言中規(guī)定具有特定含義的標(biāo)識(shí)符。關(guān)鍵字不能作為變量或函數(shù)名來(lái)使用,
用戶(hù)只能根據(jù)系統(tǒng)的規(guī)定使用它們。
10、選擇主菜單File項(xiàng)下拉子菜單中Save項(xiàng)或直接按F2鍵存盤(pán)。
************
1、符合C語(yǔ)法規(guī)定的常數(shù)為:Oxle,"ab\n'\l.e5
2、(1):
錯(cuò)誤如下:intx,y=5,z=5,aver;
x=7;
aver=(x+y+x)/3;
結(jié)果如下:AVER=5
(2):
錯(cuò)誤如下:charcl='a',c2='b',c3='c';
printf("a=%db=V%c\'\"end\"\n",a,b);
結(jié)果如下:a=3b='A"'end"
aabccabc
4、(1):9,11,9,10
(2):3,1,0,0
(3):11,19,31,1
5、(1):0
(2):0
(3):9.500000
(4):90
(5):10
(6):10
(7):65
(8):4
(9):4.500000
(10):1
(11):0
(12):20
(13):0
6、(5)
7、求x的絕對(duì)值
8、c>(max=a>b?a:b)?c:max;
9、B
10、D
二十::4二二1二二1::1二:4^
1、輸入函數(shù)scanf的參數(shù)錯(cuò)誤,應(yīng)該為:scanf("%f”,&k);
2、1123412341
3、fflO
4、1,3,1
5、原字符串
左邊加空格再加字符串本省,字符個(gè)數(shù)總和為5個(gè)
6、scanf("%d,%d,%c,%c",&al,&a2,&cI,&c2);
7、printf("a+b=%d\n",a+b);
printf(,'a-b=%d\n",a-b);
printf("a*b=%d\n”,a*b);
printf(Ha/b=%d\nn,a/b);
printf(H(float)a/b=%AnM,(float)a/b);
printf("a%b=%d\n,',a%b);
8、voidmain()
(
floatr;
floats,c;
printf(npleaseinputthenumber:1');
scanf(,"%f',&r);
if(r>=0)
(
s=3.14*r*r;
c=2*3.14*r;
printf(ns=%f,c=%f\n*',s,c);
}
else
printf("youinputnumberiserror!");
)
9、voidmain()
(
intn;
printf(npleaseinputthenumber:");
scanf(n%dH,&n);
if(n>=100&&n<=999)
printf(n%d%d%d';n%10,(n/10)%10,n/100);
else
printf("youinputnumberiserror!");
)
10、voidmain()
inti,j,k;
scanf(n%d,%d,%dn,&i,&j,&k);
((i%2!=0?l:0)+(j%2!=0?l:0)+(k%2!=0?l:0))==2?printf(,'YES\nH):printf("NO\n");
)
11>voidmain()
(
chara;
scanf("%c”,&a);
printf("%c,%c,%c”,a-1,a,a+1);
printf("%d,%d,%d”,a-1,a,a+1);
)
12>voidmain()
(
floata,b,c,s,Area;
scanf("%f,%f,%f,,&a,&b,&c);
if(a+b>cIIa+c>bIIb+c>a)
(
s=(a+b+c)/2;
Area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("%f\n",Area);
)
else
printf("youinputthenumberiserror!\nn);
)
******第四章******
1:0
2:20
3:(x<30&&x>20)ll(x<-l00)
4:***a=25,b=14,c=16***
5:37
6:if(a<=b)printf(nlM);
elseprintf(,,2n);
7、
#include<stdio.h>
voidmain()
{chara,b,tl,t2;
scanf(n%c,%cM,&a,&b);
tl=a>b?a:b;
t2=a<b?a:b;
if((t1-t2)%2==0)printf(',%c,%c,',a4-l,b+l);
elseprintf(n%c,%cu,a-1,b-1);
getch();
)
8、
#include<stdio.h>
voidmain()
{inttempi=0,temp2=0,x,y,i=l;
printf("Pleaseinput(x,y):");
scanf("%d,%d”,&x,&y);
while((i*y)<=x)
{if(x==(i*y)){templ=l;break;}
temp2=i;
i++;
)
if(templ)
printf("%d/%d=%d",x,y,i);
else
printf(n%d/%d—>shang=%d,yushu=%d",x,y,temp2,x-y*temp2);
getch();
)
9、
#include<stdio.h>
voidmain()
{floatx,y,m=0,n=0;
scanf(n%f,%f;&x,&y);
n=(x-2)*(x-2);
m=(y-2)*(y-2);
if((m+n)<=l)
printf(M(%.3f,%.3f)Intheyuan'1,x,y);
else
printf(n(%.3f,%.3f)outoftheyuan",x,y);
getch();
)
10、
#include<stdio.h>
voidmain()
{inttemp=0,month,year;
printf("Pleaseinput(year,month):");
scanf(,,%d,%d,',&year,&month);
if((year%400==0)ll(year%4==0&&year%100!=0))
temp=1;
if(month==2)
{if(temp)printf(u%dyear%dmonthhave29",year,month);
elseprintf("%dyear%dmonthhave28",year,month);
)
elseif(month%2==0)
printf(n%dyear%dmonthhave30H,year,month);
elseprintf("%dyear%dmonthhave31",year,month);
getch();
11、
switch(a/10)
{case5:m=4;break;
case4:m=3;break;
case3:m=2;break;
case2:m=l;break;
default:m=5;
)
12、
方法一:
#include<stdio.h>
voidmain()
{intx,y;
scanf(H%d",&x);
if(x<0&&x>-5)
y=x-l;
elseif(x==0)
y=x;
elseif(x>0&&x<8)
y=x+l;
printf("%d”,y);
getch();
)
方法二:
#include<stdio.h>
voidmain()
{intx,y;
scanf("%d",&x);
if(x<8&&x>-5)
{if(x==0)y=x;
elseif(x>0&&x<8)y=y=x+1;
elsey=x-l;
printf(n%dn,y);
)
elseprintf(nInputerror!!!”);
getch();
)
方法三:
#include<stdio.h>
voidmain()
{intx,y,i;
scanf(u%d",&x);
if(x<8&&x>-5)
{if(x==O)i=l;
elseif(x>0&&x<8)i=2;
elsei=3;
)
elsei=4;
switch(i)
{case1:y=x;printf("%d",y);break;
case2:y=x+l;printf("%dH,y);break;
case3:y=x-l;printf(u%d",y);break;
case4:printf(nInputerror!!u);break;
}getch();
)
******第五章
1、voidmain()
(
intn,value;
inti,count=0;
floataverage=0;
longintsum=0;
scanf("%d",&n);
for(i=0;i<n;i++)
(
scanf(u%du,&value);
if(value%2==0)
(
sum+=value;
count++;
)
)
average=sum/(float)count;
printf(ntheaverageis%f\n",average);
)
2、
#include"stdio.h1'
voidmain()
(
charch;
intzm=0,sz=0;
ch=getchar();
while(ch!='*')
if((ch>=4&&chv=2')II(ch>=&&ch<N))
zm++;
if(ch>=V&&ch<='9')
sz++;
ch=getchar();
)
printf("zm=%d;sz=%d\nn,zm,sz);
)
3、
voidmain()
(
longLvalue;
intsum=0;
inttemp=0;
scanf(H%ld",&i_value);
if(i_value<0){printf(nyouinputtheintiserror!\n");return;}
for(;;)
(
temp=i_value%10;
i_value=i_value/10;
sum+=temp;
printf(n%d+n,temp);
if(i_value==0)break;
)
printf(''\b=%d\n,,,sum);
)
4、
#include"stdio.h"
voidmain()
{
charch;
ch=getchar();
while(ch!=7)
(
if((ch>=W&&chv=Z))
(
ch=ch+32;
putchar(ch);
)
elseif((ch>='a'&&ch<'z'))
ch=ch-32;
putchar(ch);
)
else
putchar(ch);
ch=getchar();
)
printf(M\nn);
)
5、
voidmain()
(
floatsum=200;
intcount=0;
for(;;)
(
sum=sum+sum*0.045;
count++;
if(sum>500)break;
)
printf(Hthe%dyearslatercomplete!\n",count);
)
6、
voidmain()
(
inti,temp=0,bit=0;
for(i=1;i<=999;i++)
(
if(i%3==0)
{
temp=i;
for(;temp!=0;)
(
bit=temp%10;
if(bit==5){printf("%d,n,i);break;}
temp=temp/10;
)
)
)
printf(H\b\nu);
}
7、
#include<stdio.h>
intmain(void)
intsteps=29,i=1;
while(steps%7)
(
steps=(30*++i)-1;
)
printfC'Totalsteps:%d\n",steps);
return0;
)
8、
main()
(
inti,j,k,n;
printf("thenarcissusnumberis:\n");
for(n=100;n<1000;n++)
{i=n/100;
j=n/10-i*10;
k=n%10;
if(i*i*i+j*j*j+k*k*k==n)printf(',%d\n,,,n);
)
)
9、
main()
{floati,j,temp,n,sum;
intt;
i=2;j=l;sum=0;
scanf(H%dn,&t);
for(n=1;n<=t;n++)
{sum=sum+i/j;
temp=i;i=i+j;j=temp;
)
printf(',2/l+3/2+5/3+8/5+13/8+...=%i\n,',sum);
)
10、
voidmain()
(
intnWidth,a,b;
scanf("%dH,&nWidth);
for(a=(nWidth%2);a<=nWidth;a+=2)
(
for(b=0;b<nWidth;b++)
charchOut=
intnleft=(nWidth-a)/2;
intnright=(nWidth+a)/2;
if(b>=nleft&&b<nright)
(
chOut
}
printf("%c",chOut);
)
printf("\n");
)
)
11、
voidmain()
(
inti=l,j=l;
for(i=l;i<=9;i++)
(
for(j=l;j<=i;j++)
printf(,,%d*%d=%dH,i,j,i*j);
printf(n\nn)
)
)
12、
#include"stdio.h"
voidmain()
(
charc;
//count1是正數(shù)的個(gè)數(shù)
//count2是負(fù)數(shù)的個(gè)數(shù)
intcount1=0,count2=0;
//suml是正數(shù)之和
//sum2是負(fù)數(shù)之和
intsuml=0,sum2=0;
intflage=0;
c=getchar();
while(c!='*')
(
if(c==*-*)flage=1;
if(flage==0)
{sum1+=(c-48);countl++;}
else
{if(c!=-,){sum2-=(c-48);flage=0;count2++;}}
c=getchar();
printf("%d,%d\n”,countl,count2);
printf("%f,%f\n",suml/countl,sum2/count2);
)
13、
voidmain()
(
inti,j;
ints=0;
for(i=100;i<=999;i++)
(
s=0;
for(j=l;j<i-l;j++)
(
if(i%j==O)s=s+j;
)
if(s==i)printf(n%5d",i);
)
)
14、
#include<stdio.h>
#include<math.h>
voidmain()
(
intn;
longk=1;
floate=1;
n=1;
clrscr();
while(fabs(1.0/k)>=0.000001)
(
n++;
e=e+1.0/k;
k=k*n;
)
printf("%f\n”,e);
)
15、
#include"math.h"
main()
{floatx0,xl,x2,fO,fI,f2;
xl=-10;
fl=2*xPxPxl-4*x1*x1+3*x1;
x2=10;
f2=2*x2*x2*x2-4*x2*x2+3*x2;
do
{x0=(xl+x2)/2;
f0=2*x0*x0*x0-4*x0*x0+3*x0;
if<(fO*fl)<O)
{x2=x0;f2=f0;}
else
{xl=xO;fl=fO;}
)
while(fabs(fO)>1e-6);
printf("2*x*x*x-4*x*x+3*x=0\nn);
printf("therootis%f\nn,xO);
)
******第六章******
1、
#include<stdio.h>
intdivisor(inta,intb)
{intr;
while((r=a%b)!=0)
{a=b;
b=r;
)
returnb;
)
intmultiple(inta,intb)
{intd;
d=divisor(a,b);
returna*b/d;
)
voidmain()
{inta,b,c,d;
printf(nintput(a,b):");
scanf(”%d,%d”,&a,&b);
c=divisor(a,b);
d=multiple(a,b);
printf(H\ndivisor=%d\t\tmultiple=%d",c,d);
)
2、
#include<stdio.h>
voidtongji(chara[J)
{intb[3]={0,0,0},i=0;
while(a[i]!=,\0,)
{if((a[i]<=90&&a[i]>=65)ll(a[i]<=122&&a[i]>=97))
b⑼++;
elseif(a[i]<=57&&a[i]>=48)
b[l]++;
else
b⑵++;
i++;
)
printf(Mzimuhave:%d;shuzihave:%d;qitahave:%dn,b[0],b[l],b[2]);
getch();
)
voidmain()
{chara[100];
printf("PIeaseinputastring:");
gets(a);
tongji(a);
)
3、
#include<stdio.h>
intflower(intn)
{intx=0,i,j,k;
i=(n%10);
j=(n/10%10);
k=(n/100);
x=i*i*i+j*j*j+k*k*k;
if(x==n)return1;
elsereturn0;
)
voidmain()
{inti,n;
printf("Pleaseintputn:");
scanf(u%du,&n);
if(n>999lln<100)printf(nInputerror!!!1');
else
{for(i=100;i<n;i++)
if(flower(i))printf(n%d”,i);
}getch();
)
4、
#include<stdio.h>
#defineSWAP(a,b)t=b;b=a;a=t;
main()
{floatx,y,t;
printf(HEntertwonumber(x,y):'*);
scanf(u%f,%f",&x,&y);
SWAP(x,y);
printfC'VnXnExchanged:x=%f,y=%f',x,y);
getch();
5、
#include<stdio.h>
intfib(intn)
{intp;
if(n==O)p=O;
elseif(n==l)p=l;
elsep=fib(n-l)+fib(n-2);
returnp;
)
voidmain()
{intn;
printf("Pleaseinputfib:");
scanf("%d",&n);
printf("\n\nfibonacci=%d",fib(n));
)
6、
#include<stdio.h>
longfac(intn)
{longf;
if(n==0)f=l;
elsef=n*fac(n-l);
returnf;
)
voidmain()
{intm,n;
longf;
printf("Pleaseinput(m,n):");
scanf(n%ld,%ld",&m,&n);
f=fac(n+m)+fac(n);
printf(''\n\nfibonacci=%ld',,f);
)
7、
#include<stdio.h>
voidlist()
{inti,j;
for(i=l;i<=9;i++)
{for(j=l;j<=i;j++)
printf(n%d*%d=%d”<
printf(H\nn);
voidmain()
{list();
)
8、
#include<stdio.h>
inihe(intn)
{inti,s=0;
for(i=l;i<n;i++)
if(n%i==0)s+=i;
returns;
)
voidmain()
{inti,j;
for(i=l;i<30000;i+4-)
{for(j=l;j<3OOOO;j++)
if((he(i)==j)&&(he(j)==i)&&(i!=j))
printf(n%d<—>%dn,i,j);
)
}
9、
#include<stdio.h>
#definemax100
structwork
{longsid;
charname[15];
}worker[max];
intsize=0;
structwork*set」ist()
{do
{printf(H\n\nPleaseinput(sid,name):");
scanf("%ld,%s”,&worker|size].sid,worker[size].name);
size++;
}while(worker[size-l].sid!=0);
returnworker;
}
voidpaixu(structworka[J)
{inti,j,k;longt;charv[15];
for(i=0;i<size-1-2;i++)
{k=i;
for(j=i;j<size-2;j++)
if(a[i].sid>a[j].sid)k=j;
if(k!=i)
{t=a[i].sid;a[i].sid=afj].sid;a[j].sid=t;
strcpy(v,a[);strcpy(a[,a[);strcpy(a[j].name,v);
for(i=0;i<=size-2;i++)
printf(Hsid:%ld\tname:%s\n\n,\a[i].sid,a[i].name);
getch();
)
voidselect(structworka[])
{inti=0,found=1;longnum;
printf("Inputselectsid:");
scanf(,,%ld,',&num);
for(i=0;i<=size-2;i++)
{if(a[i].sid==num)
{found=0;
printf(u%ld:%sH,num,a[i].name);
break;
}
)
if(found)printf("\n\nNOthissid!!!”);
getch();
)
voidmain()
{structwork*p;
p=set_list();
paixu(p);
select(p);
)
10、
#include<stdio.h>
floatjiecheng(intn)
{longs=l;inti;
for(i=l;i<=n;i++)
s=s*i;
returns;
)
floatchengfang(floatx,intn)
{floats=l;inti;
for(i=l;i<=n;i++)
s=s*x;
returns;
)
floatf(floatx,intn)
{floats=l,t=O;inti=l,j=-l;
for(i=l;i<=n;i++)
{t=j*chengfang(x,2*i)/jiecheng(2*i);
s+=t;
j=j*j;
returns;
main()
floats1=0,s2=0,s3=0,s4=0,x=5.6;intn=7;
sl=f(x,n);
s2=f(x+2.3,n);
s3=f(x-3.2,n+3);
s4=sl/(s2+s3);
printf(n%f';s4);
getch();
******第七章******
(1)D
(2)A
(3)D
(4)B
(5)D
2:(1)1544
678
23
4
(2)6333
3:(1)a[8]=data;k>=0a[k]=tempbreakk<=8
⑵“%s”str[i]<=,Z,c[str[i]+26--a,]++i+'a'
4、/*題目:求-組成績(jī)的平均分?jǐn)?shù)以及高于平均分的成績(jī)。*/
#include<stdio.h>
#definemax100
voidmain()
(
floata[max],s=0,average=0;
inti,n;
printf("PleaseinputN:");/*輸入要處理元素的個(gè)數(shù)*/
scanf(n%dn,&n);
printf("\nPleaseinput%dgeshu:M,n);/*輸入90,85,92,77,80,62*/
for(i=0;i<n;i++)
scanf(n%f',&a[i]);
s+=a[i];
)
average=s/n;
printf("\naverage=%.2f\n",average);/*輸81.00*/
for(i=0;i<n;i++)
if(a[i]>average)
printf(n%.2fn,a[i]);/*輸出90.00,85.00,92.00*/
)
5、
/*題目:編寫(xiě)程序,輸入一組整數(shù),將他們排序后由小到大輸出。*/
#include<stdio.h>
#definemax100
voidmain()
(
inta[max],j,i,k=0,t=0,n=0;
printf("PleaseinputN:”);/*輸入要處理元素的個(gè)數(shù)*/
scanf(n%d",&n);
for(i=0;i<n;i++)
scanf("%d”,&a[i]);
for(i=0;i<n-l;i++)/*比較n-1遍*/
{k=i;
for(j=i+1;j<n;j++)/*每遍比較n-(i+l)次*/
if(a[kl>a[j])
k=j;
if(k!=i)/*元素排序前下標(biāo)與排序后下標(biāo)不符,則交換其值*/
{t=a[i];
a[i]=a[k];
a[k]=t;
)
)
printf("\n\nn);
for(i=0;i<n;i++)
printf(M%dn,a[i]);
)
6、
/*題目:從鍵盤(pán)輸入一個(gè)4x4的整數(shù)矩陣,以主對(duì)角線(xiàn)(\)為對(duì)稱(chēng)軸*/
/*將左下角元素中較大者替換右上角元素,并將右上角含對(duì)稱(chēng)軸輸出。
#include<stdio.h>
#include<string.h>
voidmain()
(
intd[4][4]={{0,0,0,0}),i,j;
clrscr();
printf(n\nPleaseinput16num:");
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%dM,&d[i][j]);
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(d[i][j]>d[j][i])/*左下角元素大于右上角元素則交換*/
dU][i]=d[i][j];
for(i=0;i<4;i++)
{printf(”\n\n\n\n\n”);/*為T(mén)保持每行的間隔與每列的相同呆
for(j=0;j<4;j++)
ifO>=i)
printf(”\t%d”,d[i][j]);/*為了使位數(shù)不同的數(shù)輸出依然保持三角型*/
else
printf(u\tM);
7、
*題目:輸入一個(gè)3x4的二維數(shù)組,然后分別按行和按列輸出。刃
#include<stdio.h>
#include<string.h>
voidmain()
(
intd[3][4]={{0,0,0,0}},i,j;
printf("Pleaseinput12num:");
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf(H%dn,&d[i][j]);
printf("\n\nAnhang:");
for(i=0;i<3;i++)
for(j=0;j<4;j++)
printfC'%dH,d[i]|j]);
printf(n\n\nAnlie:");
for(i=0;i<4;i++)
for(j=0;j<3;j++)
printf(u%d\d[j][i]);
)
8、
/*題目:編寫(xiě)程序,將兩個(gè)字符串連接起來(lái),不用strcat函數(shù)。*/
#include<stdio.h>
#include<string.h>
voidmain()
{charsl[50],s2[50];
inti=Oj=O,t=O;
printf("Inputone:");
gets(sl);
while(sl[i]!=,\O,)i++;/*統(tǒng)計(jì)si中字符個(gè)數(shù)*/
printf(n\n\nlnputsecond:");
gets(s2);
while(s2[j]!=,\(nj++;/*統(tǒng)計(jì)s2中字符個(gè)數(shù)*/
for(t=0;t<=j;t++)/*把s2中字符連接到si后面*/
{sl[i]=s2[t];i++;)
printf("\n\none+second:");
puts(sl);
)
9、
/*輸入一行字符串,統(tǒng)計(jì)字符對(duì)ab的個(gè)數(shù)。*/
#include<stdio.h>
#include<string.h>
#defineMAX100
voidmain()
(
charstr[MAXl;
inti=0,flage=0;
intcount=0;
printf("\nPleaseinputastring:");
gets(str);
while(strlij)
{if(str[i]=='a,)
flage=l;
elseif(str[i]==*b')
(
if(flage==1)
{count++;flage=0;}
)
elseflage=0;
i++;
)
printf(Mthedoublechar\"ab\"countis%d\nM,count);
)
10、
#include<stdio.h>/*相對(duì)于第一種方法,這種方法能把同為最大的字符串全部打印出來(lái)。*/
#include<string.h>
intpaixu(inta[],intn)/*構(gòu)造對(duì)長(zhǎng)度為n的數(shù)組排序的函數(shù)*/
(
inti,j,t,k,temp;
for(i=0;i<n-l;i++)
{k=i;
for(j=i+l;j<n;j++)
if(a[k]>a[j])
k=j;
if(k!=i)
{t=a[i];
a[i]=a[k];
a[k]=t;
)
)
temp=a[n-l];
returntemp;/*返回最大字符串的長(zhǎng)度的值*/
)
voidmain()
(
charstr1[50],str2[50],str3[50],str4[50],str5[50],str6[50];
charstr7[5O],str8[5O],str9[5O],strlO[5O];
intcount[10]={0},temp[10]={0},i,j;
inipaixu(inta[],intn);
for(i=l;i<=10;i++)/*輸入10個(gè)字符串*/
(
printf("\nPleaseinput%dstring:",i);
if(i==l)
{gets(strl);while(strl[count[0]]){count[0]++;temp[0]++;}}
if(i==2)
{gets(str2);while(str2[count[1]]){count[l]++;temp[1]++;}}
if(i==3)
{gets(str3);while(str3[count[2]]){count[2]++;temp[2]++;}}
if(i==4)
{gets(str4);while(str4[count[3]]){count[3]++;temp[3]++;}}
if(i==5)
{gets(str5);while(str5[count[4]]){count[4]++;temp[4]++;}}
if(i==6)
{gets(str6);while(str6[count[5]]){count[5]++;temp[5]++;}}
if(i==7)
{gets(str7);while(str7[count[6]]){count[6]++;temp[6]++;}}
if(i==8)
{gets(str8);while(str8[count[7]]){count[7]++;temp[7]++;}}
if(i==9)
{gets(str9);while(str9[count[8]]){count[8]++;temp[8]++;}}
if(i==10)
{gets(strl0);while(strl0[count[9]]){count[9]++;temp[9]++;}}
j=paixu(temp,10);
for(i=l;i<=10;i++)
if(count[i-l]==j)
/*只要字符串長(zhǎng)度與最大長(zhǎng)度相等就打印出來(lái)*/
switch(i)
{casekputs(strl);printf("\nu);break;
case2:puts(str2);printf(',\nn);break;
case3:puts(str3);printf(u\nH);break;
case4:puts(str4);printf(n\nn);break;
case5:puts(str5);printf(H\n");break;
case6:puts(str6);printf("\nu);break;
case7:puts(str7);printf("\n");break;
case8:puts(str8);printf(H\n");break;
case9:puts(str9);printf("\n");break;
case10:puts(str10);printf(,,\n");break;
11、
/*給數(shù)組a輸入m個(gè)按升序排列的數(shù),給數(shù)組b輸入n個(gè)按降序排列的數(shù)*/
/*將a與b中的元素按降序排列存在數(shù)組c中。*/
#include<stdio.h>
voidmain()
(
inta[100],b[100],c[100],i,m,n,j,k,temp=0,s;
printf("\nm=");scanf("%d",&m);/*確定M的個(gè)數(shù)*/
printf("\nn=");scanf("%d”,&n);/*確定N的個(gè)數(shù)*/
printf(M\nPleaseinputmgeshu:”);
for(s=0;s<m;s++)
scanf("%d'\&a[s]);
printf(H\nPleaseinputngeshu:");
for(s=0;s<n;s++)
scanf("%d",&b[s]);
i=m-l;j=0;k=0;/*i,j,分別標(biāo)記a口與b口且都是從最大元素開(kāi)始做標(biāo)記*/
for(;;)
{if(i==0)/**中只有一個(gè)數(shù)或者叫處理到了最后一個(gè)元素*/
{if(a[i]<=b[j])/*如果a口的最后一個(gè)元素v=b口中當(dāng)前元素*/
{c[k]=b|jj;k++;j++;}
else
{c[k]=a[i];
k++;
for(;;)/*把b口數(shù)組接到c口后面*/
{c[k]=b|j];
j++;
k++;
if(j==n)/*如果b□處理完,結(jié)束。并做標(biāo)記temp=l*/
{temp=l;break;}
)
)
}if(temp==l)break;/*標(biāo)記temp=l,全部處理結(jié)束*/
if((a[i]<=b[j])&&(i!=O)&&(j!=n))
{c[k]=b[j];j++;k++;}
if((a[i]>b[j])&&(i!=O)&&(j!=n))
{c[k]=a[i];i--;k++;)
if(j==n)/*b[]處理到完*/
{for(;;)/*把b口數(shù)組接到c口后面*/
{if(i==O)/*如果叫處理完,結(jié)束。并做標(biāo)記temp=l*/
{c[k]=a[i];temp=l;break;}
c[k]=a[i];
i-;
k++;
}
}if(temp==l)break;/*標(biāo)記temp=1,全部處理結(jié)束*/
)
for(s=0;s<m+n;s++)
printf(M%dM,c[s]);
getch();
)
******第八章******
1:(1)A
(2)B
(3)D
2:(1)1011101110
(2)pogam
3:(1)*p!=O&&*q!=O*p>=*q;q++
(2)i<ll&a[i]{i-;if(i==O)break;}i!=0
4、
題目:輸入一個(gè)字符串,再刪除指定的字符*/
/*如果字符串中沒(méi)有指定字符,則輸出原字符串。*/
#include<stdio.h>
voidfun(char*str,charc)
{char*p;
for(p=str;*p!='\0';p++)
if(*p!=c)
*str++=*p;
*str=\O';
voidmain()
{charstr[8O],c;
printf(M\nPleaseinputastring:");
gets(str);
printf(M\n\nPleaseinputdeletechai*:");
scanf(n%c'\&c);
fun(str,c);
puts(str);
getch();
)
5、
/*從鍵盤(pán)輸入單詞,每個(gè)單詞之間用空格隔開(kāi),號(hào)結(jié)束輸入,*/
/*將每個(gè)單詞的第一個(gè)字母轉(zhuǎn)化成大寫(xiě)字母。*/
#include<stdio.h>
#include<string.h>
charzhuanhua(charc)/*定義將小寫(xiě)字母轉(zhuǎn)化為大寫(xiě)字母的函數(shù)可
{charC;
if(c>士a&&cv=N)/*是小寫(xiě)字母就轉(zhuǎn)化,不是則原樣返回*/
C=c-32;
elseC=c;
returnC;
}/*此函數(shù)防止有標(biāo)點(diǎn)符號(hào)或者第一個(gè)字母本身是大寫(xiě)字母*/
voidmain()
{charallOOJ,*p=a;
inti=lj;
a[0]=';p++;/*為方便下面的if語(yǔ)句,初始化a⑼為空格*/
printf(H\nPleaseinputastring:");
for(;;)
{scanf(',%c,,,p);
if(*p==7)
break;
p++;i++;
)
aLi]='\O';
for(j=l;j<i;j++)
{…&&a[j]!±?*第一個(gè)字母前面可能有很多空格*/
a[j]=zhuanhua(a[j]);/*調(diào)用轉(zhuǎn)化函數(shù),使其變?yōu)榇髮?xiě)字母*/
)
p=a;
while(*p)
{printf("%c",*p);p++;}
getch();
6、
/*輸入8個(gè)數(shù),排序后輸出。*/
#include<stdio.h>
#include<string.h>
voidmain()
{intdata[8],i,*p1,*p2,temp;
pl=data;
printf(n\nlnput8number:");
for(i=0;i<8;i++)
{scanf("%d",pl);pl++;}
for(p1=data;p1<data+8-l;p1++)
for(p2=pl+l;p2<data+8;p2++)
if(*pl<*p2)
{temp=*p1;*p1=*p2;*p2=temp;}
for(i=0,p1=data;i<8;i++,p1++)
printf("%dn,*pl);
getch();
)
7、
/*題目:輸入一個(gè)字符串,將此字符串的m個(gè)字符開(kāi)始的第n個(gè)字符復(fù)制到另一個(gè)字符串。
*/
#include<stdio.h>
voidmain()
{intm,n,i;
chara[100],b[100],*p,*q;
printf("Pleaseinputastring:");
gets(a);
p=a;q=b;
printf(M\n\nPleaseinputmandn(like1,1):");
scanf("%d,%d”,&m,&n);
if((strlen(a)>=m)&&((strlen(a)-m+1)>=n))/*復(fù)制的位置要符合要求*/
{p+=m-l;/*指針指向第一個(gè)要復(fù)制的字符*/
for(i=0;i<n;i++)
{*q=*p;p++;q++;}
*q='0';
printf("Stringais:%s\n",a);
printf(Mstringbis:%s\nH,b);
)
elseprintf(H\nError!!!!");/*復(fù)制的位置不符合要求,打印錯(cuò)誤*/
getch();
)
8、
/*輸入8個(gè)數(shù),將最大的數(shù)與第一個(gè)數(shù)對(duì)換。*/
/*將最小的數(shù)與最后一個(gè)數(shù)對(duì)換*/
#include<stdio.h>
voidmain()
inta[100],temp1=0,temp2=0,max=0,min=0,k;
printf("\nPleaseinput8geshu:”);
for(k=0;k<8;k++)
{scanf(n%dM,&a[k]);
if(a[k]<a[min])min=k;/*用標(biāo)記min最小值的下標(biāo)*/
if(a[k]>a[max])max=k;/*用標(biāo)記max最大值的下標(biāo)*/
)
if(min==0)
{if(max==7)
{templ=a[0];a[0]=a[7];a[7]=temp1;}
else
{temp2=a[7];a[7]=a[min];
a[0]=a[max];a[max]=temp2;
elseif(max==0)
{if(min!=7)
{temp2=a[7];a[7]=a[min];a[min]=temp2;}
)
else
{if(min==7)
{temp1=a[0];a[O]=a[max];a[max]=templ;}
elseif(max==7)
{temp2=a[7];a[7]=a[min];
a[min]=a[0];a[0]=temp2;
}
else
{templ=a[0];temp2=a[7];
a[0]=a[max];a[7]=a[min];
a[min]=temp2;a[max]=templ;
)
)
for(k=0;k<8;k++)
printf(M%dM,a[kJ);
getch();
)
9、
/*輸入n個(gè)數(shù),并排序后輸出。*/
#include<stdio.h>
#inc1ude<string.h>
int*paixu(intdata[],intn)
{inti,*pl,*p2,temp;
pl=data;
for(p1=data;p1<data+n-l;p1++)
for(p2=p1+1;p2<data+n;p2++)
if(*pl<*p2)
{temp=*p1;*p1=*p2;*p2=temp;}
pl=data;
returnpl;
)
voidmain()
{intn,a[100],i,*p=a;
printf(MPleaseinputn:");
scanf("%cT,&n);
printf("\n\nPleaseenter%dgeshu:",n);
for(i=0;i<n;i++)
{scanf("%d",p);p++;}
p=paixu(a,n);
for(i=0;i<n;i++,p++)
printf(n%d”產(chǎn)p);
getch();
)
10、
#includenstdio.hn
#definemax1042
main()
(
floatj,a[max];intt,i=0;
charb[max],*p=b;clrscr();
printf("Enterastring:'1);
gets(b);
while(*p!
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年體育行業(yè)專(zhuān)業(yè)運(yùn)動(dòng)員職業(yè)介紹合同范本3篇
- 艾滋病護(hù)理講座
- 采購(gòu)合同與供應(yīng)商選擇3篇
- 采購(gòu)委托代理費(fèi)用標(biāo)準(zhǔn)3篇
- 采購(gòu)合同制定從需求分析到合同定稿3篇
- 網(wǎng)絡(luò)信息安全管理-洞察分析
- 新型能源材料開(kāi)發(fā)-洞察分析
- 采購(gòu)服務(wù)承包合同3篇
- 采購(gòu)框架協(xié)議招標(biāo)3篇
- 河南省三門(mén)峽市(2024年-2025年小學(xué)六年級(jí)語(yǔ)文)部編版專(zhuān)題練習(xí)(上學(xué)期)試卷及答案
- GB/T 44570-2024塑料制品聚碳酸酯板材
- 雨的形成課件教學(xué)課件
- GB/T 16288-2024塑料制品的標(biāo)志
- 關(guān)于健康的課件圖片
- 2024-2030年農(nóng)產(chǎn)品物流行業(yè)市場(chǎng)深度分析及競(jìng)爭(zhēng)格局與投資價(jià)值研究報(bào)告
- 云計(jì)算體系結(jié)構(gòu)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 油浸變壓器排油注氮消防系統(tǒng)設(shè)計(jì)、施工及驗(yàn)收規(guī)范
- 2023-2024學(xué)年四川省成都市武侯區(qū)九年級(jí)(上)期末物理試卷
- 客戶(hù)滿(mǎn)意度調(diào)查管理制度
- 2024年中國(guó)櫻桃番茄種市場(chǎng)調(diào)查研究報(bào)告
- 數(shù)據(jù)分析基礎(chǔ)與應(yīng)用指南
評(píng)論
0/150
提交評(píng)論