作者: haloPaul 時間: 2018-11-8 12:14 標題: C語言for loop有規律字元
本帖最後由 haloPaul 於 2018-11-8 12:16 編輯
要求顯示以下有規律字元(Model Answer)
c e e g g i i k k m m o
我的寫法
#include <stdio.h>
int main() {
char value;
int offset;
for (value = 'c'; value <= 'o'; value = value + 2) {
for (offset = 0; offset < 2; offset += 1) {
printf("%c ", value);
}
}
printf("\n");
return 0;
}
程式顯示: c c e e g g i i k k m m o o
但是我的答案與Model Answer有小小出入,點樣做到同Model Answer一模一樣?
作者: little_keung 時間: 2018-11-8 17:06
要求顯示以下有規律字元(Model Answer)
c e e g g i i k k m m o
我的寫法
#include
int main() {
cha ...
haloPaul 發表於 2018-11-8 12:14
char [] str="ceeggiikkmmo" /* pattern in string */
int i,j,n,len;
n=4; /* Repeat time */
len=strlen(str);
for (j=0; j<n; j++)
{
for(i=0;i<len;i++)
printf("%c ",str);
printf("\n");
}
作者: clio 時間: 2018-11-8 18:14
回覆 1# haloPaul
#include <stdio.h>
int main() {
char value;
int offset;
char min = 'c', max = 'o';
int repeat = 2;
for (value = min; value <= max; value = value + 2) {
repeat = 2;
if ((value = min) || (value + 2 > max))
{
repeat = 1;
}
for (offset = 0; offset < repeat; offset += 1) {
printf("%c ", value);
}
}
printf("\n");
return 0;
}
my 20 cents.
作者: wfshop 時間: 2018-11-8 19:35
一個loop就得, 唔洗兩個
- #include <stdio.h>
- int main(void) {
- char value;
-
- for (value = 'c'; value < 'o'; ++value) {
- if (value % 2 == 1)
- printf("%c ", value);
- else
- printf("%c ", value + 1);
- }
-
- printf("\n");
- return 0;
- }
作者: EITCo 時間: 2018-11-8 22:45
回覆 4# wfshop
思路幾好,先睇成"c d e f g h..."寫個普通的loop
然後梅花間竹將字母「減一」
我一個平凡的寫法
- char c;
- for (c = 'c'; c < 'o'; c += 2) {
- printf("%c %c ", c, c + 2);
- }
作者: seasky 時間: 2018-11-9 10:26
提示: 作者被禁止或刪除 內容自動屏蔽
作者: 亞基拉 時間: 2018-11-9 17:19
本帖最後由 亞基拉 於 2018-11-9 17:47 編輯
for(cc = 'c'; cc <= 'o'; ++cc) printf("%c ", (((cc / 2) * 2) + 1);
作者: morris 時間: 2018-11-9 18:34
本帖最後由 morris 於 2024-3-22 13:22 編輯
......
作者: EITCo 時間: 2018-11-9 21:43
本帖最後由 EITCo 於 2018-11-9 21:44 編輯
回覆 8# morris
玩野系列
交功課咁寫實唔會畀人話係抄
- char s[] = "a c e ";
- int *ip = (int *)(s + 2);
- int d = *ip - *(int *)s;
- for (; s[2] < 'o'; *ip += d) {
- printf(s + 2);
- }
作者: gilbertluis 時間: 2018-11-12 16:05
d | 1 = e
e | 1 = e
f | 1 = g
g | 1 = g
h | 1 = i
i | 1 = i
j | 1 = k
k | 1 = k
...
作者: wolf1985hk 時間: 2018-11-13 00:40
#include <stdio.h>
int main() {
char value;
for (value = 'c'; value < 'o'; value = value + 2) {
printf("%c ", value);
printf("%c ", value+2);
}
printf("\n");
return 0;
}
作者: gakko 時間: 2018-11-13 20:32
char s[]= "c e e g g i i k k m m o";
for(int i=0; i < sizeof(s); i++) { printf("%s", s[i]); }
printf("\n");

作者: wfshop 時間: 2018-11-14 10:50
char s[]= "c e e g g i i k k m m o";
for(int i=0; i < sizeof(s); i++) { printf("%s", s); }
printf("\ ...
gakko 發表於 2018-11-13 20:32
高手中嘅高手

