




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第一章
1、算法描述主要是用兩種基本方法:第一是自然語言描述,第二是使用專用工具進(jìn)行算法描述
2、c語言程序的結(jié)構(gòu)如下:
1、c語言程序由函數(shù)組成,每個(gè)程序必須具有一個(gè)main函數(shù)作為程序的主控函數(shù)。
2、,,/*,,與,,*/,,之間的內(nèi)容構(gòu)成c語言程序的注釋部分。
3、用預(yù)處理命令#include可以包含有關(guān)文件的信息。
4、大小寫字母在c語言中是有區(qū)別的。
5、除main函數(shù)和標(biāo)準(zhǔn)庫函數(shù)以外,用戶可以自己編寫函數(shù),程序一般由多個(gè)函數(shù)組成,這些函數(shù)制定實(shí)
際所需要做的工作。
例如:
voidmain()
(
inta,b,c,s;
a=8;b=12;c=6;
s=a+b*c;
printf(ns=%d\n",s);
)
3、c語言的特點(diǎn):
1、c語言具有結(jié)構(gòu)語言的特點(diǎn),程序之間很容易實(shí)現(xiàn)段的共享;
2、c語言的主要結(jié)構(gòu)成分為函數(shù),函數(shù)可以在程序中被定義完成獨(dú)立的任務(wù),獨(dú)立地編譯成代碼,以實(shí)現(xiàn)
程序的模塊化。
3、c語言運(yùn)算符豐富,運(yùn)算包含的范圍很廣;
4、c語言數(shù)據(jù)類型豐富。
5、c語言允許直接訪問物理地址,即可直接對(duì)硬件進(jìn)行操作,實(shí)現(xiàn)匯編語言的大部分功能;
6、c語言語法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大,這樣是c語言能夠減少對(duì)程序員的束縛;
7、用c語言編程,生成的目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高,可移植性好;
4、合法標(biāo)識(shí)符:AB12、leed_3、EF3_3、_762,PAS、XYZ43K2
不合法標(biāo)識(shí)符:a*b2、8stu、D.K.Jon、if、ave#xy、#_DT5、C.D
5、F2:將當(dāng)前編輯器中文件存盤
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í)符必須是字母或下劃線開頭,大小寫字母含義不同。由數(shù)字、字母和下劃線組成;
關(guān)鍵字是一種語言中規(guī)定具有特定含義的標(biāo)識(shí)符。關(guān)鍵字不能作為變量或函數(shù)名來使用,用戶只能根據(jù)系
統(tǒng)的規(guī)定使用它們。
10、選擇主菜單File項(xiàng)下拉子菜單中Save項(xiàng)或直接按F2鍵存盤。
第二章
1、符合C語法規(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=rb',c3='c,;
printf("a=%db=V%c^"endV,\nH,a,b);
結(jié)果如下:a=3b='AM,endH
aabccabc
3、略
4、(1):9,11,9,10
(2)31,0,0
(3):11,19,31,1
5、(1):0
(2):0
(3):9.500000
(4):90
(5):10
(6):10
(7):65
(8):2
(9):4.500000
(10):1
(H):0
(12):20
(13):0
6、(5)
7、求x的絕對(duì)值
8、c>(max=a>b?a:b)?c:max;
9、B
10、D
第三章
1、輸入函數(shù)scanf的參數(shù)錯(cuò)誤,應(yīng)該為:scanfr%F,&k);
2、1123412341
3、fflO
4、1,3,1
5、原字符串
左邊加空格再加字符串本省,字符個(gè)數(shù)總和為5個(gè)
6、scanf(n%d,%d,%c,%cn,&ah&a2,&cl,&c2);
7^printf("a+b=%d\n",a+b);
printf(na-b=%d\n",a-b);
printf("a*b=%d\n",a*b);
printf(na/b=%d\nn,a/b);
printf("(float)a/b=%f\n",(float)a/b);
printf(',a%b=%d\n',,a%b);
8^voidmain()
(
floatr;
floats,c;
printf(Hpleaseinputthenumber:");
scanf(H%f',&r);
if(r>=0)
(
s=3.14*r*r;
c=2*3.14*r;
printf(*'s=%f,c=%f\n”,s,c);
)
else
printf(nyouinputnumberiserror!'1);
)
9、voidmain()
(
intn;
printfC'pleaseinputthenumber:u);
scanf(u%d",&n);
if(n>=100&&n<=999)
printf(,'%d%d%d,,,n%10,(n/10)%10,n/100);
else
printf("youinputnumberiserror!1');
)
10、voidmain()
inti,j,k;
scanf(n%d,%d,%d",&i,&j,&k);
((i%2!=0?l:0)+(j%2!=0?l:0)+(k%2!=0?l:0))=2?printf(,,YES\n"):printf("NO\nu);
)
11、voidmain()
(
chara;
scanf("%c",&a);
primf(”%c,%c,%c”,a-l,a,a+l);
printf("%d,%d,%dH,a-1,a,a+1);
)
12、voidmain()
(
floata,b,c,s,Area;
scanf(u%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(u%f\nn,Area);
)
else
printf("youinputthenumberiserror!\n,');
第四章
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(T);
elseprintf(u2M);
7、
#include<stdio.h>
voidmain()
{chara,b,tl,t2;
scanf(n%c,%c",&a,&b);
tl=a>b?a:b;
t2=a<b?a:b;
if((tl-t2)%2==0)printf(n%c,%cn,a+1,b+1);
elseprintf("%c,%c'\a-1,b-1);
getch();
)
8、
#include<stdio.h>
voidmain()
{inttemp1=0,temp2=0,x,y,i=1;
printf(*'Pleaseinput(x,y):");
scanf(u%d,%dM,&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(u%d/%d—>shang=%d,yushu=%du,x,y,temp2,x-y*temp2);
getch();
}
9、
#include<stdio.h>
voidmain()
{floatx,y,m=0,n=0;
scanf(H%f,%f,,&x,&y);
n=(x-2)*(x-2);
m=(y-2)*(y-2);
if((m+n)<=l)
printf("(%.3f,%.3f)Intheyuan'1,x,y);
else
printf(*'(%.3f,%.3f)outoftheyuan",x,y);
getch();
)
10、
#include<stdio.h>
voidmain()
{inttemp=0,month,year;
printf(nPleaseinput(year,month):");
scanf(u%d,%d",&year,&month);
if((year%400==0)ll(year%4==0&&year%100!=0))
temp=l;
if(month==2)
{if(temp)printf(n%dyear%dmonthhave29",year,month);
elseprintf("%dyear%dmonthhave28",year,month);
)
elseif(month%2==0)
printf(u%dyear%dmonthhave301year,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(M%d",&x);
if(x<0&&x>-5)
y=x-l;
elseif(x==0)
y=x;
elseif(x>0&&x<8)
y=x+l;
printf(M%dM,y);
getch();
)
方法二:
#include<stdio.h>
voidmain()
{intx,y;
scanf(n%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(u%dn,y);
elseprintf("Inputerror!!!");
getch();
方法三:
#include<stdio.h>
voidmain()
{intx,y,i;
scanf(M%dM,&x);
if(x<8&&x>-5)
{if(x==0)i=l;
elseif(x>0&&x<8)i=2;
elsei=3;
)
elsei=4;
switch(i)
{case1:y=x;printf(n%dH,y);break;
case2:y=x+l;printf(n%dn,y);break;
case3:y=x-l;printf(',%d,,,y);break;
case4:printf("Inputerror!!n);break;
}getch();
第五章
1、voidmain()
(
intn,value;
inti,count=0;
floataverage=0;
longintsum=0;
scanf("%d",&n);
for(i=0;i<n;i++)
(
scanf("%d",&value);
if(value%2==0)
(
sum+=value;
count++;
)
)
average=sum/(float)count;
printf(Htheaverageis%An",average);
2、
#include"stdio.h*'
voidmain()
(
charch;
intzm=0,sz=0;
ch=getchar();
while(ch!='*')
(
if((ch>=*A,&&chv=2')II(ch>='a,&&ch<'z'))
zm++;
if(ch>='O'&&ch<=9)
sz++;
ch=getchar();
)
printf(nzm=%d;sz=%d\n",zm,sz);
)
3、
voidmain()
(
longi_value;
intsum=0;
inttemp=0;
scanf(M%ld',,&i_value);
if(i_value<0){printf(nyouinputtheintiserror!\nH);return;}
for(;;)
(
temp=i_value%10;
i_value=i_value/10;
sum+=temp;
printf(u%d4-n,temp);
if(i_value==0)break;
}
printf("\b=%d\nH,sum);
#include"stdio.h"
voidmain()
(
charch;
ch=getchar();
while(ch!=*.')
(
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(n\nH);
)
voidmain()
(
floatsum=200;
intcount=0;
for(;;)
(
sum=sum+sum*0.045;
count++;
if(sum>500)break;
)
printf(nthe%dyearslatercomplete!\n",count);
)
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;',i);break;}
temp=temp/10;
)
)
)
printf(n\b\nH);
)
7、
#include<stdio.h>
intmain(void)
(
intsteps=29,i=1;
while(steps%7)
(
steps=(30*++i)-1;
)
printf(HTotalsteps:%d\nu,steps);
return0;
)
8、
main()
(
inti,j,k,n;
printf(Hthenarcissusnumberis:\nn);
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(u%d",&t);
for(n=1;n<=t;n++)
{sum=sum+i/j;
temp=i;i=i+j;j=temp;
)
printf(M2/l+3/2+5/3+8/5+13/8+...=%f\n,,,sum);
}
10、
voidmain()
(
intnWidth,a,b;
scanf(u%d",&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("%cu,chOut);
)
printf("\n");
)
)
11、
voidmain()
(
inti=lj=l;
for(i=l;i<=9;i++)
(
for(j=l;j<=i;j++)
printf(,,%d*%d=%d,,,i,j,i*j);
printfCAn1')
)
)
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);count1++;}
else
{if(c!=,-,){sum2-=(c-48);flage=0;count2++;}}
c=getchar();
)
printf("%d,%d\n",count1,count2);
printf(n%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==0)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\nH,e);
}
15、
#include"math.h"
main()
{floatx0,xl,x2,f0,fl,f2;
xl=-10;
fl=2*xl*xl*xl-4*xl*xl+3*xl;
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=fO;}
else
{xl=xO;fl=fO;}
}
while(fabs(fO)>1e-6);
printf("2*X*X*X~4*X*X+3*X==0\n"):
printf("therootis%f\nH,xO);
、,
第Aft八早
1、
#include<stdio.h>
intdivisor(inta,intb)
{intr;
while((r=a%b)!=O)
{a=b;
b=r;
)
returnb;
}
intmultiple(inta,intb)
{intd;
d=divisor(a,b);
returna*b/d;
voidmain()
{inta,b,c,d;
printf(*'intput(a,b):");
scanf(u%d,%d",&a,&b);
c=divisor(a,b);
d=multiple(a,b);
printf(',\ndivisor=%d\t\tmultiple=%d,',c,d);
)
2、
#include<stdio.h>
voidtongji(chara[])
{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[0]++;
elseif(a[i]<=57&&a[i]>=48)
b[lj++;
else
b[2]++;
i++;
)
printf("zimuhave:%d;shuzihave:%d;qitahave:%dn,b[0],b[l],b[2]);
getch();
)
voidmain()
{chara[100];
printf(*'Pleaseinputastring:*');
gets(a);
tongji(a);
)
3、
#include<stdio.h>
intflower(intn)
{intx=O,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(nPleaseintputn:");
scanf(',%d,,,&n);
if(n>999lln<100)printf(,'Inputerror!!!,1);
else
{for(i=100;i<n;i++)
if(flower(i))printf("%dH,i);
}getch();
)
4、
#include<stdio.h>
#defineSWAP(a,b)t=b;b=a;a=t;
main()
{floatx,y,t;
printf("Entertwonumber(x,y):");
scanf(n%f,%f;&x,&y);
SWAP(x,y);
printf(,,\n\nExchanged:x=%f,y=%f,',x,y);
getch();
)
5、
#include<stdio.h>
intfib(intn)
{intp;
if(n==0)p=0;
elseif(n==l)p=l;
elsep=fib(n-1)+fib(n-2);
returnp;
)
voidmain()
{intn;
printf(nPleaseinputfib:*');
scanf(H%d",&n);
printf(n\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;
printfC'Pleaseinput(m,n):");
scanf("%ld,%kT,&m,&n);
f=fac(n+m)+fac(n);
printf(,'\n\nfibonacci=%ld,',f);
)
7、
#include<stdio.h>
voidlist()
{intij;
for(i=l;i<=9;i++)
{for(j=l;j<=i;j++)
printf(u%d*%d=%dH,i,j,i*j);
printf(M\nu);
)
)
voidmain()
{list();
)
8、
#include<stdio.h>
inthe(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++)
{for(j=1;j<3OOOO;j++)
if((he(i)==j)&&(heg)=i)&&(i!=j))
printf(n%d<-->%d
)
)
9、
#include<stdio.h>
#definemax100
structwork
{longsid;
charname[15];
)worker[max];
intsize=0;
structwork*set_list()
{do
{printf(H\n\nPleaseinput(sid,name):");
scanf("%ld,%s”,&worker[size].sid,worker[size].name);
size++;
}while(worker[size-l].sid!=O);
returnworker;
)
voidpaixu(structworka[])
{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=a[j].si(i;a[j].sid=t;
strcpy(v,a[i].name);strcpy(a[i].name,a[j].name);strcpy(a[j].name,v);
1
)
for(i=0;i<=size-2;i++)
printf(usid:%ld\tname:%s\n\nM,a[i].sid,a[i].name);
getch();
)
voidselect(structworkalJ)
{inti=0,found=1;longnum;
printf("Inputselectsid:");
scanf(u%ld",&num);
for(i=0;i<=size-2;i++)
{if(a[i].sid==num)
{found=0;
printf(n%ld:%s",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=0;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()
{floatsl=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(”%f”,s4);
getch();
第七章
1:(1)D
(2)A
(3)D
(4)B
(5)D
2:(1)1544
678
23
4
(2)6333
3:(1)a[8J=data;k>=0a[kj=tempbreakk<=8
⑵“%s”str[i]<=,Z,c[str[i]+26-al++i+'a'
4、/*題目:求組成績的平均分?jǐn)?shù)以及高于平均分的成績。*/
#include<stdio.h>
#definemax100
voidmain()
(
floata[max],s=0,average=0;
inti.n;
printf(HPleaseinputN:");/*輸入要處理元素的個(gè)數(shù)*/
scanf(H%d'\&n);
printf("\nPleaseinput%dgeshu:”,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);/*輸fli81.00*/
for(i=0;i<n;i++)
if(a[ij>average)
printf(u%.2fn,a[i]);/*輸出90.00,85.00,92.00*/
/*題目:編寫程序,輸入一組整數(shù),將他們排序后由小到大輸出。*/
#include<stdio.h>
#definemax100
voidmain()
(
inta[max],j,i,k=0,t=0,n=0;
printf(nPleaseinputN:");/*輸入要處理元素的個(gè)數(shù)*/
scanf("%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[k]>a[j])
k=j;
if(k!=i)/*元素排序前下標(biāo)與排序后下標(biāo)不符,則交換其值*/
{t=a[i];
a[i]=a[k];
a[k]=t;
printf(n\n\nn);
for(i=0;i<n;i++)
printf(M%d",a[i]);
)
6^
/*題目:從鍵盤輸入一個(gè)4x4的整數(shù)矩陣,以主對(duì)角線(\)為對(duì)稱軸*/
/*將左下角元素中較大者替換右上角元素,并將右上角含對(duì)稱軸輸出。*/
#include<stdio.h>
#include<string.h>
voidmain()
(
intd[4][4]={{0,0,0,0}},i,j;
clrscr();
printf(H\nPleaseinput16num:");
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf(n%dn,&dLiJ[jJ);
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(d[i][jl>d[j][i])/*左下角元素大于右上角元素則交換*/
for(i=0;i<4;i++)
{prinlf("\n\n\n\n\n");/*為了保持每行的間隔與每列的相同*/
for(j=0;j<4;j++)
ig)
為了使位數(shù)不同的數(shù)輸出依然保持三角型*/
else
printf(n\tn);
7、
*題目:輸入一個(gè)3x4的二維數(shù)組,然后分別按行和按列輸出。*/
#include<stdio.h>
#include<string.h>
voidmain()
(
intd[3][4]={{0,0Q0}},i,j;
printf(nPleaseinput12num:");
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf(n%d",&d[i][jl);
printf(n\n\nAnhang:");
for(i=0;i<3;i++)
for(j=0;j<4;j++)
printf("%d",d[i][j]);
printf("\n\nAnlie:");
for(i=0;i<4;i++)
for(j=0;j<3;j++)
printf("%d",d[j][i]);
)
8、
/*題目:編寫程序,將兩個(gè)字符串連接起來,不用strcat函數(shù)。*/
#include<stdio.h>
#include<string.h>
voidmain()
{charsl[5O],s2[5O];
inti=O,j=O,t=O;
printf("Inputone:");
gets(sl);
while(sl[i]!=W)i++;/*統(tǒng)計(jì)si中字符個(gè)數(shù)字/
printf(n\n\nInputsecond:");
gets(s2);
while(s2U]!=、(nj++;/*統(tǒng)計(jì)s2中字符個(gè)數(shù)*/
for(t=0;t<=j;t++)/*把s2中字符連接到si后面可
{sl[i]=s2[t];i++;}
printf(n\n\none+second:");
puts(sl);
)
9、
/*輸入一行字符串,統(tǒng)計(jì)字符對(duì)ab的個(gè)數(shù)。*/
#include<stdio.h>
#include<string.h>
#defineMAX100
voidmain()
(
charstrfMAX];
inti=0,flage=0;
intcount=0;
printf(n\nPleaseinputastring:");
gets(str);
while(str[ij)
{if(str[i]==,a')
flage=l;
elseif(str[i]==b')
if(flage==1)
{count++;flage=0;}
elseflage=O;
i++;
)
printf("thedoublecharV'ab\ucountis%d\n',,count);
)
10、
#include<stdio.h>/*相對(duì)于第一種方法,這種方法能把同為最大的字符串全部打印出來。*/
#include<string.h>
intpaixu(inta[J,intn)/*構(gòu)造對(duì)長度為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=ali];
a[i]=a[k];
a[k]=t;
)
)
temp=a[n-l];
returntemp;/*返回最大字符串的長度的值*/
)
voidmain()
(
charstrl[50],str2[50],str3[50],str4[50],str5[50],str6[50];
charstr7[50],str8[50],str9[50],strl0[50];
intcountll0J={0},tempi10]={0},ij;
intpaixu(inta[],intn);
for(i=l;i<=10;i++)/*輸入10個(gè)字符串*/
(
printf(n\nPleaseinput%dstring:"j);
if(i==l)
{gets(strl);while(str1[count[0]]){count[0]++;temp[0]++;}}
if(i==2)
{gets(str2);while(str2[count[1]]){count[l]++;temp[l]4-+;})
if(i==3)
{gets(str3);while(str3[counl[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[4J++;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(strlO);while(strlO[count[9]]){count[9]-H-;temp[9]++;}}
}
j=paixu(temp,10);
for(i=l;i<=10;i++)
(
if(count[i-l]==j)
{/*只要字符串長度與最大長度相等就打印出來*/
switch(i)
{casekputs(strl);printfCXn'1);break;
case2:puts(str2);printf("\n");break;
case3:puts(str3);printf("\n");break;
case4:puts(str4);printf(n\nn);break;
case5:puts(str5);printf(',\nn);break;
case6:puts(str6);printf('^\n^^);break;
case7:puts(str7);printf("\nM);break;
case8:puts(str8);printf(M\nn);break;
case9:puts(str9);printfCXn'1);break;
case10:puts(strl0);printf(n\nn);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],k,temp=0,s;
printf(H\nm=u);scanf("%dH,&m);/*確定M的個(gè)數(shù)*/
printf("\nn=,');scanf(,,%d,,,&n);/*確定N的個(gè)數(shù)*/
printf("\nPleaseinputmgeshu:");
for(s=0;s<m;s++)
scanf(M%dn,&a[s]);
printf(H\nPleaseinputngeshu:");
for(s=0;s<n;s++)
scanf("%dn,&b[s]);
i=m-l;j=O;k=O;/*i,j,分別標(biāo)記叫與b[]且都是從最大元素開始做標(biāo)記*/
for(;;)
{if(i==O)/*叫中只有一個(gè)數(shù)或者叫處理到了最后一個(gè)元素*/
{if(a[i]<=b[j])/*如果a□的最后一個(gè)元素<=b口中當(dāng)前元素*/
{c[k]=b[j];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=I*/
{temp=l;break;}
)
)
}if(temp==1)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)/*如果a口處理完,結(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=l,全部處理結(jié)束*/
)
for(s=0;s<m+n;s++)
printf("%dM,c[s]);
getch();
第八章
(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è)字符串,再刪除指定的字符*/
/*如果字符串中沒有指定字符,則輸出原字符串。*/
#include<stdio.h>
voidfun(char*str,charc)
{char*p;
for(p=str;*p!='\0,;p++)
if(*p!=c)
*str++=*p;
*slr=V)';
)
voidmain()
{charstr[8O],c;
printf(''\nPleaseinputastring:");
gets(str);
printf(H\n\nPleaseinputdeletechar:");
scanf(u%c",&c);
fun(str,c);
puts(str);
getch();
)
5、
/*從鍵盤輸入單詞,每個(gè)單詞之間用空格隔開,號(hào)結(jié)束輸入,*/
/*將每個(gè)單詞的第一個(gè)字母轉(zhuǎn)化成大寫字母。*/
#include<stdio.h>
#include<string.h>
charzhuanhua(charc)/*定義將小寫字母轉(zhuǎn)化為大寫字母的函數(shù)*/
{charC;
if(c>='a,&&c<=,z,)/*是小寫字母就轉(zhuǎn)化,不是則原樣返回可
C=c-32;
elseC=c;
returnC;
}/*此函數(shù)防止有標(biāo)點(diǎn)符號(hào)或者第一個(gè)字母本身是大寫字母*/
voidmain()
{chara[1001,*p=a;
inti=lj;
a[0]=f,;p++;/*為方便下面的if語句,初始化a[0]為空格*/
printf(M\nPleaseinputastring:");
for(;;)
{scanf("%c”,p);
if(*p=Y)
break;
p++;i++;
)
a[i]=W;
for(j=l;j<i;j++)
{if(aU-l]=='&&30]!=')/*第一個(gè)字母前面可能有很多空格*/
a|jkzhuanhua(a|jD;/*調(diào)用轉(zhuǎn)化函數(shù),使其變?yōu)榇髮懽帜?/
)
p=a;
while(*p)
{printf(H%c',,*p);p++;}
getch();
)
6、
/*輸入8個(gè)數(shù),排序后輸出。*/
#include<stdio.h>
#include<string.h>
voidmain()
{intdata[8],i,*pl,*p2,temp;
p1=data;
printf("\nlnput8number:");
for(i=0;i<8;i++)
{scanf(n%dn,pl);pl++;}
for(p1=data;pl<data+8-l;p1++)
for(p2=p1+1;p2<data+8;p2++)
if(*pl<*p2)
{temp=*p1;*p1=*p2;*p2=temp;}
for(i=0,p1=data;i<8;i++,p1++)
printf(H%dn,*pl);
getch();
)
7、
/*題目:輸入一個(gè)字符串,將此字符串的m個(gè)字符開始的第n個(gè)字符復(fù)制到另一個(gè)字符串。*/
#include<stdio.h>
voidmain()
{intm,n,i;
charaf100],b[100],*p,*q;
printf(nPleaseinputastring:");
gets(a);
p=a;q=b;
printf("\n\nPleaseinputmandn(like1,1):");
scanf("%d,%d",&m,&n);
if((strlen(a)>=m)&&((strlen(a)-m+1)>=n))/*復(fù)制的位置要符合要求*/
{p+=m-1;/*指針指向第一個(gè)要復(fù)制的字符*/
for(i=0;i<n;i++)
{*q=*p;p++;q++;}
*q='\0';
printf(HStringais:%s\nH,a);
printf("stringbis:%s\nu,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(H\nPleaseinput8geshu:");
for(k=0;k<8;k++)
{scanf(H%d,',&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[0J;a[0]=a[7];a[7]=templ;}
else
{temp2=a[7];a[7]=a[min];
a[0]=a[max];a[max]=temp2;
)
}
elseif(max==0)
{if(min!=7)
{temp2=a[7J;a[7]=a[min];a[mm]=temp2;}
)
else
{if(min==7)
{temp1=a[OJ;alO]=a[max];a[maxJ=temp1;}
elseif(max==7)
{temp2=a[7];a[7]=a[min];
a[min]=a[0];a[0]=temp2;
)
else
{temp1=a[OJ;temp2=a[7];
a[0]=a[max];a[7]=a[min];
a[min]=temp2;a[max]=templ;
for(k=0;k<8;k++)
printf("%dn,a[k]);
getch();
)
9、
/*輸入n個(gè)數(shù),并排序后輸出。*/
#include<stdio.h>
#include<string.h>
int*paixu(intdata[],intn)
{inti,*pl,*p2,temp;
pl=data;
for(p1=data;p1<data+n-1;p1++)
for(p2=p1+1;p2vdala+n;p2++)
if(*pl<*p2)
{temp=*p1;*p1=*p2;*p2=temp;}
pl=data;
returnpI;
)
voidmain()
{intn,a[100],i,*p=a;
printf(HPleaseinputn:");
scanf(u%du,&n);
printf(H\n\nPleaseenter%dgeshu:u,n);
for(i=0;i<n;i++)
{scanf(n%d",p);p++;}
p=paixu(a,n);
for(i=0;i<n;i++,p++)
printf("%dn,*p);
getch();
)
10、
#include"stdio.h"
#definemax1042
main()
(
floatj,almaxj;intt,i=0;
charb[m
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 三年級(jí)數(shù)學(xué)故事解讀
- 小王子書中純真之愛讀后感
- 自然資源開發(fā)與保護(hù)合作協(xié)議
- 智能家電銷售與保修協(xié)議
- 初中生歷史故事解讀
- 運(yùn)輸合同運(yùn)輸補(bǔ)充協(xié)議
- 辦公區(qū)域布局調(diào)研報(bào)告
- 環(huán)保咨詢服務(wù)協(xié)議
- 電子設(shè)備銷售及安裝維護(hù)合同
- 物流行業(yè)運(yùn)輸損壞物品賠償協(xié)議
- 北京電子科技職業(yè)學(xué)院招聘考試題庫2024
- 貸款的培訓(xùn)課件
- 無人系統(tǒng)自主控制
- 化工原理陳敏恒課件
- 景區(qū)保安投標(biāo)方案(技術(shù)方案)
- 中建辦公、生活區(qū)臨時(shí)設(shè)施施工方案
- 中國金融書法家協(xié)會(huì)入會(huì)申請(qǐng)表
- 地下室頂板支撐回頂方案
- 痛經(jīng)教學(xué)講解課件
- 基于康耐視相機(jī)的視覺識(shí)別實(shí)驗(yàn)指導(dǎo)書
- 水務(wù)集團(tuán)有限公司人事管理制度
評(píng)論
0/150
提交評(píng)論