mythman 11 發表於 September 15, 2008 檢舉 Share 發表於 September 15, 2008 這是我們老師寫的猜數字程式(不是病毒)http://www.csie.ntu.edu.tw/~d95027/train/download/guess.exe第一步「請輸入程式:」已經做好了,那接下來該用什麼語法讓電腦判斷是幾A幾B? 鏈接文章 分享到其他網站
knsman78 10 發表於 September 17, 2008 檢舉 Share 發表於 September 17, 2008 你的輸入應該是宣告成字串吧兩個字串做交叉比較題目字串第一個字去跟解答的四個字比較數字一樣且相同位置就A+1 不同位置就B+1數字不一樣就不管然後換題目字串第二個字去跟解答的四個字比較依此類推 鏈接文章 分享到其他網站
mythman 11 發表於 September 17, 2008 作者 檢舉 Share 發表於 September 17, 2008 我現在是寫到這樣#include<stdio.h>#include<stdlib.h>int main(){ int a,b,c,d; printf("請輸入題目:"); scanf("&%d"); printf("請輸入答案:\n"); scanf("&%d&%d&%d&%d",a,b,c,d); printf("答對了!"); system("pause"); return 0; }為什麼在第二個printf之後就直接出現「請按任意鍵繼續」?沒有執行到下面的scanf?還有2樓的大大,交叉比較是該用什麼語法寫呢? 鏈接文章 分享到其他網站
knsman78 10 發表於 September 17, 2008 檢舉 Share 發表於 September 17, 2008 語法我忘了差不多了只學過基礎不過你scanf很怪int a;scanf(%d, &a);我以前是這樣寫0_o0_o0_o0_o0_o 鏈接文章 分享到其他網站
j100002ben 10 發表於 September 18, 2008 檢舉 Share 發表於 September 18, 2008 語法我忘了差不多了只學過基礎不過你scanf很怪int a;scanf(%d, &a);我以前是這樣寫0_o0_o0_o0_o0_oint a;scanf("%d","&a");應該是這樣吧.... 鏈接文章 分享到其他網站
TerryW 10 發表於 September 18, 2008 檢舉 Share 發表於 September 18, 2008 應該是scanf("%d", &a);才對吧... 鏈接文章 分享到其他網站
knsman78 10 發表於 September 18, 2008 檢舉 Share 發表於 September 18, 2008 忘了雙引號果然我忘光了樓上說的對xdxdxdxdxd 鏈接文章 分享到其他網站
j100002ben 10 發表於 September 19, 2008 檢舉 Share 發表於 September 19, 2008 啊....我多加一組了.....XDD 鏈接文章 分享到其他網站
su_horng 10 發表於 September 20, 2008 檢舉 Share 發表於 September 20, 2008 各位請愛去ptt還有....scanf這樣用好像太誇張了......大概寫寫 參考一下就好XD#include <stdio.h>#include <stdlib.h>#include <string.h>#define isnumber(a) ( ((a)>='0') && ((a)<='9') )#define index(a) ((a)-'0')int Guess(char *p, char *q, int *A, int *B) { int i, j, va[10], vb[10], a, b; a = 0; b = 0; memset(va, 0, sizeof(va)); memset(vb, 0, sizeof(vb)); for (i=0; i<4; i++) { if (!isnumber(p[i]) || !isnumber(q[i])) return 0; if (va[ index(p[i]) ] || vb[ index(q[i]) ]) return 0; va[ index(p[i]) ] = 1; vb[ index(q[i]) ] = 1; } for (i=0; i<4; i++) { for (j=0; j<4; j++) { if (p[i]==q[j]) { if (i==j) a++; else b++; } } } *A = a; *B = b; return 1;}int main() { int A, B; char prob[128], buf[128]; printf("Enter question> "); scanf("%s", prob); while (printf("Guess> "), scanf("%s", buf)!=EOF, Guess(prob, buf, &A, &B)) { printf("%dA%dB\n", A, B); if (A==4) break; } system("PAUSE"); return 0;} 鏈接文章 分享到其他網站
knsman78 10 發表於 September 20, 2008 檢舉 Share 發表於 September 20, 2008 這範例對初學者來說有難度寫這個的人太厲害了:|:|:|:|:| 鏈接文章 分享到其他網站
Recommended Posts
請登入後來留意見
在登入之後,您才能留意見
立即登入