C語言習(xí)題課級(jí)期末考試題專講課件_第1頁(yè)
C語言習(xí)題課級(jí)期末考試題專講課件_第2頁(yè)
C語言習(xí)題課級(jí)期末考試題專講課件_第3頁(yè)
C語言習(xí)題課級(jí)期末考試題專講課件_第4頁(yè)
C語言習(xí)題課級(jí)期末考試題專講課件_第5頁(yè)
已閱讀5頁(yè),還剩51頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

/JudgeOnline/showcontest?contest_id=11612023/1/61/JudgeO1植樹問題Description某學(xué)校植樹節(jié)開展植樹活動(dòng),已知樹苗有m株,參加植樹的同學(xué)有n人(且m>n),請(qǐng)問每位同學(xué)平均可以植樹幾株?還有幾株剩余?Input輸入兩個(gè)整數(shù)m和n,分別表示樹苗的數(shù)量和學(xué)生的人數(shù)(m>n)Output輸出每位同學(xué)平均植樹的數(shù)量及剩余的樹苗數(shù)量。SampleInput16332SampleOutput532023/1/621植樹問題Description2023/1/621植樹問題:code#include<stdlib.h>main(){intm,n;

scanf("%d",&m);scanf("%d",&n);printf("%d%d",m/b,m%n);}m/b:求商m%n:求余數(shù)2023/1/631植樹問題:code#include<stdlib.h>m2工資問題Description某工廠規(guī)定一個(gè)工人正常工作時(shí)間為每個(gè)月160小時(shí)。若一個(gè)工人本月工作時(shí)間不超過160小時(shí),則每小時(shí)工資為20元。若本月工作時(shí)間超出160小時(shí),超出部分可算作加班時(shí)間,加班時(shí)間每小時(shí)30元。輸入該工人當(dāng)月的工作時(shí)間,請(qǐng)計(jì)算并輸出該工人當(dāng)月的工資?!?Input輸入一個(gè)正整數(shù)n,表示該工人當(dāng)月工作n個(gè)小時(shí)。Output輸出一個(gè)整數(shù),單獨(dú)占一行,表示該工人當(dāng)月的工資。SampleInput170

SampleOutput35002023/1/642工資問題Description2023/1/642工資問題code#include<stdlib.h>main(){ intn; scanf("%d",&n); if(n<=160) { printf("%d",20*n); }else{ printf("%d",160*20+(n-160)*30); }}2023/1/652工資問題code#include<stdlib.h>203回文數(shù)Description“回文數(shù)”是一個(gè)正讀和反讀都一樣的數(shù),編程判斷一個(gè)5位數(shù)n是否是一個(gè)回文數(shù)。Input輸入一個(gè)整數(shù)n,10000<=n<=99999Output判斷n是否是一個(gè)回文數(shù),如果是,輸出yes,否則輸出noSampleInput15751SampleOutputyes2023/1/663回文數(shù)Description2023/1/663回文數(shù):code#include<stdlib.h>main(){ intn; scanf("%d",&n);

if((n/10000==n%10)&&((n/1000)%10==(n/10)%10)) printf("yes"); else printf("no");}2023/1/673回文數(shù):code#include<stdlib.h>204分?jǐn)?shù)數(shù)列求和Description輸入一個(gè)正整數(shù),計(jì)算1-1/4+1/7-1/10+1/13……的前n項(xiàng)之和,輸出時(shí)保留2位小數(shù)。Input輸入正整數(shù)n,表示項(xiàng)數(shù)。Output輸出前n項(xiàng)之和,保留2位小數(shù)。SampleInput3SampleOutput0.892023/1/684分?jǐn)?shù)數(shù)列求和Description2023/1/684分?jǐn)?shù)數(shù)列求和:code#include<stdlib.h>#include<math.h>#include<stdio.h>main(){ inti,n; doublenumber=1.0; scanf("%d",&n); for(i=1;i<n;i++) {

number+=(pow(-1,i)/(1+3*i)); } printf("%.2f",number);}2023/1/694分?jǐn)?shù)數(shù)列求和:code#include<stdlib.h5畫箭Description在冷兵器時(shí)代,弓箭是最可怕的致命武器。弓由彈性的弓臂和有韌性的弓弦構(gòu)成;箭包括箭頭、箭桿和箭羽?,F(xiàn)在,我們想要用字符串表示箭,箭羽用‘+’表示,箭桿的長(zhǎng)度用減號(hào)的個(gè)數(shù)表示,比如”+--->”,這是一個(gè)長(zhǎng)度為3,向右射的箭。”<--+”,這是一個(gè)長(zhǎng)度為2,向左射的箭。Input輸入一個(gè)非零整數(shù)n,-100<=n<=100,正數(shù)表示向右射的箭,負(fù)數(shù)表述向左Output按描述輸出箭的形狀SampleInput-2SampleOutput<--+2023/1/6105畫箭Description2023/1/6105畫箭code inti,n; scanf("%d",&n);

if(n>0) { printf("+"); for(i=0;i<n;i++) { printf("-"); } printf(">"); }else{ printf("<"); for(i=0;i<-1*n;i++) { printf("-"); } printf("+"); }2023/1/6115畫箭code inti,n; 2023/1/6116各位數(shù)字和Description從鍵盤任意輸入一個(gè)整數(shù)n,編程計(jì)算n的每一位數(shù)字相加之和(忽略整數(shù)前的正負(fù)號(hào))。例如,輸入n為-1234,則有1+2+3+4=10,輸出10。

要求定義并使用函數(shù)DigitSum()求n的各位數(shù)字和,其余功能在main()函數(shù)中實(shí)現(xiàn)。

intDigitSum(intn)

{

//函數(shù)返回n的各位數(shù)字之和

}Input輸入一個(gè)int范圍內(nèi)的正整數(shù)n。Output輸出一個(gè)整數(shù),為n的各位數(shù)字之和。SampleInput2345111

SampleOutput172023/1/6126各位數(shù)字和Description2023/1/6126各位數(shù)字和:code#include<stdlib.h>#include<math.h>#include<stdio.h>main(){ intnumber=0,n; scanf("%d",&n);

n=abs(n); while(n>0) { number+=n%10; n=n/10; } printf("%d",number+n);}將此處代碼提取出來,按題目要求封裝成函數(shù)DigitSum2023/1/6136各位數(shù)字和:code#include<stdlib.h>7最勤奮的學(xué)生Description鑒于晚自習(xí)遲到早退現(xiàn)象比較嚴(yán)重,計(jì)算機(jī)學(xué)院出臺(tái)一個(gè)鼓勵(lì)政策,記下每位同學(xué)到達(dá)和離開自習(xí)室的時(shí)間,然后根據(jù)上晚自習(xí)的時(shí)間的長(zhǎng)短評(píng)選出每個(gè)班當(dāng)天最勤奮的學(xué)生,第二天張榜表?yè)P(yáng)。現(xiàn)有計(jì)科1班某天晚自習(xí)的簽到記錄,請(qǐng)選出計(jì)科1班該天最勤奮的學(xué)生。Input第一行輸入n。表示一共有n個(gè)記錄(n<=100)。接下來n行,每行三個(gè)數(shù)據(jù),分別是姓名,到達(dá)時(shí)間和離開時(shí)間(姓名長(zhǎng)度不超過20)。姓名不含空格,且不會(huì)有相同姓名出現(xiàn)。Output自習(xí)時(shí)間最長(zhǎng)的姓名。SampleInput3Jim6:229:22Lucy8:009:45Kate6:459:30SampleOutputJim2023/1/6147最勤奮的學(xué)生Description2023/1/6147最勤奮的學(xué)生:code#defineN100typedefstructstu{ charname[20]; intstartH; intstartM; intendH; intendM; intpriority;}STU;

2023/1/6157最勤奮的學(xué)生:code#defineN1002023/7最勤奮的學(xué)生:codeinti,n,temp=0,stunumber=0; //temp臨時(shí)變量,記錄學(xué)生自習(xí)的最長(zhǎng)時(shí)間(分鐘為單位)stunumber記錄最長(zhǎng)自習(xí)時(shí)間的學(xué)生編號(hào)STUs[N];scanf("%d",&n);for(i=0;i<n;i++){ scanf("%s%d:%d%d:%d",&s[i].name,&s[i].startH,&s[i].startM,&s[i].endH,&s[i].endM);

s[i].priority=s[i].endH*60+s[i].endM-s[i].startH*60-s[i].startM;}for(i=0;i<n;i++){ if(temp<s[i].priority){ temp=s[i].priority; stunumber=i; }}printf("%s",s[stunumber].name);2023/1/6167最勤奮的學(xué)生:codeinti,n,temp=0,stu8多種進(jìn)制數(shù)的排序Description有n個(gè)數(shù)字串,這n個(gè)數(shù)字串的進(jìn)制可能不同,每個(gè)數(shù)字串的進(jìn)制由數(shù)字k指定,k>=2且k<=10,如,k=2,則數(shù)字串1101表示一個(gè)二進(jìn)制數(shù),轉(zhuǎn)化為10進(jìn)制數(shù)為13將這n個(gè)數(shù)轉(zhuǎn)化為十進(jìn)制,然后按從小到大的順序輸出。Input首先輸入整數(shù)n(1<=n<=10),然后是n行,每行包含一個(gè)整數(shù)k和一個(gè)數(shù)字串,用空格隔開,該數(shù)字串表示一個(gè)k進(jìn)制數(shù)。所有輸入均為非負(fù)數(shù)。輸入的所有整數(shù)均在int范圍內(nèi)。Output按從小到大的順序輸出這n個(gè)數(shù)對(duì)應(yīng)的十進(jìn)制數(shù)。2023/1/6178多種進(jìn)制數(shù)的排序Description2023/1/61多種進(jìn)制數(shù)的排序SampleInput421101322121827610134SampleOutpu/p>

Hint提示:將這四個(gè)數(shù)轉(zhuǎn)化為10進(jìn)制數(shù)分別是故排序后為:131341902322023/1/618多種進(jìn)制數(shù)的排序SampleInput2023/1/618多種進(jìn)制數(shù)的排序:code#include<stdlib.h>#include<stdio.h>typedefstructsystem{//進(jìn)制 intbasenumber;//基數(shù)

intdigit;//數(shù)字}SYS;intchange(intbnumber,intdigit);intpowint(intbnumber,intdigit);voidbubble(inta[],intn);2023/1/6198多種進(jìn)制數(shù)的排序:code#include<stdlib8多種進(jìn)制數(shù)的排序:codeintmain(){ inti,n,a[10]; SYSs[10]; scanf("%d",&n); for(i=0;i<n;i++) {

scanf("%d%d",&s[i].basenumber,&s[i].digit);

a[i]=change(s[i].basenumber,s[i].digit); }

bubble(a,n);}2023/1/6208多種進(jìn)制數(shù)的排序:codeintmain()2023/18多種進(jìn)制數(shù)的排序:codeintchange(intbnumber,intdigit)//轉(zhuǎn)換函數(shù){ intdec=0; inti=0; while(digit>0){

dec+=(digit%10)*powint(bnumber,i); digit/=10; i++; } returndec;}Math中自帶的pow()函數(shù),返回值為double型2023/1/6218多種進(jìn)制數(shù)的排序:codeintchange(intb8多種進(jìn)制數(shù)的排序:codeintpowint(intbnumber,intn){ intj,temp=1; for(j=0;j<n;j++) {

temp*=bnumber; } returntemp;}2023/1/6228多種進(jìn)制數(shù)的排序:codeintpowint(intbvoidbubble(inta[],intn){ inti,j,temp=0; for(i=0;i<n-1;i++){ for(j=0;j<n-i-1;j++){ if(a[j]>a[j+1]){

temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; }}}

for(i=0;i<n-1;i++){printf("%d",a[i]);} printf("%d",a[n-1]);}8多種進(jìn)制數(shù)的排序:code分兩次打印輸出。最后一個(gè)數(shù)后面沒有空格2023/1/623voidbubble(inta[],intn)8多種進(jìn)8多種進(jìn)制數(shù)的排序:code2023/1/6248多種進(jìn)制數(shù)的排序:code2023/1/624補(bǔ)充:矩陣邊界和(指針專題)題目描述給定一個(gè)m行n列的二維矩陣,求其四周邊元素和。1<=m、n<=100000,可能是1行100000列,也可能是10000行50列,但保證矩陣元素不多于500000。你可能不能預(yù)定義數(shù)組的大小了,你要學(xué)會(huì)使用動(dòng)態(tài)內(nèi)存分配哦。你可以動(dòng)態(tài)申請(qǐng)m*n個(gè)內(nèi)存單元,然后用一維數(shù)組來存儲(chǔ)二維數(shù)組,二維數(shù)組元素a[i][j]對(duì)應(yīng)一維數(shù)組a[i*n+j],i、j均從0開始。輸入輸入第一行是m和n,然后是一個(gè)m行n列的矩陣。輸出輸出一個(gè)整數(shù),表示矩陣所有邊界元素的和。樣例輸入34123456789546樣例輸出

472023/1/625補(bǔ)充:矩陣邊界和(指針專題)題目描述2023/1/625code#include<stdio.h>#include<stdlib.h>main(){ intm,n; inti,j; int*p=NULL; intsum=0; scanf("%d%d",&m,&n);

p=(int*)calloc(m*n,sizeof(int)); for(i=0;i<m;i++) { for(j=0;j<n;j++) { scanf("%d",&p[i*n+j]); } }

2023/1/626for(i=0;i<m;i++){

for(j=0;j<n;j++){

if(i==0||j==0||i==m-1||j==n-1) sum+=p[i*n+j]; }} printf("%d",sum);}free(p);code#include<stdio.h>2023/1/61174:矩陣轉(zhuǎn)置(指針專題)題目描述給定一個(gè)m行n列的二維矩陣,輸出其轉(zhuǎn)置矩陣。1<=m、n<=100000,可能是1行100000列,也可能是10000行50列。你可能不能預(yù)定義數(shù)組的大小了,你要學(xué)會(huì)使用動(dòng)態(tài)內(nèi)存分配哦。輸入輸入第一行是m和n,然后是一個(gè)m行n列的矩陣。輸出輸出轉(zhuǎn)置后的矩陣2023/1/627樣例輸入34123456789546樣例輸出1592653744861174:矩陣轉(zhuǎn)置(指針專題)題目描述2023/1/627code

for(j=0;j<n;j++)//列 {

for(i=0;i<m;i++)//行 { printf("%d",p[i*n+j]); } printf("\n"); }2023/1/628每列最后一個(gè)也有一個(gè)空格,想想怎么解決?if(i==m-1)printf(“%d”,p[i*n+j];elseprintf("%d",p[i*n+j]);code for(j=0;j<n;j++)//列2023/1/JudgeOnline/showcontest?contest_id=11612023/1/629/JudgeO1植樹問題Description某學(xué)校植樹節(jié)開展植樹活動(dòng),已知樹苗有m株,參加植樹的同學(xué)有n人(且m>n),請(qǐng)問每位同學(xué)平均可以植樹幾株?還有幾株剩余?Input輸入兩個(gè)整數(shù)m和n,分別表示樹苗的數(shù)量和學(xué)生的人數(shù)(m>n)Output輸出每位同學(xué)平均植樹的數(shù)量及剩余的樹苗數(shù)量。SampleInput16332SampleOutput532023/1/6301植樹問題Description2023/1/621植樹問題:code#include<stdlib.h>main(){intm,n;

scanf("%d",&m);scanf("%d",&n);printf("%d%d",m/b,m%n);}m/b:求商m%n:求余數(shù)2023/1/6311植樹問題:code#include<stdlib.h>m2工資問題Description某工廠規(guī)定一個(gè)工人正常工作時(shí)間為每個(gè)月160小時(shí)。若一個(gè)工人本月工作時(shí)間不超過160小時(shí),則每小時(shí)工資為20元。若本月工作時(shí)間超出160小時(shí),超出部分可算作加班時(shí)間,加班時(shí)間每小時(shí)30元。輸入該工人當(dāng)月的工作時(shí)間,請(qǐng)計(jì)算并輸出該工人當(dāng)月的工資?!?Input輸入一個(gè)正整數(shù)n,表示該工人當(dāng)月工作n個(gè)小時(shí)。Output輸出一個(gè)整數(shù),單獨(dú)占一行,表示該工人當(dāng)月的工資。SampleInput170

SampleOutput35002023/1/6322工資問題Description2023/1/642工資問題code#include<stdlib.h>main(){ intn; scanf("%d",&n); if(n<=160) { printf("%d",20*n); }else{ printf("%d",160*20+(n-160)*30); }}2023/1/6332工資問題code#include<stdlib.h>203回文數(shù)Description“回文數(shù)”是一個(gè)正讀和反讀都一樣的數(shù),編程判斷一個(gè)5位數(shù)n是否是一個(gè)回文數(shù)。Input輸入一個(gè)整數(shù)n,10000<=n<=99999Output判斷n是否是一個(gè)回文數(shù),如果是,輸出yes,否則輸出noSampleInput15751SampleOutputyes2023/1/6343回文數(shù)Description2023/1/663回文數(shù):code#include<stdlib.h>main(){ intn; scanf("%d",&n);

if((n/10000==n%10)&&((n/1000)%10==(n/10)%10)) printf("yes"); else printf("no");}2023/1/6353回文數(shù):code#include<stdlib.h>204分?jǐn)?shù)數(shù)列求和Description輸入一個(gè)正整數(shù),計(jì)算1-1/4+1/7-1/10+1/13……的前n項(xiàng)之和,輸出時(shí)保留2位小數(shù)。Input輸入正整數(shù)n,表示項(xiàng)數(shù)。Output輸出前n項(xiàng)之和,保留2位小數(shù)。SampleInput3SampleOutput0.892023/1/6364分?jǐn)?shù)數(shù)列求和Description2023/1/684分?jǐn)?shù)數(shù)列求和:code#include<stdlib.h>#include<math.h>#include<stdio.h>main(){ inti,n; doublenumber=1.0; scanf("%d",&n); for(i=1;i<n;i++) {

number+=(pow(-1,i)/(1+3*i)); } printf("%.2f",number);}2023/1/6374分?jǐn)?shù)數(shù)列求和:code#include<stdlib.h5畫箭Description在冷兵器時(shí)代,弓箭是最可怕的致命武器。弓由彈性的弓臂和有韌性的弓弦構(gòu)成;箭包括箭頭、箭桿和箭羽?,F(xiàn)在,我們想要用字符串表示箭,箭羽用‘+’表示,箭桿的長(zhǎng)度用減號(hào)的個(gè)數(shù)表示,比如”+--->”,這是一個(gè)長(zhǎng)度為3,向右射的箭?!?lt;--+”,這是一個(gè)長(zhǎng)度為2,向左射的箭。Input輸入一個(gè)非零整數(shù)n,-100<=n<=100,正數(shù)表示向右射的箭,負(fù)數(shù)表述向左Output按描述輸出箭的形狀SampleInput-2SampleOutput<--+2023/1/6385畫箭Description2023/1/6105畫箭code inti,n; scanf("%d",&n);

if(n>0) { printf("+"); for(i=0;i<n;i++) { printf("-"); } printf(">"); }else{ printf("<"); for(i=0;i<-1*n;i++) { printf("-"); } printf("+"); }2023/1/6395畫箭code inti,n; 2023/1/6116各位數(shù)字和Description從鍵盤任意輸入一個(gè)整數(shù)n,編程計(jì)算n的每一位數(shù)字相加之和(忽略整數(shù)前的正負(fù)號(hào))。例如,輸入n為-1234,則有1+2+3+4=10,輸出10。

要求定義并使用函數(shù)DigitSum()求n的各位數(shù)字和,其余功能在main()函數(shù)中實(shí)現(xiàn)。

intDigitSum(intn)

{

//函數(shù)返回n的各位數(shù)字之和

}Input輸入一個(gè)int范圍內(nèi)的正整數(shù)n。Output輸出一個(gè)整數(shù),為n的各位數(shù)字之和。SampleInput2345111

SampleOutput172023/1/6406各位數(shù)字和Description2023/1/6126各位數(shù)字和:code#include<stdlib.h>#include<math.h>#include<stdio.h>main(){ intnumber=0,n; scanf("%d",&n);

n=abs(n); while(n>0) { number+=n%10; n=n/10; } printf("%d",number+n);}將此處代碼提取出來,按題目要求封裝成函數(shù)DigitSum2023/1/6416各位數(shù)字和:code#include<stdlib.h>7最勤奮的學(xué)生Description鑒于晚自習(xí)遲到早退現(xiàn)象比較嚴(yán)重,計(jì)算機(jī)學(xué)院出臺(tái)一個(gè)鼓勵(lì)政策,記下每位同學(xué)到達(dá)和離開自習(xí)室的時(shí)間,然后根據(jù)上晚自習(xí)的時(shí)間的長(zhǎng)短評(píng)選出每個(gè)班當(dāng)天最勤奮的學(xué)生,第二天張榜表?yè)P(yáng)?,F(xiàn)有計(jì)科1班某天晚自習(xí)的簽到記錄,請(qǐng)選出計(jì)科1班該天最勤奮的學(xué)生。Input第一行輸入n。表示一共有n個(gè)記錄(n<=100)。接下來n行,每行三個(gè)數(shù)據(jù),分別是姓名,到達(dá)時(shí)間和離開時(shí)間(姓名長(zhǎng)度不超過20)。姓名不含空格,且不會(huì)有相同姓名出現(xiàn)。Output自習(xí)時(shí)間最長(zhǎng)的姓名。SampleInput3Jim6:229:22Lucy8:009:45Kate6:459:30SampleOutputJim2023/1/6427最勤奮的學(xué)生Description2023/1/6147最勤奮的學(xué)生:code#defineN100typedefstructstu{ charname[20]; intstartH; intstartM; intendH; intendM; intpriority;}STU;

2023/1/6437最勤奮的學(xué)生:code#defineN1002023/7最勤奮的學(xué)生:codeinti,n,temp=0,stunumber=0; //temp臨時(shí)變量,記錄學(xué)生自習(xí)的最長(zhǎng)時(shí)間(分鐘為單位)stunumber記錄最長(zhǎng)自習(xí)時(shí)間的學(xué)生編號(hào)STUs[N];scanf("%d",&n);for(i=0;i<n;i++){ scanf("%s%d:%d%d:%d",&s[i].name,&s[i].startH,&s[i].startM,&s[i].endH,&s[i].endM);

s[i].priority=s[i].endH*60+s[i].endM-s[i].startH*60-s[i].startM;}for(i=0;i<n;i++){ if(temp<s[i].priority){ temp=s[i].priority; stunumber=i; }}printf("%s",s[stunumber].name);2023/1/6447最勤奮的學(xué)生:codeinti,n,temp=0,stu8多種進(jìn)制數(shù)的排序Description有n個(gè)數(shù)字串,這n個(gè)數(shù)字串的進(jìn)制可能不同,每個(gè)數(shù)字串的進(jìn)制由數(shù)字k指定,k>=2且k<=10,如,k=2,則數(shù)字串1101表示一個(gè)二進(jìn)制數(shù),轉(zhuǎn)化為10進(jìn)制數(shù)為13將這n個(gè)數(shù)轉(zhuǎn)化為十進(jìn)制,然后按從小到大的順序輸出。Input首先輸入整數(shù)n(1<=n<=10),然后是n行,每行包含一個(gè)整數(shù)k和一個(gè)數(shù)字串,用空格隔開,該數(shù)字串表示一個(gè)k進(jìn)制數(shù)。所有輸入均為非負(fù)數(shù)。輸入的所有整數(shù)均在int范圍內(nèi)。Output按從小到大的順序輸出這n個(gè)數(shù)對(duì)應(yīng)的十進(jìn)制數(shù)。2023/1/6458多種進(jìn)制數(shù)的排序Description2023/1/61多種進(jìn)制數(shù)的排序SampleInput421101322121827610134SampleOutpu/p>

Hint提示:將這四個(gè)數(shù)轉(zhuǎn)化為10進(jìn)制數(shù)分別是故排序后為:131341902322023/1/646多種進(jìn)制數(shù)的排序SampleInput2023/1/618多種進(jìn)制數(shù)的排序:code#include<stdlib.h>#include<stdio.h>typedefstructsystem{//進(jìn)制 intbasenumber;//基數(shù)

intdigit;//數(shù)字}SYS;intchange(intbnumber,intdigit);intpowint(intbnumber,intdigit);voidbubble(inta[],intn);2023/1/6478多種進(jìn)制數(shù)的排序:code#include<stdlib8多種進(jìn)制數(shù)的排序:codeintmain(){ inti,n,a[10]; SYSs[10]; scanf("%d",&n); for(i=0;i<n;i++) {

scanf("%d%d",&s[i].basenumber,&s[i].digit);

a[i]=change(s[i].basenumber,s[i].digit); }

bubble(a,n);}2023/1/6488多種進(jìn)制數(shù)的排序:codeintmain()2023/18多種進(jìn)制數(shù)的排序:codeintchange(intbnumber,intdigit)//轉(zhuǎn)換函數(shù){ intdec=0; inti=0; while(digit>0){

dec+=(digit%10)*powint(bnumber,i); digit/=10; i++; } returndec;}Math中自帶的pow()函數(shù),返回值為double型2023/1/6498多種進(jìn)制數(shù)的排序:codeintchange(intb8多種進(jìn)制數(shù)的排序:codeintpowint(intbnumber,intn){ intj,temp=1; for(j=0;j<n;j++) {

temp*=bnumber; } returntemp;}2023/1/6508多種進(jìn)制數(shù)的排序:codeintpowint(intbvoidbubble(inta[],intn){ inti,j,temp=0; for(i=0;i<n-1;i++){ for(j=0;j<n-i-1;j++){ if(a[j]>a[j+1]){

temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; }}}

for(i=0;i<n-1;i++){printf("%d",a[i]);} printf("%d",a[n-1]);}

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論