您的位置:首页 > 编程语言 > C语言/C++

c++ 经典习题源码

2014-04-24 18:17 190 查看
一直在寻求i一种记录学习历程的方式,之前在搜集资料,学习android时候,经常是求助于各位csdn大神,今天作为csdn中的第一篇博文,先回顾一下自己的c++历程吧。

1.任意输入数字然后求其阶乘后的结果中最后有几个零

#include <iostream>

#include <math.h>

using namespace std;

int main(int argc, char *argv[])

{

int i,j,k=0;

cout << "请输入十位以下数字:" << endl ;

cin >> j ;

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

{

k = j/pow (5,i) + k;

}

cout << j << "!后面共有" << k <<"个0" << endl << endl;

return 0;

}

代码解释:

能够得到零,那么就要有是以5作为因式或者2作为因式的,但是由于5多余二,所以用5,因为25的因式中含有两个因式也就是含有两个

2.将输入的字符转化为二进制数码并输出到外部文件中

#include <iostream>

#include <fstream>

#include <windows.h>

using namespace std;

int main(int argc, char *argv[]){

ofstream outfile ("date.txt",ios::out);

char a[50],k[50];

int b[50],i;

cin >> (a);

for (i=0 ; a[i]!='\0' ; i++)

{

b[i] = a[i];

itoa(b[i],k,2);

outfile << k << endl;

}

cout << "文件导出成功" << endl;

WinExec( "notepad.exe date.txt", SW_SHOW );//调用该函数实现自动打开外部文件

}

代码解释:

通过调用头文件<windows.h>进行自动打开文件的设置。

通过函数itoa(b[i],k,2);实现进制的转换,第一个参数是要转化的进制,第二个参数是用来存储转化后的数,第三个参数是所要转化成的进制,对于二进制文件的查看的话,可以使用Hex Editor Neo 软件实现,具体Hex Editor Neo的使用将在后续博客中进行讲解。

3.求一个比较大的数的后四位

#include <iostream>

using namespace std;

int main(int argc, char *argv[])

{

int j, i,k=1,t;

cout << "请输入两个数:(例如x,y即为求x的y次方的后四位数)"<< endl;

cin >> j >> t;

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

{

k=j*k%10000;

}

cout << j<<"的" << t <<"次方的后四位数为"<< endl;

if (k==0)

cout << "0000" << endl;

else

{

if(k<10)

cout << "000"<<k <<endl;

else if (k<100)

cout << "00"<<k <<endl;

else if (k<1000)

cout << "0" << k <<endl;

else

cout << k << endl<<endl;

}

}

代码解释:

求后四位数字,所以每次计算只有后四位对计算有影响,所以说通过除以10000来求余数.

转载请注明出处:http://write.blog.csdn.net/postedit/24428603
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: