1 /*
2 * Main.c
3 * 1006. 換個格式輸出整數
4 * Created on: 2014年8月28日
5 * Author: Boomkeeper
6 ***********測試通過*********
7 */
8
9 #include <stdio.h>
10
11 int main(void){
12
13 int temp[4]={0,0,0,0};//存放整數的各位數
14 int in;
15 int i,j;
16
17 scanf("%3d",&in);
18
19 j=0;
20 while(in!=0){
21 temp[j]=in%10;
22 j++;
23 in/=10;
24 }
25
26 for(i=0;i<temp[2];i++)
27 printf("B");
28 for(i=0;i<temp[1];i++)
29 printf("S");
30 for(i=0;i<temp[0];i++)
31 printf("%i",i+1);
32 printf("\n");
33
34 return 0;
35 }
題目鏈接:
http://pat.zju.edu.cn/contests/pat-b-practise/1006
這麼簡單的。自己做做練練手嘛。。
大致邏輯如下:
算法1:用while語句
定義變量:int i;
i=1;
當(i小於等於100)時循環
{
如果(i<10)
{輸出3個空格;
輸出i;}
如果(i>10 並且i<100)
{輸出2個空格;
輸出i;}
如果(i==100)
{輸出1個空格;
輸出i;
}
如果(i%5==0) 輸出換行;
i增1;
}
代碼自己查查,也就幾個printf
%c 字符
%d 十進制整數
%e 浮點數,指數e的形式 %s 字符串
%E 浮點數,指數E的形式 %u 無符號十進制整數
%f 浮點數,小數點形式 %g 輸出%f與%e較短者
%o 無符號八進制整數 %G 輸出%F與%E較短者
%x 無符號十六進制整數,以0~f表示 %X 無符號十六進制整數,以0~F表示
%l 長整型,加在d,o,u,x,X之前,如%ld(注意%l是英文字母l,不是數字1)