![]() |
誰可幫我看看問題在哪
#include <iostream>
#include <stdio.h> using namespace std; int p5a(char s[]) { //判斷函式 //在這加入你的程式碼 int l=strlen(s); int i; for(i=0;i<l/2;i++){ if(s[i]!=s[strlen(s)-1-i]) return 1<0; } return 1>0; } int main() { //主程式 char s1[]="12321"; char s2[]="123121"; char s3[]="1DF23cCc32fd1"; cout<<s1<<":"<<p5a(s1)<<endl; cout<<s2<<":"<<p5a(s2)<<endl; cout<<s3<<":"<<p5a(s3)<<endl; system("pause"); return 0; } 輸出結果: 12321 = 1 123121 =0 1DF23cCc32fd1 = 0 可是正常來說第3行應該要1才對~~幫幫忙~~謝嚕 |
還有這一題@@~有大大可幫我解嗎??
/* (一) 模擬擲骰子 II */ #include <iostream> #include <stdlib.h> #include <stdio.h> using namespace std; int p2a(int dist[6]) { // 產生擬骰子點數 int sum=0; int i; for(i=0; i<6; i++) sum+=dist[i]; int chk=0; int r=rand()%sum; for(i=0; i<6; i++) { chk+=dist[i]; if (r<chk) return i+1; } return 0; } void sim(int dist[6], int cnt[6], int runs) { // 模擬骰子點數 //在這加入你的程式碼 } void printC(int cnt[6]) { // 統計骰子點數總和 //在這加入你的程式碼 } void printP(int cnt[6]) { // 統計骰子點數機率 //在這加入你的程式碼 } int main() { //主程式 int d[] = {1,1,1,1,1,5}; int cnt[] = {0,0,0,0,0,0}; sim(d,cnt,20000); printC(cnt); printP(cnt); system("pause"); return 0; } |
第一題D不等於d 所以傳回 0 (大小寫不同就是不等於)
第二題...(待) 要解什麼? |
引用:
|
是指 p2a() 放到 main() 裡面完成程式嗎?
sim(d,cnt,20000); 的 20000 大概是指擲骰子幾次 剩下 d 及 cnt 可以放到 p2a() 裡當引數 因為 printC(cnt); 是 統計骰子點數總和 所以可知 cnt 是骰子的紀錄 p2a() 應該是寫在 void sim() 裡 void sim(int dist[6], int cnt[6], int runs) { // 模擬骰子點數 //在這加入你的程式碼 int i; int num; for(i=0;i<runs;i++){ num=p2a(dist)-1; if (num>=0) { cnt[num]=cnt[num]+1; } } } rand()%sum; 可產生0~9的亂數 return i+1 產生1~6的點數 p2a(dist)-1 為何減一,因為C的陣列維度從0啟始,而p2a產生範圍是1~6所以減一 |
嗯嗯~~謝謝大大喔~~^^
|
所有時間均為台北時間。現在的時間是 03:46 AM。 |
Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2025, Jelsoft Enterprises Ltd.
『服務條款』
* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *