1. 首页 > 数码 >

c语言比较难的题目 c语言比较难的题目及答案

急求高手,一个超级难的C语言题目

int getACK(int m,int n)

c语言比较难的题目 c语言比较难的题目及答案c语言比较难的题目 c语言比较难的题目及答案


{if(m==0) return n+1;

if (n==0) return getACK(m-1,1);

return getACK(m-1,getACK(m,n-1));

}根据字面意思就是用递归了

答案是4

C语言比较复杂的问题 求大大们帮帮忙

这问题悬赏200分啊,你悬赏200RMB有人给你做不,哈哈......

这叫帮你做项目,不是解答问题

可以帮你做,腾讯9814-55795

此问题so easy 楼主以前是否没有做过项目建议问能够当面讲话的同行。

这问题悬赏200分啊,你悬赏200RMB有人给你做不

C语言的题目 有几题很难

1#include

int main(){

int a;

printf("输入小朋友的年龄:");

scanf("%d", &a);

if(a==1 || a==2)

printf("小班\n");

else if(a==3 || a==4)

printf("中班\n");

else if(a==5 || a==6)

printf("大班\n");

else

printf("输入错误\n");

return 0;

}2.

#include

int main(){

float s=0, fz=2, fm=1, t;

int i;

for(i=1; i<=20; i++){

s+=fz/fm;

t=fz+fm;

fm=fz;

fz=t;

}printf("s=%.2f\n", s);

return 0;

}3.

#include

int main(){

float h=100, d=100;

int i;

for(i=2; i<=10; i++){

h/=2;

d+=2h;

}printf("d=%.2f\n", d);

return 0;

}

c语言高难度算法,菜鸟勿进! ^_^

说白了就是排序嘛,你把排序规则确定了不就完了。

struct s

{char val[3];

struct s next;

};

struct s start;

cr(struct s n)

{struct s q,qtemp=0;

for(q=start;q!=0;)

{if(strcmp(q->val,n->val)>0)

{if(qtemp==0)

{start=n;

n->next=q;

}else

{qtemp->next=n;

n->next=q;

}return;

}qtemp=q;

q=q->next;

}qtemp->next=n;

}main()

{int j;

struct s p;

char a[6][3]={{"B1"},{"A3"},{"13"},{"A2"},{"A5"},{"R"}};

printf("\n\n");

p=(struct s)malloc(sizeof(struct s));

strcpy(p->val,a[0]);

p->next=0;

start=p;

for(j=1;j<6;j++)

{p=(struct s)malloc(sizeof(struct s));

strcpy(p->val,a[j]);

p->next=0;

cr(p);

}for(p=start;p!=0;p=p->next)

{printf(" %s ",p->val);

}}

对啊

一组字符串排序有很多种排法啊

快来补充个说法吧

要不没人能帮你

简单的很,用普通的排序方法,比较操作就用strcmp(a1,a2).只是比较后不能直接交换字符窜,可以用间接的方法,交换字符窜数组的索引(如果你的字符窜是用数组来存储的话否则交换字符窜的首地址)。

你是想要这个么

#include

#include

#include

using namespace std;

struct Str

{char str[ 20 ];

friend bool operator < ( const Str &a, const Str &b )

{if ( strcmp( a.str, b.str ) >= 0 )

return 0;

else

return 1;

}};

int main( )

{char data[ 200 ], tmp[ 20 ];

int i = 1, n = 0, p;

Str str[ 50 ];

scanf("%s", data);

while ( data[ i ] != '\0' )

{p = 0;

while ( data[ i ] != ',' && data[ i ] != ')' )

tmp[ p++ ] = data[ i++ ];

tmp[ p ] = '\0';

strcpy( str[ n++ ].str, tmp );

i++;

}sort( str, str + n );

printf("(%s", str[ 0 ].str);

for ( i = 1; i < n; i++ )

printf(",%s", str[ i ].str);

printf(")\n");

return 0;

}

几道略有难度的C语言题 求高人给出源代码

说说算法吧:A.建立结构体,成员是序号、底面积和高,然后对每组测试用例的每组数据计算该结构体的值,接下来进行结构体二级排序(降序),先对高排序,然后对底面积排序,排序后输出每个结构体的序号即可;B.打表即可,公式是f(n)=f(n-1)+f(n-2)+f(n-3),f(1)=1,f(2)=2,f(3)=4;C.建立哈希数组,长度是30000,初始化为0,代表所有元素尚未添加进C中,然后对两行数据进行处理,每次遇到一个数就判断哈希数组中对应下标的元素是否为0,如果为0表示要将该元素添加进C中,并且C中的元素数目要加1,并接下来把哈希数组对应下标的元素置1,这样接下来遇到重复数据的时候(也就是某个数据在哈希数组中值为1)就可以滤除掉,所有元素都处理完毕后C的元素个数和有哪些元素就全部知道了;D.打表,预先对1~100000的数判断是否满足对称条件,并把满足对称条件的数在一个新的数组中记录下来,这样每次询问实际上就是输出这个新数组中对应下标的数据;E.建立mn的字符数组,并按题目要求模拟字母的摆放过程,全部摆放完毕后一次性输出这个数组就是要求的矩阵;F.数论题,结果应该是2^(n-1)

mod

1000000007,注意在计算2^(n-1)的时候可能会超过整数精度,因此较好的做法是每次乘以一个2(或者按位左移)就对1000000007取一次模,然后再把这个结果乘以2,对1000000007取模,...,这样做成立的原因是:(ab)

mod

c=

((a

mod

c)

b)

mod

c。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 12345678@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息