由买买提看人间百态

topics

全部话题 - 话题: scanf
1 2 下页 末页 (共2页)
L*******g
发帖数: 913
1
来自主题: Programming版 - 低手问个C的scanf问题
程序里先有个
while(scanf("%d", &n)!=EOF) { .... }
然后想从键盘读入一串数,用
scanf("%d", &m);
程序运行的时候是用 ./a.out < list 的形式从list导入数据。但是这样就不能从键盘
输入,m的值自动就是list的最后一个数值。
请问如何才能从list读完数据以后再从键盘读数据?
e*******i
发帖数: 56
2
来自主题: JobHunting版 - hackerrank的xor题目
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
3
来自主题: JobHunting版 - hackerrank的xor题目
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]);
... 阅读全帖
f*********0
发帖数: 861
4
还是到这个版来问问.
快崩溃了, 怎么也run不起来, 不知道哪里有问题.
#include
#include
int main()
{
float grade1;
float grade2;
float grade3;
printf("enter your 3 test grades: n");
scanf(" %fn", &grade1);
scanf(" %fn", &grade2);
scanf(" %fn", &grade3);
float avg =(grade1 + grade2 + grade3)/3;
printf("average: %.2fn", avg);
if(avg >=90){
printf("grade: A");
}else if(avg >=80){
printf("grade: B");
}else if(avg >=70){
printf("grade: C");
}else if(avg >=60){
printf("grade: D");
}else{
prin... 阅读全帖
s********l
发帖数: 998
5
来自主题: JobHunting版 - 问2道面试题
1.
一个c 文件里有
#include
在main() 里面 有scanf();
用make 生成a.out后
a.out里有没有scanf()的code
2.
scanf()如何知道是从那个device得到输入?
谢谢
f*********0
发帖数: 861
6
来自主题: CS版 - 帮忙debug这个C程序,谢谢!
快崩溃了, 怎么也run不起来, 不知道哪里有问题.
#include
#include
int main()
{
float grade1;
float grade2;
float grade3;
printf("enter your 3 test grades: n");
scanf(" %fn", &grade1);
scanf(" %fn", &grade2);
scanf(" %fn", &grade3);
float avg =(grade1 + grade2 + grade3)/3;
printf("average: %.2fn", avg);
if(avg >=90){
printf("grade: A");
}else if(avg >=80){
printf("grade: B");
}else if(avg >=70){
printf("grade: C");
}else if(avg >=60){
printf("grade: D");
}else{
printf("you are fai... 阅读全帖
t*****g
发帖数: 1275
7
来自主题: Programming版 - array allocation in c
Dynamic array on stack is allocated using calculated size instead of 'pre-
calculated' or 'hard-coded' size; The allocation is not different than
moving the stack pointer though. The following assembly code may show you
how it works (solaris on x86)
...
leal -0x8(%ebp),%eax ; pipe scanf output to this address
...
call -0x23d ; call scanf
movl -0x8(%ebp),%eax ; obain variable 'n' and save it to %eax
...
subl %eax,%esp ; grow the stack pointer
a*****g
发帖数: 19398
8
来自主题: Programming版 - set operation in c
/* http://www.ccodechamp.com/c-program-of-set-operations-in-maths/ */
#include
#include
#define MAX 30
void create(int set[]);
void print(int set[]);
void Union(int set1[],int set2[],int set3[]);
void intersection(int set1[],int set2[],int set4[]);
int member(int set[],int x);
int main()
{ int set1[MAX],set2[MAX],set3[MAX];
int x,op;
set1[0]=set2[0]=set3[0]=0;
printf("-------------------------------------------------------------\n");
printf("----------------made by C co... 阅读全帖
s***c
发帖数: 1926
9
来自主题: Military版 - 我他妈自己想出一道面试题
你说的就是DP加滚动数组啊,任何一本面试书里的最基本题。
#include
using namespace std;
int Fib[3];

int fib(int n)
{
Fib[1] = 0;
Fib[2] = 1;
for(int i = 2; i <= n; ++i)
{
Fib[0] = Fib[1];
Fib[1] = Fib[2];
Fib[2] = Fib[0] + Fib[1];
}
return Fib[2];
}

int main()
{
int ncase, n, ans;
scanf("%d", &ncase);
while(ncase--)
{
scanf("%d", &n);
ans = fib(n);
printf("%dn", ans);
}
return 0;
}
c****p
发帖数: 6474
10
来自主题: JobHunting版 - 这道题,怎么做呀?
假设A/B:
#include
int main()
{
int A, B, tB, tA, Q, R;
scanf("%d", &A);
scanf("%d", &B);
tB = B;
if (A {
Q = 0;
R = A;
}
else
{
while(A>tB)
{
tB<<=1;
}
tB >>= 1;
tA = A;
Q = 0;
while(tB >= B)
{
Q <<= 1;
if(tA >= tB)
{
tA -= tB;
Q += 1;
}
tB >>= 1;
}
R =... 阅读全帖
S******t
发帖数: 151
11
来自主题: JobHunting版 - 问个IQ 题
#include
#include
using namespace std;
char cross[3000][20];
int main()
{
int n,i,nc=0,sum=0,t[1000];
scanf("%d",&n);
for(i=0;i scanf("%d",&t[i]);
sort(t,t+n);
for(i=n-1;i>=3&&2*t[1] {
sprintf(cross[nc++],"%d %d\n",t[0],t[1]);
sprintf(cross[nc++],"%d\n",t[0]);
sprintf(cross[nc++],"%d %d\n",t[i-1],t[i]);
sprintf(cross[nc++],"%d\n",t[1]);
sum+=2*t[1]+t[0]+t[i];
}
for(;i>=2;i... 阅读全帖
l**********7
发帖数: 55
12
来自主题: JobHunting版 - G onsite 概率题
做出来才是硬道理。
这是我的代码,参考了http://www.feynmanlectures.info/solutions/half_pills_sol_2.pdf
速度很慢对于100个pill取100次。
//http://www.feynmanlectures.info/solutions/half_pills_sol_2.pdf
// w is number of whole pills
// h is number of half pills
float pill(int w, int h, int d) {
float p=0.0;
if (w<0 || h<0) return 0.0;
if (w==0 && h==2) return 1.0;
if (d <= 0) return 1.0*h/(w+h);
if (w>0) p += 1.0*w/(w+h)*pill(w-1, h+1, d-1);
if (h>0) p += 1.0*h/(w+h)*pill(w, h-1, d-1);
return p;
}
int... 阅读全帖
I*******g
发帖数: 7600
13
来自主题: JobHunting版 - 为什么我的这个dynamic解法有错误
高手看看,错在哪里了?
题目是找到从[0][0] 到[M][N]点的所有途径数 (如果a[i][j] ==0 就不能通过)
int numberOfPaths(int a[][1001],int M, int N) {
if (M <= 0 || N <=0) return -1;

int help[M][N];
if (a[M-1][N-1] == 0) {help[M-1][N-1] = 0;}
else {help[M-1][N-1] =1;}


for (int x = M-2 ; x >= 0; --x){
if (a[x][N-1] ==0 || help[x+1][N-1] ==0) help[x][N-1] = 0;
else help[x][N-1] = 1;
}

for (int y = N-2 ; y >=0; --y){
if (a[M-1][y] == 0 || help[M-1][y+1] ==0) help[M-1... 阅读全帖
w***g
发帖数: 5958
14
来自主题: Programming版 - 很不习惯cin/cout
scanf/printf是C语言的一个非常成功的设计,可以看成是一个mini language。cin/co
ut也有其好处,但是确实就用起来没有scanf/printf方便。如果只需要printf的话可以
试试boost::format。
c*****t
发帖数: 1879
15
来自主题: Programming版 - string /File IO processing using C
regex is NOT going to be any easier. It will be a lot slower because
it has to construct NFA as run time.
scanf actually supports a very limited form of regex which can be
efficiently used to match input. Its regex is slightly different
from POSIX, but for most uses, about the same.
If you can master scanf, string functions (strchr, strstr, strcmp etc),
there will be rarely a need to use anything else. More complicated
stuff usually flex.
regex is for people who has no idea. It is really not
b****j
发帖数: 78
16
来自主题: Programming版 - string /File IO processing using C
man scanf
scanf("%[^\t]%*c%[^\t]%*c%[^\t]", s1, s2, s3);
d****n
发帖数: 1637
17
来自主题: Programming版 - C++ Q110: Add without +
狗来的:
#include
int add(int a, int b)
{
if (!a)
return b;
else
return add((a & b) << 1, a ^ b);
}
int main()
{
unsigned int a,b;
printf("Enter the two numbers: \n");
scanf("%d",&a);
scanf("%d",&b);
printf("Sum is: %d",add(a,b));
}
x******a
发帖数: 6336
18
来自主题: Programming版 - C++ problem
I got thousands problems on the following piece of code "dumpfile.h" when I
compile under cygwin. it is ok under visual stduio... can anyone help?
Thanks!
#include
#include
#include //ostream_iterator
#include //cerr
#include //std::copy
template
void dump_to_file(const char* filename, const std::vector& v_d){
std::ofstream ofs(filename);
if(!ofs){
std::cerr<<"Unable to open the file to write!n";
return ;... 阅读全帖
b***i
发帖数: 3043
19
来自主题: Unix版 - Unix 编成小问题
我在调试一个Unix程序, 是xKernel
一个Server, 一个Client都运行了,
然后Client 向Server发包,
Server的底层收到包后, 向Client发Ack, 然后向上层Deliver.
Server的上层收到包后,生成一个线成ServerConsumer
我在ServerConsumer里,用scanf读如一个数.
在这个时候,Client继续向Server发包.但是,我看不出到Server有任何反应.
难道Scanf的使用使主进程Block了?
应该怎样在读取键盘输入的同时让主进程和底层的东西继续执行?
多谢
L*******g
发帖数: 913
20
来自主题: Computation版 - 问个c programming product code的问题
两个都可以
#include
...
int i, n, ok, banned, valid;
char c[20];
scanf("%d", &n);
banned=valid=0;
for(i=0; i scanf("%s", c);
if(strlen(c)>=10) {
ok=1;
for(j=3; j<7 && ok; j++) { if(c[j]<'0' || c[j]>'9') ok=0; }
if(ok) {
if(c[9]=='R' && c[3]>='2') banned++;
else valid++;
}
}
}
printf("banned=%d, valid=%d\n", banned, valid);
b*****t
发帖数: 9671
21
GFW之父方滨兴微博半日即遭网民围观退却 | Flickr - Photo Sharing!从 牛博山寨
编辑推荐 作者:(author unknown)
GFW之父方滨兴微博半日即遭网民围观退却
方本身有很多能动性,所以GFW才会有如此严重的伤害,在中国领导人普遍科技盲的情
况下,方滨兴发挥的作用远远超过了权贵的期望,而且可能涉及触犯多项法律。所有的
维权律师,在评估其他问题的时候,都可以连带考虑对方的诉讼。
=============================网民反馈 (更多)======================
方校长做点好事教我们怎么翻墙吧
mxfayane 你很有勇氣啊!(51分钟前)
scanf 回复@7sun8shine: 他是最前台的那个人,必须要承担这个,否则就引咎辞职吧
。(2分钟前)
rabitv 出来咋到有这阵势的也就是他和韩寒了(5分钟前)
举报:1。色情,他居然“上”了微博,可怜的微博被他强x了2。虚假信息,他不敢说
话,谁敢说话(20秒前)
马修连恩 历史的耻辱柱上,给你留个一个醒目的位置。你归天之后,就到那里去常驻
吧!(2分钟前)
CCA... 阅读全帖
d*d
发帖数: 686
22
【 以下文字转载自 ChinaNews 讨论区 】
发信人: boycott (haha), 信区: ChinaNews
标 题: GFW之父方滨兴微博半日即遭网民围观退却
发信站: BBS 未名空间站 (Tue Dec 21 12:08:38 2010, 美东)
GFW之父方滨兴微博半日即遭网民围观退却 | Flickr - Photo Sharing!从 牛博山寨
编辑推荐 作者:(author unknown)
GFW之父方滨兴微博半日即遭网民围观退却
方本身有很多能动性,所以GFW才会有如此严重的伤害,在中国领导人普遍科技盲的情
况下,方滨兴发挥的作用远远超过了权贵的期望,而且可能涉及触犯多项法律。所有的
维权律师,在评估其他问题的时候,都可以连带考虑对方的诉讼。
=============================网民反馈 (更多)======================
方校长做点好事教我们怎么翻墙吧
mxfayane 你很有勇氣啊!(51分钟前)
scanf 回复@7sun8shine: 他是最前台的那个人,必须要承担这个,否则就引咎辞职吧
。(2分钟前)
r... 阅读全帖
p********8
发帖数: 2061
23
把scanf里的\n都去掉
p********8
发帖数: 2061
24
第三个scanf会默认吞掉你输入的n, 然后等待额外的一个n
p*********a
发帖数: 21
25
来自主题: JobHunting版 - 请教一道算法题
Here is the code to find the largest square matrix, for the rectangular, it's a bit more difficult. I will share the code if possible.
#include
#include
const int N = 100;
int d[N][N];
int m, n;
inline int minF(int a, int b, int c) {
return a }
int main()
{
freopen("in.txt", "r", stdin);
int i, j;
while(scanf("%d%d", &m, &n)!=EOF) {
memset(d, 0, sizeof(d));
for(i=1; i<=m; i++) {
for(j=1; j<=n; j++) {
a****n
发帖数: 1887
26
来自主题: JobHunting版 - 前段时间整理的随机算法
面试考得随机算法
from我的blog, http://www.cnblogs.com/asuran/
1. 要求从N个元素中随机的抽取1个元素。
2. 要求从N个元素中随机的抽取K个元素。
int remain = N
int select = K
for (int i = 0; i < N; ++i){
if (rand()% remain < select){
cout< --select;
}
--remain;
}
第一个元素被选中的概率为 K/N
第二个元素被选中的概率为(K/N)*((K-1)/(N-1)) + ((N-K)/N) * (K/(N-1)) = K/N
.........
证明略(参看The Art of Computer Programming III)
3. 要求从N个元素中随机的抽取1个元素, 其中N无法确定(数据流)。
int Num;
int i = 0;
int choose = 0;
while(scanf("%d", &Num)&& Num != 0){
if (((double
r**u
发帖数: 1567
27
来自主题: JobHunting版 - 请教一道题目
这个刚有人总结过,我copy&paste。
要求从N个元素中随机的抽取1个元素, 其中N无法确定(数据流)。
int Num;
int i = 0;
int choose = 0;
while(scanf("%d", &Num)&& Num != 0){
   if (((double)rand()/(double)RANDOM_MAX) < (1.0 / (double)++i))
      choose = Num;
}
cout << choose < 总是选择第一行, 二分之一几率选择第二行, 以此类推, K分之一机率选择第K行,
当while 执行完毕,假设N个数字,则每个数字被选择的机率均为1/N
第一行被选择的机率为:
1 * 1/2 * 2/3 * 3/4 *.... (N-1)/N = 1/N
第K行被选择的机率为:
1/K * K/(K+1) * .... (N-1)/N = 1/N

probability
g****y
发帖数: 436
28
来自主题: JobHunting版 - string /File IO processing using C (转载)
【 以下文字转载自 Programming 讨论区 】
发信人: ggplay (dfdsf), 信区: Programming
标 题: string /File IO processing using C
发信站: BBS 未名空间站 (Wed Jan 20 21:57:01 2010, 美东)
这两天在改一个用C写的处理文件IO和字符串的程序,遇到众多令人头疼的问题,靠着
google和自己的一些想法勉强解决了,但是效率不高,想请教一下这里的大侠:
1。从文件中读取一行,例如:
SR01.01 02 G\t-\t9908\t#@#@$@@#@#@@
现在想得到SR01.01 02 G, -, 9908这三个字符串。
首先想到用scanf("%s%s%s%*s",s1,s2,s3);
但是不工作,因为SR01.01 02 G中间有两个空格。
放狗发现了一个bstrlib.h,里面有一个bsplit,可以使用\t作为delimiter。但是太麻
烦了,所以自己写了一个getTokens。
后来发现c++ programming how to里面有一个写得很好的string类,但是我
b****j
发帖数: 78
29
来自主题: JobHunting版 - google题
不知道有没有解析的公式,写了个递推的:
#include
int N,L,R;
long long num[128][128];
int main() {
int i,j,k;
scanf("%d%d%d", &N, &L, &R);
num[1][1] = 1;
for (i=2;i<=N;++i)
for (j=i;j>=1;--j)
for (k=i-j+1;k>=1;--k)
num[j][k] = num[j][k] * (i - 2) + num[j-1][k] + num[j][k-1];
printf("%lld\n", num[L][R]);
return 0;
}

blocks
}
l******o
发帖数: 144
30
来自主题: JobHunting版 - google题
我认为这段程序是完全正确的。

不知道有没有解析的公式,写了个递推的:
#include
int N,L,R;
long long num[128][128];
int main() {
int i,j,k;
scanf("%d%d%d", &N, &L, &R);
num[1][1] = 1;
for (i=2;i<=N;++i)
for (j=i;j>=1;--j)
for (k=i-j+1;k>=1;--k)
num[j][k] = num[j][k] * (i - 2) + num[j-1][k] + num[j][k-1];
printf("%lld\n", num[L][R]);
return 0;
}
blocks
}
t******e
发帖数: 1293
31
来自主题: JobHunting版 - array of pointers to functions
c
zz from http://www.java2s.com/Code/C/Function/Arrayoffunctionpointer.htm
#include
int sum(int a, int b);
int subtract(int a, int b);
int mul(int a, int b);
int div(int a, int b);
int (*p[4]) (int x, int y);
int main(void)
{
int result;
int i, j, op;
p[0] = sum; /* address of sum() */
p[1] = subtract; /* address of subtract() */
p[2] = mul; /* address of mul() */
p[3] = div; /* address of div() */
printf("Enter two numbers: ");
scanf("%d %d", &i, &j);

printf("0: Ad
f*******n
发帖数: 8
32
来自主题: JobHunting版 - 问一算法题
我贴一下O(n)算法的实现吧,大家自己琢磨
#include "stdio.h"
//轮换
void Cycle(int Data[],int Lenth,int Start)
{
      int Cur_index,Temp1,Temp2;
      Cur_index=(Start*2)%(Lenth+1);
      Temp1=Data[Cur_index-1];
      Data[Cur_index-1]=Data[Start-1];
   
     while(Cur_index!=Start)
     {
   &... 阅读全帖
o****d
发帖数: 2835
33
来自主题: JobHunting版 - 问个面试题
C程序
思路如上面的朋友所说
=======
#include
#include
void setMatrix (int ** matrix, int x, int y, int n, int start)
{
int i,j;
if(n==0)return;
else if(n==1) matrix[x][y]=start;
else{
for(j=y;j matrix[x][j]=start++;
for(i=x;i matrix[i][y+n-1]=start++;
for(j=y+n-1;j>y;j--)
matrix[x+n-1][j]=start++;
for... 阅读全帖
s****j
发帖数: 67
34
来自主题: JobHunting版 - 几道老题 的解答
平面最近点对那题,提供一种方法供参考,该方法看似复杂度o(n^2),但实际使用中几
乎是o(n)(不算nlgn排序的预处理)。主要是利用了三角形两边之差小于第三边的性质
,大大减枝。另外该方法实现简单,比传统o(nlgn)的实现简单很多也直观很多。
代码如下:
#include
#include
#include
#include
#include
using namespace std;
const int maxn=100005;
const double eps=1e-8;
struct Point
{
double x,y,dis;
} p[maxn];
int n;
bool cmpp(const Point &p1,const Point &p2)
{
return p1.dis }
void solve()
{
sort(p,p+n,cmpp);
double ans=1e18,now;
int i,j;
for (i=0;i阅读全帖
c****p
发帖数: 6474
35
来自主题: JobHunting版 - 计算组合数C(m,n)
#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 ... 阅读全帖
m***y
发帖数: 1
36
来自主题: JobHunting版 - 贡献一道G家的面试题
同意楼上peking2。从前往后,去A,从后往前,double B。
C代码如下:
#include
#define MAX_S_LENGTH 1024
void remove_a_double_b(char *s) {
int i, j, n, na, nb, nc; // nc is number of characters other than A
na = nb = 0;
j = 0;
for (i = 0; s[i] != '\0'; i++) {
if (s[i] == 'A')
na++;
else {
s[j] = s[i];
j++;
if (s[i] == 'B')
nb++;
}
}
n = i;
nc = j;
i = n - na + nb;
s[i] = '\0';
i--;
f... 阅读全帖
b*******7
发帖数: 907
37
来自主题: JobHunting版 - 几个C语言的题目
1. what's the output? why?
#include
#include
int main()
{
while(1)
{
fprintf(stdout,"hello-std-out");
fprintf(stderr,"hello-std-err");
sleep(1);
}
return 0;
}
2. what's the output?
#include
int main()
{
float a = 12.5;
printf("%d\n", a);
printf("%d\n", (int)a);
printf("%d\n", *(int *)&a);
return 0;
}
3. can it be built? if yes, what's the result?
file1.c:
int arr[80];
file2.c:
extern int *arr;
int main(... 阅读全帖
l*****a
发帖数: 14598
w****5
发帖数: 46
39
来自主题: JobHunting版 - 问2道面试题
1 看你连接时选择什么连接方式,如果是静态连接,则有;动态连接则没有
2 scanf始终是从标准输入,即0号文件读入。在unix上,0号文件通常是个character
device file,但也可以重定向成一个regular file,pipe等
J**9
发帖数: 835
40
来自主题: JobHunting版 - An interview question
int hkNumRangeRandMy(int l, int u)
{
return l + rand() % (u-l+1);
}
void hkNumRandom2Out(int a[], int size)
{
if (!a || size<=1)
return;
while(size>1)
{
int idx1 = hkNumRangeRandMy(0, size-1);
int idx2 = idx1;
do {
idx2 = hkNumRangeRandMy(0, size-1);
}
while (idx2 == idx1);
//printf("idx1=%d idx2=%d\n", idx1, idx2);
int diff = 0;
int i;
diff = abs(a[idx1]-a[idx2]);
if(idx1>idx2)
... 阅读全帖
g*******d
发帖数: 495
41
来自主题: JobHunting版 - hackerrank的xor题目
超时就用scanf吧……我听某ACM大牛说的
g*******d
发帖数: 495
42
来自主题: JobHunting版 - hackerrank的xor题目
超时就用scanf吧……我听某ACM大牛说的
p****e
发帖数: 3548
43
来自主题: JobHunting版 - Haker Rank Median...
1. pow(x,n)太慢了
2. cin cout都换成scanf printf
3. 数组m不要,更新部分只要更新p就可以了
4. 阶乘的值要存到1000003,方便查
5. 先判断K的值,再计算V
p*****p
发帖数: 379
44
来自主题: JobHunting版 - 两个小时编程,用C
这种常用的可以作为库保存,不过非得用C的话还是比较麻烦
用C++好了
话说回来,用scanf需要半天吗?
b***y
发帖数: 177
45
来自主题: JobHunting版 - 两个小时编程,用C
有的不止是scanf,比如要分行读,每行分别再分别按word读,这个stdin要是不熟,还
是很耗时间的。
s*********s
发帖数: 318
46
来自主题: JobHunting版 - 问个面试题
http://tiny/1fpew40ab/stacques5347howt
好像也没有明确答案。
我save了一份答案,号称O(N),不知道对不对?
#include "stdio.h"
//轮换
void Cycle(int Data[], int Length, int Start) {
int Cur_index, Temp1, Temp2;
Cur_index = (Start * 2) % (Length + 1);
Temp1 = Data[Cur_index - 1];
Data[Cur_index - 1] = Data[Start - 1];
while (Cur_index != Start) {
Temp2 = Data[(Cur_index * 2) % (Length + 1) - 1];
Data[(Cur_index * 2) % (Length + 1) - 1] = Temp1;
Temp1 = Temp2;
Cur_index = (Cur_in... 阅读全帖
x*******9
发帖数: 138
47
来自主题: JobHunting版 - 请教G家新题 continental divider
#include
#include
#include
#include
#include
#include
using namespace std;
#define input(x) cin >> x
#define print(x) cout << x << endl
const int SIZE = 512;
const int mx[] = {0, 1, 0, -1};
const int my[] = {-1, 0, 1, 0};
int n, sea_cnt;
char g[SIZE][SIZE];
int nr[SIZE][SIZE];
int cnc[SIZE][SIZE];
void find_sea(int y, int x) {
if (g[y][x] != '0') {
return;
}
nr[y][x] = sea_cnt;
for (int i = 0; i < 4; i++) {
... 阅读全帖
m**x
发帖数: 8454
48
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++编译可以通过。
t******n
发帖数: 2939
49
☆─────────────────────────────────────☆
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, 美东) 提到:
看了这个还认为我的定义有什么 "循环定义" 的问题的人, 我只能说, 你的智商连... 阅读全帖

发帖数: 1
50
来自主题: Joke版 - 求助术版 - 加,减,乘,除
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... 阅读全帖
1 2 下页 末页 (共2页)