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)