版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、實驗一 簡單計算問題1、數(shù)字求和問題描述給定一個正整數(shù)a,以及另外的5個正整數(shù),問題是:這5個整數(shù)中,小于a的整數(shù)的和是多少?輸入形式輸入一行,只包括6個小于100的正整數(shù),其中第一個正整數(shù)就是a。輸出形式輸出一行,給出一個正整數(shù),是5個數(shù)中小于a的數(shù)的和。樣例輸入10 1 2 3 4 11樣例輸出10*/#include<stdio.h>int main()int a6;int i;int sum=0;for(i=0;i<6;i+)scanf("%d",&ai);for(i=0;i<6;i+)if(a0>ai)sum=sum+ai;p
2、rintf(" %d ",sum);return 0;/*2、兩倍數(shù)問題描述給定2到15個不同的正整數(shù),你的任務(wù)是計算這些數(shù)里面有多少個數(shù)對滿足:數(shù)對中一個數(shù)是另一個數(shù)的兩倍。 比如給定1 4 3 2 9 7 18 22,得到的答案是3,因為2是1的兩倍,4是2的兩倍,18是9的兩倍。 輸入形式輸入包括多組測試數(shù)據(jù)。每組數(shù)據(jù)包括一行,給出2到15個兩兩不同且小于100的正整數(shù)。每一行最后一個數(shù)是0,表示這一行的結(jié)束后,這個數(shù)不屬于那2到15個給定的正整數(shù)。輸入的最后一行只包括一個整數(shù)-1,這行表示輸入數(shù)據(jù)的結(jié)束,不用進(jìn)行處理。輸出形式對每組輸入數(shù)據(jù),輸出一行,給出有多少個數(shù)
3、對滿足其中一個數(shù)是另一個數(shù)的兩倍。樣例輸入1 4 3 2 9 7 18 22 02 4 8 10 07 5 11 13 1 3 0-1樣例輸出320*/# include<stdio.h>int main(void) int a2015; int i=0,j=0,k,t,w,sum=0; scanf("%d",&t); while(t!=-1) if(t!=0) aij+=t; else aij=t; i+;j=0; scanf("%d",&t);for(k=0,j=0,w=0;k<i;k+) while(akj!=0)
4、 w=0; while(akw!=0) if(float)akj/2=(float)akw) sum+; w+; j+; printf("%dn",sum); sum=0; j=0; return 0;/*3、Number Sequence問題描述A number sequence is defined as follows:f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2) mod 7.Given A, B, and n, you are to calculate the value of f(n).輸入形式Th
5、e input consists of multiple test cases. Each test case contains 3 integers A, B and n on a single line (1 <= A, B <= 1000, 1 <= n <= 100,000,000). Three zeros signal the end of input and this test case is not to be processed.輸出形式For each test case, print the value of f(n) on a single li
6、ne.樣例輸入1 1 31 2 100 0 0樣例輸出25*/#include<stdio.h>int main() int fun(int x);int a,b,n;int t;scanf("d%d%d%",&a,&b,&n);while(a!=0&&b!=0&&n!=0)fun(n);scanf("%d%d%d",&a,&b,&n);return 0;int fun(int x)if(x=1|x=2)t=1;else t=(fun(x-1)*a+fun(x-2
7、)*b)%7; printf("%dn",t);return (t)4、腫瘤檢測問題描述一張CT掃描的灰度圖像可以用一個N*N(0<N<100)的矩陣描述,矩陣上的每個點對應(yīng)一個灰度值(整數(shù)),其取值范圍是0255。我們假設(shè)給定的圖像中有且只有一個腫瘤。在圖上監(jiān)測腫瘤的方法如下:如果某個點對應(yīng)的灰度值小于等于50,則這個點在腫瘤上,否則不在腫瘤上。我們把在腫瘤上的點的數(shù)目加起來,就得到了腫瘤在圖上的面積。任何在腫瘤上的點,如果它是圖像的邊界或者它的上下左右四個相鄰點中至少有一個是非腫瘤上的點,則該點稱為腫瘤的邊界點。腫瘤的邊界點的個數(shù)稱為腫瘤的周長?,F(xiàn)在給定一個
8、圖像,要求計算其中的腫瘤的面積和周長。輸入形式輸入第一行包含一個正整數(shù)N(0<N<100),表示圖像的大??;接下來N行,每行包含圖像的一行。圖像的一行用N個整數(shù)表示(所有整數(shù)大于等于0,小于等于255),兩個整數(shù)之間用一個空格隔開。輸出形式輸出只有一行,該行包含兩個正整數(shù),分別為給定圖像中腫瘤的面積和周長,用一個空格分開。樣例輸入699 99 99 99 99 9999 99 99 50 99 9999 99 49 49 50 5199 50 20 25 52 9940 50 99 99 99 9999 99 99 99 99 99樣例輸出9 8測試數(shù)據(jù)2:樣例輸入799 99 9
9、9 99 99 99 6599 99 99 50 99 99 2599 99 49 49 50 49 3499 50 20 25 52 99 3840 50 99 99 99 99 3599 99 99 99 99 99 5599 99 99 99 99 99 77樣例輸出14 13#include<stdio.h>int main()int a200200;int i,j,size=0,circle=0;int n;scanf("%d",&n); for(i=0;i<n;i+)for(j=0;j<n;j+)scanf("%2d&q
10、uot;,&aij); for(i=0;i<n;i+)for(j=0;j<n;j+)if(aij<=50) size=size+1;if(i=0|i=n-1|j=0|j=n-1) circle+;else if(ai-1j>50|ai+1j>50|aij+1>50|aij-1>50) circle+; printf("%d %d",size,circle);return 0;5、填詞問題描述Alex喜歡填詞游戲。填詞是游戲是一個非常簡單的游戲。填詞游戲包括一個N * M大小的矩形方格盤和P個單詞。玩家需要把每個方格中填上一個
11、字母使得每個單詞都能在方格盤上找到。每個單詞都能找到要滿足下面的條件: 每個方格都不能同時屬于超過一個的單詞。一個長為k的單詞一定要占據(jù)k個方格。單詞在方格盤中出現(xiàn)的方向只能是豎直的或者水平的。 你的任務(wù)是首先在方格盤上找到所有的單詞,當(dāng)然在棋盤上可能有些方格沒有被單詞占據(jù)。然后把這些沒有用的方格找出來,把這些方格上的字母按照字典序組成一個“神秘單詞”。 如果你還不了解規(guī)則,我們可以具一個例子,比如在下圖中尋找單詞BEG和GEE。 輸入形式輸入的第一行包括三個整數(shù)N,M和P (2 <= M, N <= 10, 0 <= P <=100)。接下來的N行,每行包括M個字符,
12、來表示方格盤。接下來P行給出需要在方格盤中找到的單詞。 輸入保證填詞游戲至少有一組答案。 輸入中給出的字母都是大寫字母。 輸出形式輸出“神秘單詞”,注意“神秘單詞”中的字母要按照字典序給出。樣例輸入3 3 2EBGGEEEGEBEGGEE樣例輸出EEG#include<stdio.h> #include<string.h> int main() int ch26; memset(ch,0,sizeof(ch); int i,n,m,p; char str200; char c; scanf("%d%d%d",&n,&m,&p)
13、; while(n-) scanf("%s",str); for(i=0;stri!='0'i+) chstri-'A'+; while(p-) scanf("%s",str); for(i=0;stri!='0'i+) chstri-'A'-; for(i=0;i<26;i+) if(chi!=0) while(chi-) c='A'+i; printf("%c",c); return 0; 6、垂直直方圖問題描述輸入4行全部由大寫字母組成的文本,
14、輸出一個垂直直方圖,給出每個字符出現(xiàn)的次數(shù)。注意:只用輸出字符的出現(xiàn)次數(shù),不用輸出空白字符,數(shù)字或者標(biāo)點符號的輸出次數(shù)。輸入形式輸入包括4行由大寫字母組成的文本,每行上字符的數(shù)目不超過80個。輸出形式輸出包括若干行。其中最后一行給出26個大寫英文字母,這些字母之間用空格隔開。前面的幾行包括空格和星號,每個字母出現(xiàn)幾次,就在這個字母的上方輸出一個星號。注意:輸出的第一行不能是空行。樣例輸入THE QUICK BROWN FOX JUMPED OVER THE LAZY DOG.THIS IS AN EXAMPLE TO TEST FOR YOURHISTOGRAM PROGRAM.HELLO!樣
15、例輸出 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *A B C D E F G H I J K L M N O P Q R S T U V W X Y Z #include<stdio.h> #include<string.h> int main() int ch26; memset(ch,0,siz
16、eof(ch); int i,n,m,p; char str200; char c; scanf("%d%d%d",&n,&m,&p); while(n-) scanf("%s",str); for(i=0;stri!='0'i+) chstri-'A'+; while(p-) scanf("%s",str); for(i=0;stri!='0'i+) chstri-'A'-; for(i=0;i<26;i+) if(chi!=0) whil
17、e(chi-) c='A'+i; printf("%c",c); return 0; 7、誰拿了最多獎學(xué)金問題描述某校的慣例是在每學(xué)期的期末考試之后發(fā)放獎學(xué)金。發(fā)放的獎學(xué)金共有五種,獲取的條件各自不同: 1) 院士獎學(xué)金,每人8000元,期末平均成績高于80分(>80),并且在本學(xué)期內(nèi)發(fā)表1篇或1篇以上論文的學(xué)生均可獲得; 2) 五四獎學(xué)金,每人4000元,期末平均成績高于85分(>85),并且班級評議成績高于80分(>80)的學(xué)生均可獲得; 3) 成績優(yōu)秀獎,每人2000元,期末平均成績高于90分(>90)的學(xué)生均可獲得; 4) 西
18、部獎學(xué)金,每人1000元,期末平均成績高于85分(>85)的西部省份學(xué)生均可獲得; 5) 班級貢獻(xiàn)獎,每人850元,班級評議成績高于80分(>80)的學(xué)生干部均可獲得; 只要符合條件就可以得獎,每項獎學(xué)金的獲獎人數(shù)沒有限制,每名學(xué)生也可以同時獲得多項獎學(xué)金。例如姚林的期末平均成績是87分,班級評議成績82分,同時他還是一位學(xué)生干部,那么他可以同時獲得五四獎學(xué)金和班級貢獻(xiàn)獎,獎金總數(shù)是4850元。 現(xiàn)在給出若干學(xué)生的相關(guān)數(shù)據(jù),請計算哪些同學(xué)獲得的獎金總數(shù)最高(假設(shè)總有同學(xué)能滿足獲得獎學(xué)金的條件)。 輸入形式輸入的第一行是一個整數(shù)N(1 <= N <= 100),表示學(xué)生的
19、總數(shù)。接下來的N行每行是一位學(xué)生的數(shù)據(jù),從左向右依次是姓名,期末平均成績,班級評議成績,是否是學(xué)生干部,是否是西部省份學(xué)生,以及發(fā)表的論文數(shù)。姓名是由大小寫英文字母組成的長度不超過20的字符串(不含空格);期末平均成績和班級評議成績都是0到100之間的整數(shù)(包括0和100);是否是學(xué)生干部和是否是西部省份學(xué)生分別用一個字符表示,Y表示是,N表示不是;發(fā)表的論文數(shù)是0到10的整數(shù)(包括0和10)。每兩個相鄰數(shù)據(jù)項之間用一個空格分隔。輸出形式輸出包括三行,第一行是獲得最多獎金的學(xué)生的姓名,第二行是這名學(xué)生獲得的獎金總數(shù)。如果有兩位或兩位以上的學(xué)生獲得的獎金最多,輸出他們之中在輸入文件中出現(xiàn)最早的學(xué)
20、生的姓名。第三行是這N個學(xué)生獲得的獎學(xué)金的總數(shù)。樣例輸入4YaoLin 87 82 Y N 0ChenRuiyi 88 78 N Y 1LiXin 92 88 N N 0ZhangQin 83 87 Y N 1樣例輸出ChenRuiyi900028700#include<stdio.h>#include<cstring>#include<ctype.h>#include<stdlib.h>struct studentschar name21;int score1, score2;char c1, c2;int num, money;student
21、100;void judge ( struct students * sb )if ( sb->score1 >80 && sb->num>=1 ) sb->money += 8000;if ( sb->score1 >85 && sb->score2>80 ) sb->money += 4000;if ( sb->score1 >90 ) sb->money += 2000;if ( sb->score1 >85 && sb->c2='Y
22、39; ) sb->money += 1000;if ( sb->score2 >80 && sb->c1='Y' ) sb->money += 850;/*void judge ( struct students sb ) if ( sb.score1 >80 && sb.num>=1 ) sb.money += 8000;if ( sb.score1 >85 && sb.score2>80 ) sb.money += 4000;if ( sb.score1 >90 )
23、 sb.money += 2000;if ( sb.score1 >85 && sb.c2='Y' ) sb.money += 1000;if ( sb.score2 >80 && sb.c1='Y' ) sb.money += 850;*/int main()int n;scanf ( "%d", &n );int i, j, sum = 0;for ( i=0; i<n; i+ )scanf ( "%s", );scanf ( &qu
24、ot;%d%d", &studenti.score1, &studenti.score2 );scanf ( " %c %c", &studenti.c1, &studenti.c2 );scanf ( "%d", &studenti.num );studenti.money = 0;judge( &studenti );/judge( studenti );sum += studenti.money;int max = student0.money;j = 0;for ( i=1; i<n
25、; i+ )if ( studenti.money > max )max = studenti.money ;j = i;printf ( "%sn%dn%dn", , studentj.money, sum );system("pause");return 0;8、簡單密碼問題描述Julius Caesar曾經(jīng)使用過一種很簡單的密碼。對于明文中的每個字符,將它用它字母表中后5位對應(yīng)的字符來代替,這樣就得到了密文。比如字符A用F來代替。如下是密文和明文中字符的對應(yīng)關(guān)系。 密文 A B C D E F G H I J K L
26、 M N O P Q R S T U V W X Y Z 明文 V W X Y Z A B C D E F G H I J K L M N O P Q R S T U 你的任務(wù)是對給定的密文進(jìn)行解密得到明文。 你需要注意的是,密文中出現(xiàn)的字母都是大寫字母。密文中也包括非字母的字符,對這些字符不用進(jìn)行解碼。輸入形式輸入中的測試數(shù)據(jù)不超過100組。每組數(shù)據(jù)都有如下的形式,而且各組測試數(shù)據(jù)之間沒有空白的行。 一組測試數(shù)據(jù)包括三部分 起始行:一行,包括字符串 "START" 密文:一行,給出密文,密文不為空,而且其中的字符數(shù)不超過200 結(jié)束行:一行,包括字符串 "END
27、" 在最后一組測試數(shù)據(jù)之后有一行,包括字符串 "ENDOFINPUT"。 輸出形式對每組數(shù)據(jù),都有一行輸出,給出密文對應(yīng)的明文。樣例輸入STARTNS BFW, JAJSYX TK NRUTWYFSHJ FWJ YMJ WJXZQY TK YWNANFQ HFZXJXENDSTARTN BTZQI WFYMJW GJ KNWXY NS F QNYYQJ NGJWNFS ANQQFLJ YMFS XJHTSI NS WTRJENDSTARTIFSLJW PSTBX KZQQ BJQQ YMFY HFJXFW NX RTWJ IFSLJWTZX YMFS MJENDE
28、NDOFINPUT樣例輸出IN WAR, EVENTS OF IMPORTANCE ARE THE RESULT OF TRIVIAL CAUSESI WOULD RATHER BE FIRST IN A LITTLE IBERIAN VILLAGE THAN SECOND IN ROMEDANGER KNOWS FULL WELL THAT CAESAR IS MORE DANGEROUS THAN HE#include<stdio.h>#include<cstring>#include<ctype.h>#include<stdlib.h>co
29、nst int N = 200;int main()char strN+1;int n;int aN;while ( scanf ( "%d", &n )=1 && n )for ( int i=0; i<n; i+ )scanf ( "%d", &ai );int k;while ( scanf("%d", &k)=1 && k )getchar();fgets( str, N, stdin );int j=0;while ( strj!=10 )j+;strj='
30、;0'if ( (int)strlen(str)<n )j=0;while ( strj!='0' )j+;while( j<n ) strj+ = ' 'char str1N+1='0'for ( int i1=0; i1<k; i1+ )for ( j=0; j<n; j+ )str1aj-1 = strj;memset( str, 0, sizeof(str) );memcpy( str, str1, sizeof(str1) );memset( str1, 0, sizeof(str1) );j = 0;w
31、hile ( strj!='0' ) putchar( strj+ );putchar( 'n' );9、化驗診斷問題描述下表是進(jìn)行血常規(guī)檢驗的正常值參考范圍,及化驗值異常的臨床意義: 給定一張化驗單,判斷其所有指標(biāo)是否正常,如果不正常,統(tǒng)計有幾項不正常?;瀱紊系闹当仨殗?yán)格落在正常參考值范圍內(nèi),才算是正常。正常參考值范圍包括邊界,即落在邊界上也算正常。輸入形式輸出形式對于每組測試數(shù)據(jù),輸出一行。如果所有檢驗項目正常,則輸出:normal;否則輸出不正常的項的數(shù)目。樣例輸入2female 4.5 4.0 115 37 200male 3.9 3.5 155 36
32、 301樣例輸出normal3#include<stdio.h>#include<cstring>#include<ctype.h>#include<stdlib.h>const int N = 100;int main ()char strN;int c;while ( scanf ("%s", str) )if ( !strcmp(str,"ENDOFINPUT") )return 0;else memset ( str, 0, sizeof(str) );c = getchar();fgets ( s
33、tr, N, stdin );int i = 0;while ( stri != '0' )if ( stri=10 ) putchar (stri); break; elseif ( isupper(stri) )if ( stri>'E' )stri -= 5;else stri += ('V'-'A');putchar (stri);i+;memset ( str, 0, sizeof(str) );scanf ( "%s", str );memset ( str, 0, sizeof(str) )
34、;10、密碼問題描述Bob 和 Alice 開始使用一種全新的編碼系統(tǒng)。它是一種基于一組私有鑰匙的。他們選擇了n個不同的數(shù)a1 , . . .,an, 它們都大于0小于等于n。 機密過程如下:待加密的信息放置在這組加密鑰匙下,信息中的字符和密鑰中的數(shù)字一一對應(yīng)起來。信息中位于i位置的字母將被寫到加密信息的第ai個位置, ai 是位于i位置的密鑰。加密信息如此反復(fù)加密,一共加密 k 次。 信息長度小于等于n。如果信息比 n 短, 后面的位置用空格填補直到信息長度為n。 請你幫助 Alice 和 Bob 寫一個程序,讀入密鑰,然后讀入加密次數(shù) k 和要加密的信息,按加密規(guī)則將信息加密。 輸入形式輸
35、入包括幾塊。每塊第一行有一個數(shù)字n, 0 < n <= 200. 接下來的行包含n個不同的數(shù)字。數(shù)字都是大于0小于等于n的。下面每行包含一個k和一個信息字符串,它們之間用空格格開。每行以換行符結(jié)束,換行符不是要加密的信息。每個塊的最后一行只有一個0。 最后一個塊后有一行,該行只有一個0。 輸出形式輸出有多個塊,每個塊對應(yīng)一個輸入塊。每個塊包含輸入中的信息經(jīng)過加密后的字符串,順序與輸入順序相同。所有加密后的字符串的長度都是 n。 每一個塊后有一個空行。 樣例輸入104 5 3 7 2 8 1 6 10 91 Hello Bob1995 CERC00樣例輸出BolHeol bC RCE
36、#include<stdio.h>#include<cstring>#include<ctype.h>#include<stdlib.h>const int N = 200;int main()char strN+1;int n;int aN;while ( scanf ( "%d", &n )=1 && n )for ( int i=0; i<n; i+ )scanf ( "%d", &ai );int k;while ( scanf("%d",
37、&k)=1 && k )getchar();fgets( str, N, stdin );int j=0;while ( strj!=10 )j+;strj='0'if ( (int)strlen(str)<n )j=0;while ( strj!='0' )j+;while( j<n ) strj+ = ' 'char str1N+1='0'for ( int i1=0; i1<k; i1+ )for ( j=0; j<n; j+ )str1aj-1 = strj;memset(
38、str, 0, sizeof(str) );memcpy( str, str1, sizeof(str1) );memset( str1, 0, sizeof(str1) );j = 0;while ( strj!='0' ) putchar( strj+ );putchar( 'n' );實驗二 進(jìn)制、日期及轉(zhuǎn)換問題1、十進(jìn)制到R進(jìn)制問題描述把一個十進(jìn)制正整數(shù)轉(zhuǎn)化成R進(jìn)制輸入形式輸入只有一行,包含兩個整數(shù)a,R。a表示十進(jìn)制整數(shù),R表示需要轉(zhuǎn)換的進(jìn)制。1<R<=16。輸出形式輸出包含一行,為轉(zhuǎn)換后的R進(jìn)制整數(shù)。輸出時字符號全部用大寫表示,即(0 ,
39、1,.,9,A,B,C,D,E,F(xiàn))。樣例輸入12 16樣# include <stdio.h>void ten_to_r ( int a, int r )if ( a>0 )ten_to_r ( a/r, r );int temp = a % r;if ( temp<10 ) printf ( "%d", temp );else printf ( "%c", temp-10+'A' );int main ()int a, r;scanf( "%d%d", &a, &r );te
40、n_to_r ( a, r );printf ( "n" );return 0;輸出C2、R進(jìn)制到十進(jìn)制問題描述把一個R進(jìn)制正整數(shù)轉(zhuǎn)化成十進(jìn)制輸入形式一行,包含一個R進(jìn)制表示的正整數(shù)a和進(jìn)制數(shù)R,a的十進(jìn)制表示的范圍是(0, 65536),1<R<=9。輸出形式一行,a的十進(jìn)制表示樣例輸入1011 2樣例輸出11# include <stdio.h># include <string.h># include <math.h>void r_to_ten ( int a, int r )char str10000;sprintf
41、( str, "%d", a );int len = strlen(str);int c10000, b=0;for ( int i=0; i<len; i+ )clen-1-i = stri-'0'b += clen-1-i * (int)pow(float)r,(float)(len-1-i);printf ( "%dn", b );int main()int a, r;scanf ( "%d%d", &a, &r );r_to_ten( a, r) ;return 0;3、電話號碼問題描述企
42、業(yè)喜歡用容易被記住的電話號碼。讓電話號碼容易被記住的一個辦法是將它寫成一個容易記住的單詞或者短語。例如,你需要給滑鐵盧大學(xué)打電話時,可以撥打TUT-GLOP。有時,只將電話號碼中部分?jǐn)?shù)字拼寫成單詞。當(dāng)你晚上回到酒店,可以通過撥打310-GINO來向Gino's訂一份pizza。讓電話號碼容易被記住的另一個辦法是以一種好記的方式對號碼的數(shù)字進(jìn)行分組。通過撥打必勝客的“三個十”號碼3-10-10-10,你可以從他們那里訂pizza。 電話號碼的標(biāo)準(zhǔn)格式是七位十進(jìn)制數(shù),并在第三、第四位數(shù)字之間有一個連接符。電話撥號盤提供了從字母到數(shù)字的映射,映射關(guān)系如下: A, B, 和C 映射到 2 D,
43、 E, 和F 映射到 3 G, H, 和I 映射到 4 J, K, 和L 映射到 5 M, N, 和O 映射到 6 P, R, 和S 映射到 7 T, U, 和V 映射到 8 W, X, 和Y 映射到 9 Q和Z沒有映射到任何數(shù)字,連字符不需要撥號,可以任意添加和刪除。 TUT-GLOP的標(biāo)準(zhǔn)格式是888-4567,310-GINO的標(biāo)準(zhǔn)格式是310-4466,3-10-10-10的標(biāo)準(zhǔn)格式是310-1010。 如果兩個號碼有相同的標(biāo)準(zhǔn)格式,那么他們就是等同的(相同的撥號) 你的公司正在為本地的公司編寫一個電話號碼薄。作為質(zhì)量控制的一部分,你想要檢查是否有兩個和多個公司擁有相同的電話號碼。 輸
44、入形式輸入的格式是,第一行是一個正整數(shù),指定電話號碼薄中號碼的數(shù)量(最多100000)。余下的每行是一個電話號碼。每個電話號碼由數(shù)字,大寫字母(除了Q和Z)以及連接符組成。每個電話號碼中只會剛好有7個數(shù)字或者字母。輸出形式對于每個出現(xiàn)重復(fù)的號碼產(chǎn)生一行輸出,輸出是號碼的標(biāo)準(zhǔn)格式緊跟一個空格然后是它的重復(fù)次數(shù)。如果存在多個重復(fù)的號碼,則按照號碼的字典升序輸出。如果輸入數(shù)據(jù)中沒有重復(fù)的號碼,輸出一行: No duplicates. 樣例輸入124873279ITS-EASY888-45673-10-10-10888-GLOPTUT-GLOP967-11-11310-GINOF101010888-1
45、200-4-8-7-3-2-7-9-487-3279樣例輸出310-1010 2487-3279 4888-4567 3# include <stdio.h># include <string.h># include <math.h># include <ctype.h># include <stdlib.h>const int N = 1000;char strN8;void pick ( char string, int k )int i = 0, j = 0;while ( stringi!='0' &&
46、amp; j!=7 )if ( '0'<=stringi && stringi<='9' ) strkj=stringi; j+; if ( isupper(stringi) ) for ( int i10=0; i10<9; i10+ )if ( i10<5 )if ( 'A'+(i10)*3 <= stringi && stringi <= 'A'+(i10)*3+2) strkj = (i10) + 2 + '0' break; elseif
47、 ( 'P'<=stringi && stringi<='S' && stringi!='Q' ) strkj = '7' break; if ( 'T'<=stringi && stringi<='V' ) strkj = '8' break; if ( 'W'<=stringi && stringi<='Y' ) strkj = '9'
48、; break; j+; i+;void sort ( int k ) int i, j;for ( i=0; i<k; i+ )for ( j=i+1; j<k; j+ )if ( strcmp(stri, strj) > 0 )char temp8;strcpy ( temp, stri );strcpy ( stri, strj );strcpy ( strj, temp );void print ( int k )int i, j, flag = 0;for ( i=0; i<k; )int count = 1;for ( j=i+1; j<k; j+ )
49、if ( !strcmp(stri, strj) ) count+;flag = 1; if ( count>1 ) printf ( "%c%c%c-%c%c%c%c %dn", stri0, stri1, stri2, stri3, stri4, stri5, stri6, count ); i += count; else i+;if (!flag) printf ( "No duplicates.n" );int main ()int k, i;scanf ( "%d", &k );char string20;f
50、or ( i=0; i<k; i+ )scanf ( "%s", string );pick ( string, i );memset ( string, 0, sizeof(string) );stri7 = '0'sort ( k ) ;print ( k );return 0;4、字符串判等問題描述判斷兩個由大小寫字母和空格組成的字符串在忽略大小寫和壓縮掉空格后是否相等輸入形式第1行是測試數(shù)據(jù)的組數(shù)n,每組測試數(shù)據(jù)占2行,第1行是第一個字符串s1,第2行是第二個字符串s2。 每組測試數(shù)據(jù)之間有一個空行,每行數(shù)據(jù)不超過100個字符(注意字符串的長度
51、可能為0)輸出形式n行,相等則輸出YES,否則輸出NO樣例輸入3a A bb BB ccc CCCAa BBbb CCCccca dfadf fasdfadasddfsfsaf樣例輸出YESYESNO# include <stdio.h># include <string.h>/# include <math.h># include <ctype.h>/# include <stdlib.h>const int N = 100;char str2N = '0'void pick ( char string , int
52、k )char *p = string;int j = 0;while ( (*p)!='0' )if ( isalpha(*p) ) strkj=tolower(*p);j+; if ( *p=10 ) strkj=10;j+; p+;int main()char stringN;int n;int i, j;scanf ("%d",&n);for ( i=0; i<n; i+ )getchar();for ( j=0; j<2; j+ )fgets( string, N-1, stdin );pick ( string, j );in
53、t temp = strcmp( str0,str1 );if ( !temp ) printf ( "YESn" );else printf ( "NOn" );memset ( str, 0, sizeof(str) );return 0;5、All in All問題描述You have devised a new encryption technique which encodes a message by inserting between its characters randomly generated strings in a clever way. Because of pending patent issues we will not discuss in detail how the strings are generated and inserted into the original message. To validate your method, however, it is necessary to write a program that checks if the message is really encoded in
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度文化遺產(chǎn)保護(hù)工程承包合同轉(zhuǎn)讓及轉(zhuǎn)讓合同4篇
- 2025年度智慧農(nóng)業(yè)園區(qū)承包地合同范本4篇
- 二零二五年度礦產(chǎn)資源勘查與轉(zhuǎn)讓合同4篇
- 二零二四年度協(xié)議離婚前財產(chǎn)評估與分割合同3篇
- 2025年度門窗安裝與建筑節(jié)能改造服務(wù)合同4篇
- 2025年度環(huán)保達(dá)標(biāo)煤矸石運輸合同4篇
- 2025版塔吊租賃與運輸服務(wù)勞務(wù)分包合同協(xié)議書3篇
- 二零二五年度新型集裝箱活動房批量采購銷售合同3篇
- 2025年度存量房二手房買賣居間合同(智能家居安防版)4篇
- 2025版場監(jiān)督管理局合同示范文本(環(huán)境保護(hù)項目管理)4篇
- 電纜擠塑操作手冊
- 浙江寧波鄞州區(qū)市級名校2025屆中考生物全真模擬試卷含解析
- IATF16949基礎(chǔ)知識培訓(xùn)教材
- 【MOOC】大學(xué)生創(chuàng)新創(chuàng)業(yè)知能訓(xùn)練與指導(dǎo)-西北農(nóng)林科技大學(xué) 中國大學(xué)慕課MOOC答案
- 勞務(wù)派遣公司員工考核方案
- 基礎(chǔ)生態(tài)學(xué)-7種內(nèi)種間關(guān)系
- 2024年光伏農(nóng)田出租合同范本
- 《阻燃材料與技術(shù)》課件 第3講 阻燃基本理論
- 2024-2030年中國黃鱔市市場供需現(xiàn)狀與營銷渠道分析報告
- 新人教版九年級化學(xué)第三單元復(fù)習(xí)課件
- 項目立項申請書
評論
0/150
提交評論