v***a 发帖数: 365 | 1 来自主题: JobHunting版 - 问个算法题 第一次写 c 程序,不保证正确,请自己 debug
程序假设单词是 a to z 组成
用的 bst counting, 然后 导出来 qsort
#include
#include
struct _node;
typedef struct _node {
int cc;
char c;
struct _node * n[26];
struct _node * fa;
} node;
void addToTree(node * root, node * r, const char * p1, const char * p2) {
int t;
int i;
if (p1 == p2) {
if (r->cc == 0) root->cc++;
r->cc++;
return;
}
t = (*p1) - (int)'a';
if (r->n[t] == NULL) {
r->n[t] = (node *... 阅读全帖 |
|
S**I 发帖数: 15689 | 2 ☆─────────────────────────────────────☆
recursive (递归) 于 (Mon Apr 11 10:56:49 2011, 美东) 提到:
大半夜收到HR的thank you note。不用管什么NDA了
本人ECE fresh PhD,背景是电路/EDA,跟G业务基本没什么关系
同学内部推荐的,很简单的一次电面就给了onsite
题都不难,但是自己没把握好机会,出了一些小bug。
总的感觉,出错就是硬伤,宁可从最简单的算法写起,也不能出错。
电面:
1,Skip list, http://en.wikipedia.org/wiki/Skip_list
写code实现struct skip_list * find(struct skip_list *head, int value)
2,sorted array with repeated elements
for given element, find out its range.
e.g. A A B B B B B C C D D E F G, given B, the out... 阅读全帖 |
|
k***t 发帖数: 276 | 3 写了一个,没测试。谁给Review一下。谢了。
===========================================
#include
#include
#define N 100
struct Node {
int val;
int nC; // Num of Children
Node *c[N]; // Children
};
bool hasP=false, hasQ=false;
Node * doLCA (Node *r, Node *p, Node *q) {
Node *first=NULL, *second=NULL;
assert(p&&q);
if (!r) return NULL;
if (p==r) {hasP=true; return r;}
if (q==r) {hasQ=true; return r;}
for (int i=0;inC;i++) {
Node *t=doL... 阅读全帖 |
|
c****p 发帖数: 6474 | 4 #include
#include
int C(int m, int n)
{
int *A, *B;
int tmp;
int i, j, k;
if((m <=0 ) || (n <=0 ))
return -1;
if(n == 1)
return m;
if(n == m)
return 1;
if(m - n < n)
n = m - n;
A = malloc(n*sizeof(int)); // A = {m, m - 1, .... m - n + 1}
B = malloc((n-1)*sizeof(int)); // B = {2, 3, ... n}
for(i = 0; i
{
A[i] = m - i;
B[i] = i + 2;
}
A[n-1] = m - n + 1;
//i ... 阅读全帖 |
|
c*****e 发帖数: 737 | 5 1 #include
2 #include
3 #include
4
5 int prob()
6 {
7 return rand() % 2;
8 }
9
10 int prob(double req_, double has_)
11 {
12 int a = prob();
13
14 if (req_ == has_)
15 return a;
16 else if (req_ > has_)
17 {
18 if (a == 1)
19 return a;
20 else
21 return prob(req_ - has_, has_ / 2);
22 }
23 else
24 {... 阅读全帖 |
|
c*****e 发帖数: 737 | 6 1 #include
2 #include
3 #include
4
5 int prob()
6 {
7 return rand() % 2;
8 }
9
10 int prob(double req_, double has_)
11 {
12 int a = prob();
13
14 if (req_ == has_)
15 return a;
16 else if (req_ > has_)
17 {
18 if (a == 1)
19 return a;
20 else
21 return prob(req_ - has_, has_ / 2);
22 }
23 else
24 {... 阅读全帖 |
|
c*****e 发帖数: 737 | 7 来自主题: JobHunting版 - 一道面试题 find:9006221 points.
1 #include
2 #include
3 #include |
|
l***h 发帖数: 392 | 8 这个题目主要是靠第二点和第三点。
#include
#include
#define BLOCK 40
size_t readblock(FILE *fp, char* buffer){
return fread(buffer,1,BLOCK,fp);
};
size_t readline(FILE *fp, char *buf){
long pos = ftell(fp); // record the currently position
int offset = 0;
int num;
while( num = readblock(fp, buf+offset)){
int i;
for( i=0; i
char c = buf[offset];
if(... 阅读全帖 |
|
j********e 发帖数: 1192 | 9 我没有说字符集相同就能scramble,字符集相同是必要条件,而不充分。
我的做法是,先找到一个位置i在s1,j在s2使得分割后的4个字符串两两
有相同的字符集(i=j 或者i=N-j)。然后接着对这2对字符串继续做同样
的事情连寻找分割位置。这样递归下去,如果有某对字符串无法找到分割
位置,则表示失败。否则,最后分隔最小的字符串只有一个字符。就可以
判断scramble成功。
问题是,如果有多个分割位置,是否任选一个都可以?如果必须测试每个可能的分割位置,那复杂度就不好说了。
下面是我的简单实现代码,通过了leetcode的online judge (包括judge large)。这段代码中会处理所有可能的分割位置。如果只选第一个可能的分割位置,有一个测试失败了。
#include
#include
#include
#include
using namespace std;
#define BITMAP_LEN 256
bool compare_char_set(const char *s1, con... 阅读全帖 |
|
j********e 发帖数: 1192 | 10 写了个使用O(1)memory, O(logN * logN) (N是tree的size)的程序。
类似于binary search的算法,测试代码也在下面,应该没有大bug。
先获得树的高度h,然后比较h和root->right子树的高度+1,如果相同,
说明树最后一个节点在root->right,否则最后一个节点在root->left的子树。
#include
#include
#include
#include
using namespace std;
class Node {
private:
Node *left;
Node *right;
int value;
public:
Node() {
left = right = NULL;
value = 0;
}
Node(int v) {
left = right = NULL;
value = v;
}
int Height(Node *node) {
int h... 阅读全帖
|
|
g**********t 发帖数: 475 | 11 Isn't it very slow to swap one array k times? Remember that k could be very
large! I attached my code using a different idea.Its complexity is O(n^2).
#include
#include
#include
#include
using namespace std;
int permutation(int n){
int p = 1;
for(int i = 1; i <= n; i ++){
p *= i;
}
return p;
}
string perSeq(int n, int k){
string output;
bool flag[10];
fill_n(flag, 10, false);
--k;
for (int i = 1; ... 阅读全帖 |
|
l****c 发帖数: 838 | 12 You should read in the string and parse.
You don't know how long the first part string is or how long the number is.
So if you define:
char tempprice[10];
char ticker[10];
You have the risk of buffer overflow.
Here is my solution. I debug it as I wrote it, so it is not optimized.
it is pure C. You can get result with 2 lines of perl or python code
============================
#include
#include
#include
int main()
{
char *str = "GOOD|89.34";
char *ptoken, *... 阅读全帖 |
|
d****n 发帖数: 1637 | 13 //in windows
#include
#include
using namespace std;
class A{
public :
int a;
int b;
};
int main()
{
cout<<&main<
int before=4;
cout<<"STACK &before="<<&before<
A objA;
void *p=malloc(1000);
cout<<"HEAP *p="<
cout<<"&objA.a"<<&(objA.a)<
cout<<"&objA.b"<<&(objA.b)<
cout<<"objA="<<&objA<
int after=4;
cout<<"STACK &after="<<&after<
return 0;
}
//output from windows wi... 阅读全帖 |
|
c********s 发帖数: 817 | 14 This is my implementation for these two functions, and a driver to run them.
cat string_reverse.c
#include
#include
#include
void swap(char* c1, char* c2);
// -----------------
void string_reverse1(char* string) {
if (string == NULL)
return;
char* head = string;
char* tail = head;
// find the tail
while (*tail) ++tail;
--tail;
// while loop to do the swap
while (head < tail)
swap(head++, tail--);
}
// -----------------
// the caller of this function is res... 阅读全帖 |
|
d****n 发帖数: 1637 | 15 看了下楼主的《剑指Offer——名企面试官精讲典型编程题》
第7章,第一个实例简直就是面试官装B的一个实例。
说什么atoi 返回0的时候也可能是错误,会设置一个全局变量。
根本就是瞎扯。或者说最近的libc里面根本没有提。害的我找了一圈
###############man 3 atoi :############
DESCRIPTION
The atoi() function converts the initial portion of the string
pointed to by nptr to int. The behaviour is the same as
strtol(nptr, (char **)NULL, 10);
except that atoi() does not detect errors.
###############atoi.c###################
00001 /*
00002 * This file is shared between libc and the kern... 阅读全帖 |
|
d**********x 发帖数: 4083 | 16 H2O那个我写了个C的。可以改吧改吧加上对各种原子的计数。
编译的时候别忘了 -lpthread !
#include
#include
#include
#include
#include
#include
sem_t availH;
sem_t availO;
sem_t usedH;
sem_t usedO;
void* H(void*) {
sem_post(&availH);
sem_wait(&usedH);
fprintf(stderr, "H consumed.\n");
pthread_detach(pthread_self());
return NULL;
}
void* O(void*) {
sem_post(&availO);
sem_wait(&usedO);
fprintf(stderr, "O consumed.\n");
pthread_detach(... 阅读全帖 |
|
w*r 发帖数: 72 | 17 two semaphores 就够了吧
#include
#include
#include
class sem {
boost::mutex guard;
int c ;
public:
sem() : c(0) {}
void V ( int n = 1 ) {
boost::mutex::scoped_lock lock(guard);
c = c + n;
}
void P ( int n = 1) {
while ( c < n ) ;
boost::mutex::scoped_lock lock(guard);
c = c - n;
}
};
sem semh;
sem semo;
class H{
public:
void operator()() {
std::cout << "create H thread ... 阅读全帖 |
|
d**********x 发帖数: 4083 | 18 H2O那个我写了个C的。可以改吧改吧加上对各种原子的计数。
编译的时候别忘了 -lpthread !
#include
#include
#include
#include
#include
#include
sem_t availH;
sem_t availO;
sem_t usedH;
sem_t usedO;
void* H(void*) {
sem_post(&availH);
sem_wait(&usedH);
fprintf(stderr, "H consumed.\n");
pthread_detach(pthread_self());
return NULL;
}
void* O(void*) {
sem_post(&availO);
sem_wait(&usedO);
fprintf(stderr, "O consumed.\n");
pthread_detach(... 阅读全帖 |
|
w*r 发帖数: 72 | 19 two semaphores 就够了吧
#include
#include
#include
class sem {
boost::mutex guard;
int c ;
public:
sem() : c(0) {}
void V ( int n = 1 ) {
boost::mutex::scoped_lock lock(guard);
c = c + n;
}
void P ( int n = 1) {
while ( c < n ) ;
boost::mutex::scoped_lock lock(guard);
c = c - n;
}
};
sem semh;
sem semo;
class H{
public:
void operator()() {
std::cout << "create H thread ... 阅读全帖 |
|
e*******i 发帖数: 56 | 20 C code as following. Passed first test case. Could not figure out why failed
the others. Please help
//////////////////////////////
#include
#include
#include
#include
int main() {
int nCases;
scanf("%d\n", &nCases);
for(int i=0;i
{
int N;
int Q;
scanf("%d %d\n",&N, &Q);
short int *A=malloc((N+1)*sizeof(short int));
for(int j=1;j<=N;++j) scanf("%d ", &A[j]);
s... 阅读全帖 |
|
e*******i 发帖数: 56 | 21 Fixed some pointer casting issue. Now it scored 42+ points but still failed
test case 1,2,3,4,5,10 due to TLE.
/////////////////////
#include
#include
#include
#include
int main() {
int nCases;
scanf("%d\n", &nCases);
for(int i=0;i
{
int N;
int Q;
scanf("%d %d\n",&N, &Q);
short int *A=(short int *)malloc((N+1)*sizeof(short int));
for(int j=1;j<=N;++j) scanf("%hd ", &A[j]);
... 阅读全帖 |
|
d**********x 发帖数: 4083 | 22 那题目貌似就没卡复杂度。。。枉我昨天下班后还捏着鼻子写了个treap。。。结果证
明是输出格式错了,只过了两三个case的可以考虑检查一下输出格式
思路大致就是用order statistics tree。每次查询都是O(logn)。手写最大问题在于没
法定制容器的行为。。。
好吧,然后想了一下,如果用两个heap加一个map的话也是可以的,因为只是查询
median,没有要求随机查询kth元素,所以还是写复杂了
附上代码,treap是个随机平衡树,可以拿去用。
#include
#include
#include
#include
using namespace std;
template
class Treap {
public:
class Node {
public:
Node(const T& value)
: value_(value),
left_(NULL),
right_(NULL),... 阅读全帖 |
|
j*****y 发帖数: 1071 | 23 写了一个,欢迎测试
#include
#include
#include
#include
#include
using namespace std;
bool isNumber(string s)
{
if(s[0] == '+' || s[0] == '-' || s[0] == '(' || s[0] == ')')
{
return false;
}
return true;
}
int helper(int a, int b, char c)
{
if(c == '+')
{
return a + b;
}
else
{
return a - b;
}
}
bool valid(vector &s)
{
stack v;
stack c;
for(int i = 0; i < s.size(); ++i)
... 阅读全帖 |
|
j*****y 发帖数: 1071 | 24 写了一个,欢迎测试
#include
#include
#include
#include
#include
using namespace std;
bool isNumber(string s)
{
if(s[0] == '+' || s[0] == '-' || s[0] == '(' || s[0] == ')')
{
return false;
}
return true;
}
int helper(int a, int b, char c)
{
if(c == '+')
{
return a + b;
}
else
{
return a - b;
}
}
bool valid(vector &s)
{
stack v;
stack c;
for(int i = 0; i < s.size(); ++i)
... 阅读全帖 |
|
g*********e 发帖数: 14401 | 25 #include
#include
#include
using namespace std;
double getRand() {
double ran=rand()/(double)RAND_MAX;
return ran;
}
int main() {
double E=0;
double sum=0;
double A=getRand();
sum=A;
double B;
int count=1;
double total;
int times=100000;
for(int i=0;i
count=1;
A=getRand();
sum=A;
while(B=getRand()){
sum+=B;
count++;
if(B>=A)
break;
else {
A=B;
}
}
E=sum/count;
... 阅读全帖 |
|
R*****i 发帖数: 2126 | 26 这个题目建议用红黑树做可能最快捷有效。红黑树每一次插入,删除都是log(k),求平
均值非常简单,就是根部的那个节点。所以总的计算量是O(nlog(k))。
以下是c/c++代码(需要修改数组,以便一个一个输入)。
#include
#include
#include
#define INDENT_STEP 4
enum rbtree_node_color {RED, BLACK};
typedef struct rbtree_node_t {
int value;
struct rbtree_node_t* left;
struct rbtree_node_t* right;
struct rbtree_node_t* parent;
enum rbtree_node_color color;
} *rbtree_node;
typedef rbtree_node node;
typedef enum rbtree_node_color color;
typedef struct... 阅读全帖 |
|
J**9 发帖数: 835 | 27 Problem at
http://discuss.leetcode.com/questions/765/word-break
This does not seem to be a DP problem, just do it in a straightforward way.
Here's my implementation in C. Any issue?
Thanks.
//===========================================================
#include
#include
#include
#include
#include
/**
* Given a string s and a dictionary of words dict, determine if s can be
segmented into a space-separated sequence of one or more
* dictionary w... 阅读全帖 |
|
b******p 发帖数: 49 | 28 我来贴个CPP的(注意:以下有乱七八糟的code……)
合并排序确实比较好用,我还在写第一遍leetcode,代码风格也比较乱,带了很多
debug code,还带了测试用例,试了9次才通过…
有一些多边界条件需要判断的。我的方法是加很多debug,或加很多assertion(我做别
的题里面经常用assertion……不知道是不是好习惯)
============================
#include
#include
using namespace std;
/*
Merge sort ?
*/
// Start: 22:40
// End: 23:45 用了一个小时
//Definition for singly-linked list.
struct ListNode {
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
};
#define TOMMYDBG
class Solution {
public:
... 阅读全帖 |
|
|
m**********g 发帖数: 153 | 30 这个验证通过:
#include
#include
#include
using namespace std;
void rotate(int a[], int k, int n) {
int i=0;
k = k%n;
for (; i+k
if (n%k == 0) return;
rotate(&a[i], k - n%k, k);
}
int main()
{
int i;
int a[]= {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
rotate(a, 5, 12);
for(i=0; i
printf( "%d ", a[i]);
}
printf("n");
return 0;
... 阅读全帖 |
|
c**y 发帖数: 172 | 31 写了个程序测了一些,没有发现你的说的问题,both (p < q) and (p > q) are
possible, depending on how the parameters are passed. The code below is
compiled with c++ 11.
#include
#include
#include
using namespace std;
void foo(int *p, int *q)
{
while (p
cout << "p < q" <
return;
}
cout << "p > q" << endl;
return;
}
int main() {
int *pa = new int(10);
int *pb = new int(20);
foo(pa, pb);
foo(pb, pa);
return 0;
}
======== output =... 阅读全帖 |
|
c*******y 发帖数: 98 | 32 DP好难,我来贴个无脑的,不知道题目理解对了没有。。
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
int findMaxAllOneTopLeftSquare(vector>& matrix)
{
int i, j;
int m = matrix.size(); if (!m) return 0;
int n = matrix[0].size(); if (!n) return 0;
int max = min(m, n);
for (i=0; i
for (j=0; j<=i; j++){
if (matri... 阅读全帖 |
|
m*********a 发帖数: 3299 | 33 第一题是用递归么?
#include
#include
typedef struct output_string{
char string[20];
struct output_string *next; }output_string;
void stringCopy(char *str_source,char *str_dest,int no_char){
while (no_char--) *str_dest++=*str_source++;
}
void allString(char *str,output_string *output,int char_position){
output_string *tmp;
while ((*str!='?')&(*str!='\0'))
output->string[char_position++]=*str++;
if (*str=='\0') {output->string[char_position]='\0';return;... 阅读全帖 |
|
c*******y 发帖数: 98 | 34 我觉着这个时间复杂度基本和qsort没区别。少partition一层而已。楼上大牛说的
sorting color是怎么模仿的?
来贴个无脑code。。
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
void print(vector& arr){
for (auto& it : arr) cout << it << ", ";
cout << endl;
}
int main (int argc, char** argv) {
vector arr = {2, 4, 6, 8, 10, 1, 3, 5, 7, 9};
print(arr);
int i = 0, j = 9;... 阅读全帖 |
|
z******g 发帖数: 271 | 35 #include
#include
#include
typedef struct trie {
int count;
const char *start;
int len;
struct trie *children[256];
} trie;
static inline trie *make_trie_node(const char *start, int len) {
trie *t, temp = {
.start = start,
.len = len
};
t = malloc(sizeof(trie));
memcpy(t, &temp, sizeof(trie));
memset(&t->children, 0, sizeof(t->children));
return t;
}
const char *most_frequent_substr(const char *str, int k, in... 阅读全帖 |
|
h******k 发帖数: 810 | 36 找第一份工的时候,三个公司问了三遍atoi。
最后直接告诉对方:注意正负注意溢出忽略leading whitespaces遇到non-numeral停止
,还有BSD stdlib里atoi是strtol的wrapper。惊得他下巴都掉了。 |
|
|
xt 发帖数: 17532 | 38 我搞到了一个小程序:
#include
#include
#include
#include
#include
int main( int argc, char** argv)
{
char buf[80] = {0};
int myfile;
pid_t pid;
struct psinfo psi;
if ( argc<2 ){
printf("Usage: %s PID\n", argv[0]);
return 1;
}
pid=atoi(argv[1]);
sprintf( buf, "/proc/%d/psinfo", pid);
myfile = open( buf, O_RDONLY );
if (myfile < 0)
perror( "open" );
if ( read( myfile, & psi, sizeof(psi) ) < 0 )
perror( "read" );
close( myfile );
printf( "%s |
|
i**a 发帖数: 98 | 39 From Wikipedia
The itoa (integer to ASCII) function is a widespread[citation needed] non-
standard extension to the standard C programming language. It cannot be
portably used, as it is not defined in any of the C language standards;
however, compilers often provide it through the header while in
non-conforming mode, because it is a logical counterpart to the standard
library function atoi.
void itoa(int input, char *buffer, int radix)
itoa takes the integer input value input and conv... 阅读全帖 |
|
m**x 发帖数: 8454 | 40 lz的code问题就是没有main()入口,所以是无法单独运行的。我补了main(),可以运行:
#include
#include
bool judge_prime(int a);
int main()
{
int innum;
printf("Please enter your number:");
scanf("%d", &innum);
if (judge_prime(innum)) printf("\n%d is a prime number.\n", innum);
else printf("\n%d is not a prime number.\n", innum);
return 1;
}
另外,c语言好像没有bool类型,因为我gcc编译无法通过(用int代替之即可通过)。
但c++有,所以用bool的话g++编译可以通过。 |
|
f******6 发帖数: 67 | 41 #include
#include
int main(int argc, char *argv[])
{
int value, base;
int remainder, place=79;
char buffer[80];
line_1 //buffer[79]=(char)(0);//不加这一行就有乱码
char *table ="0123456789ABCDEF";
value = atoi(argv[1]);
base = atoi(argv[2]);
printf("%d %dn", value, base);
do {
remainder = value%base;
printf("%cn", table[remainder]);
buffer[place] = (char)(table[remainder]);
printf("%cn", buffer[place]);... 阅读全帖 |
|
t*****s 发帖数: 416 | 42 #define NULL (void*)0
你可以在stdlib.h里找到 |
|
t******n 发帖数: 2939 | 43 ☆─────────────────────────────────────☆
l63 (l63) 于 (Sun May 26 03:44:32 2013, 美东) 提到:
我对素数的定义是:
"a是素数 <=> a是大于1的自然数, 且a不被任何小于a的素数整除"
C代码如下:
bool judge_prime(int a)
{
int b;
if (a<=1)
return 0;
else
{
for (b=0;b
{
if(judge_prime(b)&& a%b==0)
return 0;
}
return 1;
}
}
☆─────────────────────────────────────☆
l63 (l63) 于 (Sun May 26 03:46:21 2013, 美东) 提到:
看了这个还认为我的定义有什么 "循环定义" 的问题的人, 我只能说, 你的智商连... 阅读全帖 |
|
d**********o 发帖数: 1321 | 44 hw3b c-.y file
上面这一楼贴了载止hw3b deadline时我match的结果(也就是老师可以以这些不match
的ERROR为借口不给后来我补上的成绩),但是因为当时我还是没有写完,后来感恩节
期间就接着又写了一些,而且hw5是based on hw3 & hw3b的基础上(当我hw5是based
on更好的hw3的结果时,我应该可以得更多的分吧)。
hw4因为写得比较顺利,就不曾保留任何交上去作业的output,没有什么一目了然的结
果是我可以贴在这里的。原本我是想要把自己最的一次作业hw5贴出来的,但那已经是
一个完整的compiler,而且以后我还需要用自己的course project来找工作,所以一定
就不贴最终结果了。那就贴一个hw3b的c-.y文件吧,它集中的hw1、hw2、hw3、 hw3b的
结果,是我自己hw3b *.y文件的最完整版本。这些作业里面也有很多机关一一人为增加
的难度,比如那六七个IO相关的function,不仅traverse tree、build syntax tree的
时候会成为一个考点(把它们作为一个node连在syntax... 阅读全帖 |
|
d**********o 发帖数: 1321 | 45 hw3b c-.y file
上面这一楼贴了载止hw3b deadline时我match的结果(也就是老师可以以这些不match
的ERROR为借口不给后来我补上的成绩),但是因为当时我还是没有写完,后来感恩节
期间就接着又写了一些,而且hw5是based on hw3 & hw3b的基础上(当我hw5是based
on更好的hw3的结果时,我应该可以得更多的分吧)。
hw4因为写得比较顺利,就不曾保留任何交上去作业的output,没有什么一目了然的结
果是我可以贴在这里的。原本我是想要把自己最的一次作业hw5贴出来的,但那已经是
一个完整的compiler,而且以后我还需要用自己的course project来找工作,所以一定
就不贴最终结果了。那就贴一个hw3b的c-.y文件吧,它集中的hw1、hw2、hw3、 hw3b的
结果,是我自己hw3b *.y文件的最完整版本。这些作业里面也有很多机关一一人为增加
的难度,比如那六七个IO相关的function,不仅traverse tree、build syntax tree的
时候会成为一个考点(把它们作为一个node连在syntax... 阅读全帖 |
|
发帖数: 1 | 46 http://rosettacode.org/wiki/24_game/Solve#C
改一下就行了。这是输入4个的,可以改成输入3个的。
6 17 3 7: No solution
……
#include
#include
#include
#define n_cards 4
#define solve_goal 29
#define max_digit 9
typedef struct { int num, denom; } frac_t, *frac;
typedef enum { C_NUM = 0, C_ADD, C_SUB, C_MUL, C_DIV } op_type;
typedef struct expr_t *expr;
typedef struct expr_t {
op_type op;
expr left, right;
int value;
} expr_t;
void show_expr(expr e, op_type prec, int is_r... 阅读全帖 |
|
l***y 发帖数: 4671 | 47 程序是:
#include "stdio.h"
#include
#include
#include
#include
#include
using namespace std;
int main(){
string sIdentifier;
pid_t p1 = fork();
pid_t p2 = fork();
pid_t p3 = fork();
pid_t p4 = fork();
cout << "p1: " << p1
<< ", p2: " << p2
<< ", p3: " << p3
<< ", p4: " << p4
<
return 0;
}
结果是个全组合:
p1: 37133, p2: 37134, p3: 37135, p4: 37138
p1: 37133, p2: 37134, p3: 37135, p4: 0
p1: 37133, p2: 371... 阅读全帖 |
|
w*****r 发帖数: 7106 | 48 老七, 你能不能把下面这个程序compile一下, 拿到你机器上run一下, 看看有什么效果.
#include
#include
void what_to_do_4_sickness();
void what_to_do_4_sickness()
{
printf("What do you do if you are sick ? \r\n");
what_to_do_4_sickness();
}
int main(int argv, char **argv)
{
what_to_do_4_sickness();
return 0;
}
====================================================
没完没了地说同一件事会死得很快的!
============================================================= |
|
q*****z 发帖数: 191 | 49 Can anyone tell me what is wrong with this little C program? I am learning it
how to pass structure pointer back and forth in functions. This program compil
es ok but when excuting it, it cannot give me the right result. Thanks in adva
nce.
Here is the program:
#include
#include
struct number{
double r;
double c;
};
struct number *addtwocom(struct number *a, struct number *b)
{
struct number *c;
c->r = a->r+b->r;
c->c = a->c+b->c;
re |
|
z*****n 发帖数: 7639 | 50 here is the whole program with test code, my
result is (for 1 to 7)
143283
142313
143015
142959
142752
142532
143146
#include
#include
#include
#define rnd5() rand()%5+1
int rnd8(void);
void main(){
int a, b[5]={0,0,0,0,0}, c, d[8]={0,0,0,0,0,0,0,0};
srand(time(NULL));
for(a=0; a<100000; a++){
c=rnd5();
b[c-1]++;
}
for(a=0; a<5; a++) printf("%d\t", b[a]);
for(a=0; a<1000000; a++){
|
|