




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
年卡科技大察
課程實(shí)驗(yàn)報(bào)告
課程名稱:c語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)
專業(yè)班級(jí):_______________
學(xué)號(hào):_______________
姓名:_______________
指導(dǎo)教師:_______________
報(bào)告日期:_______________
計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院
目錄
1流程控制實(shí)驗(yàn)......................................................1
1.1程序改錯(cuò)........................................................1
1.2程序修改替換..................................錯(cuò)誤!未定義書簽。
1.3程序設(shè)計(jì)........................................................3
1.4小結(jié)...........................................................18
2數(shù)組程序設(shè)計(jì)實(shí)驗(yàn).................................................19
2.1程序改錯(cuò)與跟蹤調(diào)試............................................19
2.2程序完善與修改替換............................................22
2.3程序設(shè)計(jì)......................................................27
2.4小結(jié)..........................................................52
3結(jié)構(gòu)與聯(lián)合實(shí)驗(yàn)...................................................54
3.1表達(dá)式求值的程序驗(yàn)證..........................................54
3.2源程序修改替換.................................................56
3.3程序設(shè)計(jì).......................................................59
3.4小結(jié)...........................................................95
參考文獻(xiàn)..........................................................96
1流程控制實(shí)驗(yàn)
1.1程序改錯(cuò)
/*合數(shù)判斷器*/
#include<stdio.h>
intmain(void)
inti,x,k,flag=0;
printf("本程序判斷合數(shù),請(qǐng)輸入大于1的整數(shù),以ctrl+Z結(jié)束\n〃);
while(scanf&x)!=E0F)
(
for(i=2,k=x?l;i<=k;i++)
(
if(!x%i)※※此處應(yīng)改為if(!(x/i))或改為if(x/i==0)
(
flag=l;
break;
)
)
if(flag=l)※※此處應(yīng)改為flag==l,一個(gè)“=”表示賦值
printf(zz%d是合數(shù)\n”,x);
else
printf("%d不是合數(shù)\n”,x);
※※此處應(yīng)添加語(yǔ)句flag=0,否則無(wú)論是否是合數(shù)flag的值始終是1
return0;
1.2程序修改替換
(1)修改方案:將原實(shí)驗(yàn)程序中if語(yǔ)句的break改為k=i;保證了if語(yǔ)句
執(zhí)行后退出循環(huán)。
(2)修改方案:將for循環(huán)改為如下代碼:
inti=2,k;
k=x>>l;
do{
if(!(x%i)){
flag=l;
break;}
i++;
}while(i<=k);
2
OC:\Users\20140\Desktop\Operate\X^L20201104\^^ft£SJ2.exe-□X
3不是合數(shù)
78是合數(shù)
79
79不是合數(shù)
103
103不是合數(shù)
234
234是合數(shù)
14
14是合數(shù)
17
17不是合數(shù)
*Z
Processexitedafter28.22secondswithreturnvalue0
請(qǐng)按任意鍵繼續(xù)...
(3)修改方案:定義兩個(gè)函數(shù),一個(gè)函數(shù)判斷為合數(shù),另一個(gè)判斷是純粹
合數(shù),并在main函數(shù)中調(diào)用判斷純粹合數(shù)的函數(shù),輸出所有的3位純粹合數(shù)。
程序代碼如下:
#include<stdio.h>
intNotPrime(intx)〃判斷是合數(shù)
I
inti,k,flag=0;
for(i=2,k=x>>l;i<=k;i++){
if(x%i==0){
flag=l;
break;
)
)
returnflag;
)
〃判斷是純粹合數(shù)
intpure(intx){
intflag=0,count=0;
for(intj=0;j<3;++j){
if(NotPrime(x))
count++;
x/=10;
3
if(count==3)
flag=l;
returnflag;
intmain(void){
intnum=0;
printf(〃純粹合數(shù)有\(zhòng)n〃);
for(intx=100;x<=999;++x){
if(pure(x)){
printf(〃%d\t〃,x);
num++;
if(num%10==0)
printfr\nz,);
)
return0;}
I3C:\Users\2O140\Desktop\Operate\±m(xù)20201104\g^fttS3.exe
-□X
純粹合數(shù)有
400402403404405406407408420422
423424425426427428429440441442
444445446447448450451452453454
455456458459460462464465466468
480481482483484485486488489
492493494495496497498600602
604605606608609620621622623
625626627628629630632633634
636637638639640642644645646
649650651652654655656657658
662663664665666667668669680
682684685686687688689690692
693694695696697698699800801802
804805806807808810812813814
816817818819820822824825826
840841842843844845846847848
850851852854855856858860861
864865866867868869870871872
874875876878879880882884885
888889900901902903904905906
909910912913914915916917918
921922923924925926927928930
932933934935936938939940942
944945946948949950951952954
956957958959960961962963964
966968969980981982984985986
988989990992993994995996998
999
Processexitedafter0.02486secondswithreturnvalue0
話按仃:點(diǎn)鍵繼續(xù).
I
4
1.3程序設(shè)計(jì)
1.計(jì)算稅金
1)解題思路:
2)程序源代碼:
①利用switch語(yǔ)句:
#include<stdio.h>
intmain(void){
intwage,tax,flag=l;
while(flag){
printf(〃\n請(qǐng)輸入工資:\n〃);//提示輸入工資
scanf(〃%d〃,&wage);
tax=(int)((wage)/1000);//用于計(jì)算不同的工資范圍
switch(tax){
case0:printf(〃您不用交稅金!〃);break;
case1:printf(〃您應(yīng)交稅金:%.3f,z,(float)wage*0.05);break;
case2:printf(〃您應(yīng)交稅金:%.3f,z,(float)wage*0.1);break;
case3:printf(〃您應(yīng)交稅金:%.3f,z,(float)wage*0.15);break;
5
case4:printf("您應(yīng)交稅金:%.3f”,(float)wage*0.2);break;
default:printf("您應(yīng)交稅金:%.3f”,(float)wage*O.25);break;
)〃強(qiáng)制類型轉(zhuǎn)換,輸出較為精確的浮點(diǎn)數(shù)
printf("\n是否需要繼續(xù)計(jì)算?(0or1)\n\n,/);
scanf(袋d〃,&flag);〃用于決定是否繼續(xù)循環(huán)的語(yǔ)句
)
return0;
)
②利用if語(yǔ)句:
#include<stdio.h>
intmain(void){
intx,y,flag=l;
while(flag){
printf(〃\n請(qǐng)輸入工資:\n");〃提示輸入工資
scanf&x);
if(x<0)
printf(”請(qǐng)輸入正整數(shù)!”);
if(x<1000)
printf(〃您不用交稅金!“);
if(x<2000&&x>=1000)
printf(“您應(yīng)交稅金:%.3f,z,(float)x*0.05);
if(x<3000&&x>=2000)
printf(“您應(yīng)交稅金:%.3r,(float)x*0.1);
if(x<4000&&x>=3000)
printf("您應(yīng)交稅金:%.3f/z,(float)x*0.15);
if(x<5000&&x>=4000)
printf("您應(yīng)交稅金:%.3r,(float)x*0.2);
if(x>5000)
printf("您應(yīng)交稅金:%.3f,z,(float)x*0.25);
6
〃強(qiáng)制類型轉(zhuǎn)換,輸出較為精確的浮點(diǎn)數(shù)
printf("\n是否需要繼續(xù)計(jì)算?(0orl)\n\n");
scanf("%d”,&flag);〃用于決定是否繼續(xù)循環(huán)的語(yǔ)句
return0;
3)測(cè)試:
X[0,1000)[10000,2000)[2000,3000)[3000,4000)[4000,5000)[5000,+8)
輸入值99911002400345643125679
結(jié)果不用交稅金55.000240.000518.400862.4001419.750
圖1-1程序設(shè)計(jì)題1的運(yùn)行結(jié)果
7
2.輸出滿足條件的三位數(shù)
1)解題思路:
2)程序源代碼:
#include<stdio.h>
intmain(void){
for(inti=100;i<=999;i++){〃for循環(huán)語(yǔ)句確定是三位數(shù)
intt;
t=i*i;
if(t/lOOO==i)〃if判斷該數(shù)平方末三位是否是該數(shù)本身
printf("%d\n”,i);〃若結(jié)果為真,輸出該值。
)
return0;
)
3)測(cè)試:
[1C:\Users\20140\Desktop\OperateVttfl20201104\2.exe-OX
625
Processexitedafter0.01501secondswithreturnvalue0
請(qǐng)按任意鍵繼續(xù)...
圖1?2程序設(shè)計(jì)題2的運(yùn)行結(jié)果
8
3.股票收盤價(jià)格波動(dòng)值
1)解題思路:
2)程序源代碼:
#include<stdio.h>
doubleabs(doublea){
if(a<0)
cl=-H
returna;
}〃定義絕對(duì)值函數(shù)
intmain(void){
doublea,b,max;
intday;
printf(〃請(qǐng)輸入天數(shù):\n〃);
scanf(〃%d〃,&day);
printf(〃請(qǐng)輸入這些天的收盤價(jià)格:\n〃);
scanf&b);〃提示輸入收盤天數(shù)與每天收盤價(jià)格
for(inti=l;i〈day;++i){
a=b;
scanf("lf〃,&b);
if(abs(a-b)>max)//if語(yǔ)句將每次的最大波動(dòng)值賦給max
max=abs(a-b);
)
printfC%.21f\n〃,max);〃輸出最大波動(dòng)值
return0;
}
3)測(cè)試:
項(xiàng)目測(cè)試輸入輸出
115396.00
21.231.782.571.590.98
3200267.45345.8978.44
9
圖1-3程序設(shè)計(jì)題3的運(yùn)行結(jié)果
4.將正文的多個(gè)空格用一個(gè)代替
1)解題思路:
2)程序源代碼:
#include<stdio.h>
intmain(void){
chara,b;
printf(〃請(qǐng)輸入一段正文,并以Ctrl+Z結(jié)束:\n〃);
while((b=getchar())!=EOF){
if(!(a=32&&b=32))〃如果前后兩個(gè)字符均為空格,則只輸出一個(gè)
putchar(b);
a=b;〃將后一個(gè)字符賦給前一個(gè)字符
return0;
10
Processexitedafter38.27secondswithreturnvalue0
請(qǐng)按任意鍵繼續(xù)...
圖1-4程序設(shè)計(jì)題4的運(yùn)行結(jié)果
5.輸出10行楊輝三角
1)解題思路:
2)程序源代碼:
Sinclude<stdio.h>
intmainO{
ii
inti,j,a[100][100];〃定義一個(gè)二維數(shù)組,代表行和列
for(i=0;i<10;++i)
a[i][0]=l;〃通過(guò)遍歷,將第一列的值賦為1
for(i=0;i<10;++i)
(
for(j=l;j<10;++j)
a[i][j]=(a[i][jT])*(i-j+l)/j;〃應(yīng)用公式將值存入二維數(shù)組中
)
for(i=0;i<10;++i)
(
for(j=i;j<10;++j)
printfC");〃打印空格,形成三角格式
for(j=0;j<10;++j)
(
if(a[i][j]!=0)
printf("Md",a[i][j]);〃按一個(gè)數(shù)字占四個(gè)字符的域?qū)捿敵?/p>
)
printf("\n");〃確保換行輸出
return0;
3)輸出結(jié)果:
圖1-5程序設(shè)計(jì)題5的運(yùn)行結(jié)果
6.輸出梅森素?cái)?shù)
1)解題思路:
定義判斷素裁的函敢定義判斷梅森素?cái)?shù)的函數(shù)
12
2)程序源代碼:
#include<stdio.h>
#include<math.h>
longisprime(longn)〃定義一個(gè)函數(shù)判斷是素?cái)?shù)
{
intflag=l;
for(inti=2;i<=sqrt(n);i++)
(
if(n%i==0)
(
fl
ag=0;
break;
)
)
returnflag;
)
longisMasonNumber(longnum)〃定義一個(gè)函數(shù)判斷是梅森數(shù)
(
intflag=0;
if(((num+1)&(num))==0)
flag=l;
returnflag;
)
intcount(longx)〃定義一個(gè)求某數(shù)是2的幾次方的函數(shù)
{
intcount=0;
inttotal=l;
while(totaKx)
(
total=total*2;
++count;
)
if(total==x)
returncount;
)
intmain(void)
(
longi=2,m;
printf(〃請(qǐng)輸入一個(gè)長(zhǎng)度大于三的長(zhǎng)整數(shù):\n〃);
scanf(〃%d〃,&m);
for(;i<=m;++i)
(
if(isMasonNumber(i))
//if循環(huán)的嵌套,先判斷是梅森數(shù),再判斷是否為梅森素?cái)?shù)
13
if(isprime(i))
printf(/ZM(%d)=%ld\n//,count(i+1),i);〃按示例輸出
}
)
return0;
)
3)測(cè)試:
輸入一個(gè)較大的m可得到結(jié)果如圖
dC:\Users\2O140\Desktop\Operate\±tn20201104\6.exe-OX
12345678
M(2)=3
M(3)=7
M(5)=31
M(7)=127
M(13)=8191
M(17)=131071
M(19)=524287
Processexitedafter2.18secondswithreturnvalue0
請(qǐng)按任意就繼續(xù)..■
圖1-6程序設(shè)計(jì)題6的運(yùn)行結(jié)果
7.篩法構(gòu)造素?cái)?shù)表
1)解題思路:
先利用篩法將素?cái)?shù)的倍數(shù)篩去,得到的數(shù)組的值為1的元素的下標(biāo)即為素?cái)?shù)
通過(guò)循環(huán)結(jié)構(gòu),格下標(biāo)存入半數(shù)數(shù)組中
2)程序源代碼:
#include<stdio.h>
Sdefinescale100000〃可改變素?cái)?shù)表輸出范圍
intmainO
{longlongi,j,a[scale],prime[scale];
for(a[0]=a[l]=0,i=2;Kscale;i++)
14
a[i]=l;
for(i=2;i<scale;i++)
(
if(a[i]){
for(j=i*2:j<scale;j+=i)a[j]=0;〃篩掉素?cái)?shù)的倍數(shù)
longlongn=0;
for(i=2;i〈scale;++i)
(
if(a[i])
{prime[n]=i;++n;〃將表中的下標(biāo)(素?cái)?shù))存入素?cái)?shù)表中
})
longlongm;scanf&m);
longlongq=0;
for(;prime[q+l]。;q++)〃查找素?cái)?shù)表輸出季生素?cái)?shù)
(
if(prime[q+l]-prime[q]==2)
printf(/z(%lld,%1Id)\nz,,prime[q],prime[q+1]);
)
return0;}
3)測(cè)試輸出:
分別輸入m的值為50,150,500可得如圖結(jié)果:
ClC:\Users\20140\Desktop\Operate\Jz^L20201104\10.exe?(3C:\Users\2O140\Desktop\Operate\Jb?l20201104\10.exe
50(3,5)
(3.5)(5,7)
(11.13)
(5,7)(17.19)
(11,13)(29,31)
(17,19)(41.43)
(59,61)
(29,31)(71,73)
(41,43)(101,103)
(107,109)
(137,139)
Processexitedafter1.198secondswithreturnvalue0
信按任意鍵繼續(xù)....Processexitedafter1.765secondswithreturnvalue0
請(qǐng)按住總鍵繼續(xù)....
[1C:\Users\2O140\Desktop\Operate\±?U0201104\10.exe
廨之叫的俏:O00
(3.5)
(5,7)
(11,13)
(17.19)
(29.31)
(41,43)
(59.61)
(71.73)
(101,103)
(107,109)
(137,139)
(149.151)
(179,181)
(191,193)
(197,199)
(227,229)
(239,241)
(269.271)
(281,283)
(311.313)
(347,349)
(419.421)
(431,433)
(461,463)
Processexitedafter1.953secondswithreturnvalue0
請(qǐng)按任意鍵繼續(xù)...
圖1-7程序設(shè)計(jì)題7的運(yùn)行結(jié)果
15
8.輸出符合形式的表達(dá)式
1)解題思路:
2)程序源代碼:
#include<stdio.h>
intmainO{
intp,i=0,j=0,k=0,A[10],x;
longm=0,n=0;
scanf(〃%d〃,&p);
for(;n<=98765;n++){
x=0;
m=n;
for(i=4;i>=0;i"){〃將被除數(shù)各位存在數(shù)組中
A[i]=m%10;
m=m/10;
)
if((n%p)!=0)
continue;
else{〃當(dāng)被除數(shù)可整除輸入的數(shù)時(shí),將除數(shù)的各位存在數(shù)組中
m=n/p;
for(i=9;i>=5;i-){
A[i]=m%10;
m=m/10;
16
for(k=0;k<=8;k++){〃嵌套循環(huán),當(dāng)有重復(fù)數(shù)字時(shí)退出循環(huán)
for(j=k+l;j<=9;j++){
if(A[k]==ALj]){
x=l;
break;}
)
if(x==l)
break;
)
if(x==O){〃循環(huán)得到保存在數(shù)組中的數(shù)字,并按格式輸出
for(i=0;i<=4;i++)
printf(級(jí)d”,A[i]);
printf('/");
for(i=5;i<=9;i++)
printf(袋d”,A[i]);
printf(//=%d\n/,,p);
return0;
3)測(cè)試:
項(xiàng)目測(cè)試輸入輸出
13275168/02349=32
22439528/01647=24
46872/01953=24
36898736/01452=68
01C:\Users\2O140\Desktop\mtfirg1.exe-□X1
32
75168/02349=32
Processexitedafter1.401secondswithreturnvalue0
請(qǐng)按任意鍵繼續(xù)..?
□1C:\Users\20140\DesktopVfe命名1.exe□1C:\Users\20140\Desktop\^^€1.exe
2468
39528/01647=2498736/01452=68
46872/01953=24
Processexitedafter1.777secondswithreturnvalue0Processexitedafter1.322secondswithreturnvalue0
遣按任意鍵繼續(xù)...請(qǐng)按任意鍵繼續(xù)..■
■
圖1-8程序設(shè)計(jì)題8的運(yùn)行結(jié)果
17
1.4小結(jié)
通過(guò)本節(jié)有關(guān)程序設(shè)計(jì)中流程控制的程序設(shè)計(jì)題目,我進(jìn)一步地練習(xí)了如何
運(yùn)用嵌套循環(huán),掌握了用篩法求素?cái)?shù)表,但是在按照格式輸出結(jié)果,算法的實(shí)現(xiàn)
上尚還欠缺能力。
18
2數(shù)組程序設(shè)計(jì)實(shí)驗(yàn)
2.1程序改錯(cuò)與跟蹤調(diào)試
(i)單步執(zhí)行源程序的跟蹤調(diào)試
?t=0x62fe00"Programming"1#include<stdio.h>
s=0x62fe10"Language"2voidstrcate(char[],char[1:
回i=123voidstrdeIc(char[J,char);
?j=04intmain(void)
回典=owoa
50{
“Pi
?t=Ox62feOO"Programming"1#include<stdio.h>
M
gs=0x62fe10uage"2voidstrcate(char(],char[])
◎i=123voidstrdeIc(char(],char);
&j=04intmain(void)
@^t(i]=OAOOO'
5B(
Pi
由調(diào)試結(jié)果可知,當(dāng)其進(jìn)入strcate函數(shù)時(shí),字符數(shù)組t和s的內(nèi)容都是正確的。當(dāng)處在第二
個(gè)while語(yǔ)句時(shí)i=12,但是由于“Programming"的字符個(gè)數(shù)是11,因此此時(shí)應(yīng)該是在t[l1]
的位置,所以i應(yīng)該減去1;才能順利完成后續(xù)的拼接操作。而當(dāng)執(zhí)行到花括號(hào)時(shí),發(fā)現(xiàn)按預(yù)
料的一樣并未執(zhí)行正確。因?yàn)閠[ll]的值也為,\0',所以此時(shí)字符數(shù)組t的結(jié)果就像是沒(méi)有
拼接一樣,其實(shí)是從U12]開始進(jìn)行了復(fù)制操作。我們添加代碼i=i-l;后得到如下結(jié)果:
我們發(fā)現(xiàn)此時(shí)s的值輸出并不正確。
19
t=0x62fe00"ProgrammingLanguage"1#incIude<stdio.h>
s=0x62fe10',ageM2voidstrcate(char[],char|
is113voidstrdeIc(char[],char);
0J=04intmain(void)
?t[i]=o、oo(y
5E3{
6chara[]="Language",b[]
7p「intf("%s%s\n”,b,a);
08
嗎
10return0:
11L)
12
13voidstrcate(chart[],chars
14Epn
15inti?0,j?0;
16whiIe(t[i??]);
17i=i-1;
18whiIe((t[i?+]=s[j++])!n'
?9
20
21voidstrdelc(chars[],charc
22E3{
23intj,k;
24for(j?k■0;s[j]!s*\0';j+?
25if(s[j]!=c)s[k++]=s[j];
26L)
*57
(2)跟蹤進(jìn)入strdelc函數(shù)
國(guó)s=0x62fe00"ProgrammingLanguage"1#incIude<stdio.h>
0LJ=O2voidstrcate(c[].Char[
國(guó)k=0
3voidstrdeIc(c[],char);
4intmain(void)
5E3(
u
6chara[]?**Languagerb(J?
7printf("%s%s\n",b,a);
?8
?9
10return0;
11-)
12
13voidstrcate(chart[],char
14E3(
15inti?0,j?0;
16whiIe(t[i?+])
17i=i-1;
18whi1e((t(i++]
L
19)
20
21voidstrdelc(char
22E3(
23intj,k;
24fo-(j=k=O;c[j,\O';j??
?5
26L)
我們看到,初始進(jìn)入函數(shù)時(shí)值是正確的,然而最終得到的結(jié)果卻是
ProgrmmingLngugeage,正確結(jié)果是ProgrmmingLnguge,可見數(shù)組末尾多了"age”
20
三個(gè)字符。這是由于數(shù)組本該在s[k]處終止,因此,要將其值賦為‘\0'。最后
得到結(jié)果如圖:
□IC:\Users\20140\Desktop\Operate\C語(yǔ)音上機(jī)友魁第五次上機(jī)20201119\程序改錯(cuò)與痢捺調(diào)試.exe一口X
ProgrammingLanguage
ProgrannningLanguageLanguage
PrognnmingLnguge
最終代碼修改方案如下:
#include<stdio.h>
voidstrcate(char[],char[]);
voidstrdelc(char[],char);
intmain(void)
(
chara口二〃Language”,b□二〃Programming”;
printf(,z%s%s\n〃,b,a);
strcate(b,a);printf(〃%s%s\n,,>b,a);
strdelc(b,'a');printf(〃%s\n〃,b);
return0;
voidstrcate(chart[],chars[])
(
inti=0,j=0;
while(t[i++]);
此處添加代碼i=i-l;
while((t[i++]=s[j++])!-\0f);
)
voidstrdelc(chars[],charc)
intj,k;
for(j=k=0;s[j]!='\0';j++)
if(s[j]!=c)s[k++]=s[j];
2l
此處添加代碼s[k]='\O';
)
2.2程序完善與修改替換
(1)文本去重
①完善后代碼:
#include<stdio.h>
#include<string.h>
voidRemoveDuplicate(char*s);
intmain(){
charstr[200];
printf(z,Inputstrings,endofCtrl+z\n,z);
while(fgets(str,200,stdin)!=NULL){
RemoveDuplicate(str);
printf(〃%s〃,str);
)
return0;
)
voidRemoveDuplicate(char*s){
intr,w,i,len;
len=strlen(s);
for(r=w=0;r<1en;r++){
if(s[r]){
s[w++]=s[r];
for(i=r+l;i<len;i++){
if(s[i]=s[r])
s[i]='\0';
22
s[w]=\0";
運(yùn)行結(jié)果如下:
ClC:\Users\20140\Desktop\Operate\C語(yǔ)占上機(jī)能五次上機(jī)20201119、程序完善和修改苕換L1.exe-□X
Inputstrings,endofCtrl+z
12eerer
12er
husthust666!!
hust6!
'Z
Processexitedafter28.54secondswithreturnvalue0
請(qǐng)按任意鍵繼續(xù)....
②空間換時(shí)間提高效率:
#include<stdio.h>
#include<string.h>
voidRemoveDuplicate(char*s);
intmain(){
charstr[200];
printf("Inputstrings,endofCtrl+z\n〃);
while(fgets(str,200,stdin)!=NULL){
RemoveDuplicate(str);
printf(〃%s〃,str);
)
return0;
)
voidRemoveDuplicate(char*s){
inti,j,len,remainder;
intcheck[8]={0};
len=strlen(s);
for(i=j=0;i<len;i++){
remainder=s[i]%32;
if((check[s[i]?5]&(1<<remainder))==0)
s[j++]=s[i];
23
check[s[i]?5]=(1?remainder);
)
I
s[j]='\(r;
)
運(yùn)行后截圖:
ClC:\U$ers\20140\De$ktop\Operate\C?8±ai5aS!\3gfi5LtVl2020111.Z.exe-□X
Inputstrings,endofCtrl+z
12eerer
12er
husthust888!!!
hust8!
pioJ.inH
progflniin
-Z
Processexitedafter33.19secondswithreturnvalue0
請(qǐng)按任意鍵繼續(xù)...
(2)約瑟夫問(wèn)題
①完善代碼:
#include<stdio.h>
#include<string.h>
intmain(void)
(
intM,N;
scanf("%d%d”,&M,&N);
inta[M],b[M];
inti,j,k;
for(i=0;i<M;i++)
a[i]=i+l;
for(i=M,j=0;i>l;i—)
(
for(k=l;k<=N;k++)
if(++j>i-l)j=0;
b[M-i]=(j?a[j-l]:a[i-l]);
if(j)
for(k=-j;k<i;k++)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 專題5.3 平面向量的數(shù)量積(解析版)-2024年高考數(shù)學(xué)一輪復(fù)習(xí)精講精練寶典(新高考專用)
- 2020-2021深圳寶安區(qū)精-華學(xué)校小學(xué)三年級(jí)數(shù)學(xué)上期末模擬試題(附答案)
- 2025從電商及產(chǎn)業(yè)互聯(lián)網(wǎng)看出海新機(jī)遇
- 大便槽施工方案
- 車工知識(shí)和技能培訓(xùn)課件
- 反擔(dān)保借款合同范例
- 提升員工滿意度的重要措施計(jì)劃
- 提升劇院及演出場(chǎng)所安保能力的建議計(jì)劃
- 倉(cāng)庫(kù)作業(yè)管理的系統(tǒng)化思維計(jì)劃
- 倉(cāng)儲(chǔ)物流行業(yè)保安工作總結(jié)計(jì)劃
- 2024年全國(guó)英語(yǔ)競(jìng)賽《B類英語(yǔ)專業(yè)》初賽試題真題及答案
- 小學(xué)生中國(guó)舞課件大全
- 2025年南京信息職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)完整
- 《Spring框架》教學(xué)課件
- 2025年中考英語(yǔ)時(shí)文閱讀 6篇有關(guān)電影哪吒2和 DeepSeek的英語(yǔ)閱讀(含答案)
- 大連理工大學(xué)機(jī)械制圖習(xí)題集答案
- 化工工藝1概論
- 24種積極心理品質(zhì)精編版
- 學(xué)生特異體質(zhì)調(diào)查表
- BACnet網(wǎng)絡(luò)講義
- 20世紀(jì)30年代經(jīng)濟(jì)危機(jī)對(duì)美國(guó)高等教育的影響
評(píng)論
0/150
提交評(píng)論