pat乙級1084 外觀數列(c語言實現)
#include<string.h>
#define MAXN 100005
char s[MAXN],t[MAXN];
char *ps,*pt;
main()
{
char now;//µ±Ç°¼ÆÊý
int num,n;
scanf("%c %d",&now,&n);
memset(s,0,sizeof(s));
memset(t,0,sizeof(t));
s[0]=now;
ps=s;
pt=t;
for(int i=1;i<n;i++)
{
now=*ps;
num=1;
while(*(++ps)){
if(*ps==now)num++;
else {
*pt++=now;
*pt++='0'+num;
num=1;
now=*ps;//next
}
}
*pt++=now;
*pt++='0'+num;
if(i&1){
ps=t;
pt=s;
}else{
ps=s;
pt=t;
}
}
printf("%s",ps);
}
//在@雷神在此 大神處學到 http://blog.csdn.net/u014772246/article/details/52054346
相關推薦
pat乙級1084 外觀數列(c語言實現)
#include<stdio.h>#include<string.h>#define MAXN 100005char s[MAXN],t[MAXN];char *ps,*pt;main(){ char now;//µ±Ç°¼ÆÊýint num,
pat 乙級1082 射擊比賽(c語言實現)
#include<stdio.h>#include<stdlib.h>typedef struct d{int id;int grade;}man;int cmp(const void*a,const void*b){man s1=*(man*)a;m
PAT乙級 1084 外觀數列 (20 分)
外觀數列是指具有以下特點的整數序列: d, d1, d111, d113, d11231, d112213111, … 它從不等於 1 的數字 d 開始,序列的第 n+1 項是對第 n 項的描述。比如第 2 項表示第 1 項有 1 個 d,所以就是 d1;第 2 項是 1 個 d(對應
PAT Basic 1020. 月餅 (25)(C語言實現)
, CSDN內容暫時不更新(將來有計劃更新), 請前往連結檢視最新內容. 歡迎star 我的repo題目月餅是中國人在中秋佳節時吃的一種傳統食品,不同地區有許多不同風味的月餅。現給定
pat 帥到沒朋友(c語言實現)
#include<stdio.h> #include<string.h> main() { int m,n,t,a[100000]={0}; scanf("%d",&m); while(m--) { scanf("%d",&
PAT乙級-1084. 外觀數列-Java版
外觀數列是指具有以下特點的整數序列:d, d1, d111, d113, d11231, d112213111, ... 它從不等於 1 的數字 d 開始,序列的第 n+1 項是對第 n 項的描述。比如第 2 項表示第 1 項有 1 個 d,所以就是 d1;第 2 項是 1 個 d(對應 d1)和 1 個 1
PAT 乙級 1084. 外觀數列 (20) 【字串】
題目連結 思路 用字串模擬 然後要注意一點 它是連續的 才並在一起 就比如說 d, d1, d111, d113, d11231, d112213111, … 比如 d11231 -> d112213111 是 1個d 2 個 1
PAT乙級1054. 求平均值(C語言)
/* * 1. 合法的輸入最長為8(-1000.00); * 2. 嚴謹解法: * 2.1 scanf("%8s", str); 讀取 最多前8個字元 * 2.2 利用 ungetc(getchar(), stdi
(PAT乙級)1065 單身狗(C語言實現)
總結: 1、我最初的想法是一遍遍去遍歷,但其實自己心裡也清楚這樣迴圈層數多,容易執行超時,所以以下思路借鑑柳婼小姐姐。 思路:定義情侶陣列couple[ ]={-1},每個人對應的編號的陣列儲存自己情侶的編號。這樣有情侶的人對應的初值不再是-1,其他對應值仍是-1
(PAT乙級)1002 寫出這個數(C語言實現)
總結:1、關鍵點在於:求出和sum之後怎麼將其輸出成拼音的問題。這裡巧妙地運用了一個函式:sprintf(str,“%d”,num);即 和printf的使用時一樣的,只不過printf是將num輸出到螢幕上,sprintf將num列印
(PAT乙級)1020 月餅(C語言實現)
總結: 1、其實思路跟“德才論”那題很像。對每一種類月餅建立結構體變數,然後使用qsort函式按照月餅單售價排序,計算總價時,如果單售價最高的月餅庫存量<=最大需求量,即可以售光該類月餅,最大需求量-庫存量後再進行單售價次之的判斷;否則,只能售出最大需求量*單價。
PAT乙級1065. 單身狗(C語言)
/* * 1. 單身狗的判斷: * 1.1 沒有物件; * 1.2 有物件,兩人中只有一人蔘加派對; * 2. 以ID為陣列下標記錄情感狀況; * 3. 有物件的人,參加派對的人做特殊標記; */ #include &l
PAT 乙級 1084 外觀數列
1084 外觀數列 (20 point(s)) 外觀數列是指具有以下特點的整數序列: d, d1, d111, d113, d11231, d112213111, ... 它從不等於 1 的數字 d 開始,序列的第 n+1 項是對第 n 項的
(PAT乙級)1003 我要通過!(C語言實現)
總結:1、重要的是找規律。即: 形如 xPATx 的字串正確的有: PAT、APATA、AAPATAA、AAAPATAAA,就是中間一個A左右加上等量的A(不加也行)都是正確的。 如果 aPbTc 是正確的,那麼 aPbATca 也是正確的,拿上面的那幾個正確的
PAT乙級1015. 德才論(C語言)
/* * 先分類:1.德才全盡;2.德勝才;3.才德兼亡尚有德勝才;4.剩餘及格的考生 * 後排序:總分降序;德分降序;准考證號升序 */ #include <stdio.h> #include <stdlib.h&
(PAT乙級)1007 素數對猜想(C語言實現)
總結:關鍵在於判斷是不是素數的程式碼段可以作為常識記憶,即: for(i=3;i<=n;i++) { k=sqrt(i); for(j=2;j<=k;j++) { if(i%j==0) break;
(PAT乙級)1032 挖掘機技術哪家強(C語言實現)
總結: 1、求對應相同編號的分數總和時,一開始我是想分開用陣列儲存編號和對應的分數和,這樣操作既複雜然後又沒通過測試,看了大佬的想法,直接用編號作為陣列的位號,去儲存對應的分數和,會簡單很多。 2、特別要注意陣列的上下界和迴圈的次數,不然會造成結果錯誤。
(PAT乙級)1029 舊鍵盤(C語言實現)
總結: 1、思路就是對於應該輸入的文字的每一個字元在實際輸入的文字中遍歷,看是否能鍵入。如果在實際輸入的文字中沒發現,將對該字元進行儲存,但需要對將要儲存的字元陣列遍歷,看該數組裡是否已存在該字元。 2、因為字母的大寫和小寫在此題目中相當於同一個字元,所以判斷是否
PAT-乙級 1015 德才論(C語言)
本題其實並不難,過線考生分為4類,在每一類下的考生排序要求都是相同的。所以我們可以直接將不同類別過線考生存在不同陣列中分別進行排序,此處不建議存在同一陣列中進行排序。 使用了qsort函式,根據排序要求編寫cmp函式#include<stdio.h>
(PAT乙級)1025 反轉連結串列(C語言實現)
總結: 1、首先要有hash雜湊思想,關鍵字是首地址,對應到的陣列內可以查詢到首地址對應的數值和下一地址。這樣可以構成一組資料的輸入。 2、還應該考慮輸入樣例中有不在連結串列中的結點的情況。所以用個sum計數統計在連結串列裡的有效節點。注意連結串列的最後為空,所以對應