当前位置:   article > 正文

小学c语言竞赛题目及答案,c语言竞赛小题目练习

c语言小学竞赛题目大全

#include

#include

#include

#include

#include

#include

//#include

//执行指令sudo(10,20,"ABECFDABE")得到20

int sudo(int m1,int m2,char* cmd)

{

int r1=0,r2=0,r3=0;

for(int i=0;i

{

char cmd_str=cmd[i];

switch(cmd_str)

{

case 'A':

{

r1=m1;

}

break;

case 'B':

{

r2=m2;

}

break;

case 'C':

{

m1=r3;

}

break;

case 'D':

{

m2=r3;

}

break;

case 'E':

{

r3=r1+r2;

}

break;

case 'F':

{

r3=r1-r2;

}

break;

default:

break;

}

}

return r3;

}

//求次方。返回k,其中p的k次方等于n,否则返回0

float calc(float n,float p)

{

//求次方,10的2次方pow(10.0f,2)

//n=pow(p,k);

//求开方

//double k=sqrt(100.0f);

//double k=exp(100.0f);

/**求开n次方

double x=8.0f;

double m=1.0f/3;k=3 // 这个是求8的开3次方的 想要算哪个的开几次方 自己改

double k=pow(x,m);*/

float k=0;

for(float i=0;i

{

float ret=pow(p,i);

if(ret==n)

{

k=i;

break;

}

}

return k;

}

//c语言实现字符串替换函数

// 能替换所有的要替换的字符串,被替换的字符串和替换的字符串不一定一样长.

// pInput - 输入字符串.

// pOutput - 输出字符串, 要保证足够的空间可以存储替换后的字符串.

// pSrc - 要被替换的子字符串, 比如%user%

// pDst - 要替换成的字符串, 比如user1

// 注意:以上的字符串均要以'\0'结尾.

//

void Substitute(char *pInput, char *pOutput, char *pSrc, char *pDst)

{

char *pi, *po, *p;

int nSrcLen, nDstLen, nLen;

// 指向输入字符串的游动指针.

pi = pInput;

// 指向输出字符串的游动指针.

po = pOutput;

// 计算被替换串和替换串的长度.

nSrcLen = strlen(pSrc);

nDstLen = strlen(pDst);

// 查找pi指向字符串中第一次出现替换串的位置,并返回指针(找不到则返回null).

p = strstr(pi, pSrc);

if(p)

{// 找到.

while(p)

{

// 计算被替换串前边字符串的长度.

nLen = (int)(p - pi);

// 复制到输出字符串.

memcpy(po, pi, nLen);

memcpy(po + nLen, pDst, nDstLen);

// 跳过被替换串.

pi = p + nSrcLen;

// 调整指向输出串的指针位置.

po = po + nLen + nDstLen;

// 继续查找.

p = strstr(pi, pSrc);

}

// 复制剩余字符串.

strcpy(po, pi);

}

else

{

// 没有找到则原样复制.

strcpy(po, pi);

}

}

/**C++版 修改直接在源串上进行

bool Replace(string& src, // 源串

const string& dst, // 要被替换的目标串

const string& rpl // 替代串

)

{

int pos = src.find(dst);

if(pos == string::npos)

return false;

src.replace(pos, dst.size(), rpl);

return true;

}

*/

int main()

{

int ret=sudo(10,20,"ABECFDABE");

printf("%d\n",ret);

for(float i=0;i<16;i++)

{

float k=calc(16,i);

if(k!=0.0f)

{

printf("%d的%d次方等于16\n",i,(int)k);

}

}

char ret_str[1024]={0};

Substitute("ab1111cd1111ef1111",ret_str,"111","tttt");

printf("%s\n",ret_str);

getchar();

return 0;

}

c++ 类对象强制类型转换

#include

#include

using namespace std;

//c++ 类对象强制类型转换

class Conver

{

public:

int b;

operator int(){return b;} //注:这里是把函数的实现直接写出来

};

int main()

{

Conver c;

c.b=1002;

printf("%d\n",(int)c);

cout<

return 0;

}



声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/208885
推荐阅读
相关标签
  

闽ICP备14008679号