5.4(非oj實驗、練習)編乙個函式, 求解二元一次方程組
#include #include #define pre 1e-4
#define error -404404
double solve(double,double,double,double,double,double,double*);
int main()
else
return 0;
}double solve(double a1,double b1,double c1,double a2,double b2,double c2,double* py)
else
return ansx;
}
現在再看這個**感覺怪怪的,當時是用了cramer法則去做這個,線代學的也不好,沒有區分無解和無窮多解,函式傳了一堆引數,應該拿個結構體封一下的。
5.6(非oj實驗、練習)分別編寫函式,檢測乙個字元是否空格,乙個字元是否數字,乙個字元是否母音
#include int isspace (char c);
int isnum (char c);
int isaeiou (char c);
int main()
else else else
}}
} return 0;
}int isspace (char c)
int isnum (char c)
int isaeiou (char c)
好吧,其實沒什麼好說的,如果不是分別編寫函式我也不會這樣寫,應該把三個判斷寫在乙個函式裡面好一些吧,主函式這樣看起來好奇怪。
5.10(選做練習)編寫函式,以兩個正整數為引數,如果該兩數是友好的返回true,否則返回false。如果這兩個整數每個的約數和(除了它本身以外)等於對方我們就稱這對數是友好的。例如:1184的約數和有:1+2+4+8+16+32+37+74+148+296+592=1210 1210的約數和有:1+2+5+10+11+22+55+110+121+242+605=1184
#include int addnum (int n);
int main()
else
return 0;
}int addnum (int n)
} return sum;
}
函式是把引數所有的真約數加起來,後來oj又碰到了這個題:
#include #include int primesum (int n);
int main ()
else
} return 0;
}int primesum (int n)
} return sum;
}
明顯還是下面這個用心一點……做了一點點優化。
6.7(非oj實驗、練習)編函式, 找出給定兩維整數組a中所有鞍點。若乙個陣列元素a[i,j] 正好是矩陣a 第 i 行的最小值; 第 j 列的最大值則稱其為 a 的乙個鞍點。
#include typedef struct node;
int main()
; for (i = 0;i < m;i ++)
if (a[i][j] > a[max[j].x][max[j].y])
} }for (i = 0;i < m;i ++)
} }return 0;
}
一邊讀入一邊處理資料,輸入終止的時候就能找到每行每列的最大值座標或者最小值左邊,似乎是聯機演算法吧?大體思路如此,為了省時間,但是題目是編函式……。
6.14(非oj實驗、練習)編函式,先對任意給定的 m*n 階整數矩陣的每行按遞增順序排序, 然後再按行以每行第乙個元素為關鍵字以遞增順序排序。使
a1112
<… 1n a21
22<… 2n … … … am1
m2< …mn 且 a11
21< …m1
#include #define maxsize 100
int main()
a[i][k+1] = temp;
} else
} if (i>=1) node;
int main()
char* my_strcat(char* s1,char* s2)
for(i = len1; i<=len1+len2; i ++)
return s1;
}
我終於想起來要用函式編寫了……注意一下複製會不會引起溢位,溢位了可不好玩。
6.6(選做練習)編函式, 把整數組中值相同的元素刪除得只剩乙個; 並把剩餘元素全部串到前邊。
#include #include #define maxsize 101
int main()
; printf("請輸入一共要列印的數字個數:\n");
scanf("%d",&num);
printf("請輸入矩陣的階數:\n");
scanf("%d",&m);
if (m*m != num)
int cnt = 1;
int circle = 0;
while (cnt <= num)
for (i = circle + 1 ; i < m - 1 - circle; i ++, cnt ++)
for (i = m - 1 - circle; i > circle; i --, cnt ++)
for (i = m - 1 - circle; i > circle; i --, cnt ++)
circle ++;
} for (i = 0;i < m;i ++) else
} for (i = 0; i < n; i++)
return 0;
}void insert (char* s, char sp[100][101], int i)
strcpy(sp[j],s);
return ;
}int cmp (char* s1, char* s2)
} if (ret == 2 && len == strlen(s1)) else
} return ret;
}int min (int a, int b)
printf("%d",ans+1);
return 0;
}
可以用陣列去模擬killing的過程,但是我這麼有愛心的乙個人怎麼能這樣做呢! One程式設計組第三次題目
1.如何將54張撲克以 最快速度排好序。並用程式實現。dfgh四個字母發別代表紅桃,黑桃,方片,梅花四色。大王為ww,小王為ii 例如 紅桃k為 dk,紅桃2為 d2。隨機產生 最後的順序為 da d2 fa f2.ga g2.ha h2.ii ww 如果程式不能實現,寫出你的想法。2.有乙個亂序的...
One程式設計組第三次題目
1.如何將54張撲克以 最快速度排好序。並用程式實現。dfgh四個字母發別代表紅桃,黑桃,方片,梅花四色。大王為ww,小王為ii 例如 紅桃k為 dk,紅桃2為 d2。隨機產生 最後的順序為 da d2 fa f2.ga g2.ha h2.ii ww 如果程式不能實現,寫出你的想法。2.有乙個亂序的...
《OpenGL程式設計基礎》第三章習題
又將近乙個月,我真混蛋啊,好吧,今次還是第三章,雖然已經看到第五章了,但是一直沒有做習題。公司準備用ogre。苦逼的我感覺還是要有點兒底子,不然哪兒看得懂 麼。為了知其然知其所以然。繼續。路漫漫其修遠兮,吾將好好學習,語文不太好,反正就是要表達這麼個意思。看了看第三章的習題。主要是一些glut的應用...