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
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
相关文章推荐
- c++的经典题型,课后习题
- C++经典习题
- 算法竞赛入门经典课后习题答案:第一章(C++解法)
- C/C++内存操作经典源码(仅供分享)
- C++经典程序100例(附答案)【1】(希望一些像我一样的新手能够从这些习题中取得进步)
- C/C++中几种经典的垃圾回收算法
- C++多线程的经典例子
- C/C++: 十六进制转10进制源码 收藏
- C++面试经典题.......好紧张哦 要面试了
- c++ primer plus第九章习题答案
- 很经典的C++知识
- 经典开源C/C++项目
- C/C++笔试系列--经典C++笔试题解析6
- APUE习题3.2----自己实现的dup2( )函数的源码
- C/C++校招笔试面试经典题目总结九
- Scala深入浅出进阶经典 第47讲: Scala多重界定代码实战及其在Spark中的应用源码解析
- c++ Primer Plus(第六版)第十四章习题,写代码之路
- opensslmd5算法源码c++版
- c++的经典书籍
- C++面型对象程序 (电子工业出版社)设计课后习题第三章最后两题