C++练习——2014/3/9
2014-03-09 22:22
288 查看
对应于二级书的第15-20题,前几题没有耐心看,所以大多都是抄的,关于指针还有很多很多的问题,但愿能够及时修补漏洞吧最近我会多进行实际操作的,对于理论题目,最近也要抓紧时间。
1.
关于递归函数一遇到就犯错,这是个大问题;希望能通过多练习然后有所提高;
3.
4.
#include <iostream.h>
#define MAXLINE 1000
void fun(char *s1,char *s2)
{
int n=0;
for(n;s1
!=0;n++);//don't forget ';'
for(int i=0;s2[i]!=0;i++)
s1[n++]=s2[i];
s1
=0;
}
void main()
{
char s1[MAXLINE];
char s2[256];
cout<<"p;ease input a string:"<<endl;
cin.getline(s1,MAXLINE);
cout<<"please input other string:"<<endl;
cin.getline(s2,256);
fun(s1,s2);
cout<<s1<<endl;
return;
}
5.
#include <iostream>
int fun(int *a,int n)
{
int k=0;
for(int i=1;i<n+1;i++)
{
if(a[k]!=a[i])
{
k++;
a[k]=a[i];
}
}
return k;
}
void main()
{
int A[]={6,6,5,4,4,3,3,2,1};
int j=fun(A,sizeof(A)/sizeof(int));
for(int i=0;i<j;i++)
{
std::cout<<A[i]<<' ';
}
std::cout<<std::endl;
return;
}
只有最后两个是完全独立自主写的;都是在vc6.0中测试通过了;唉,还要很大努力啊!所有程序都没有一次通过,都是经过很多调试,并不是说写程序非要一次性通过,但是我的错误一般都很简单,所以希望能够通过多练习得以避免从而节省时间,而且这些程序都很简单,我希望以后有机会写大程序的时候可以不用花心思去应对小错误了;
1.
#include <iostream.h> void fun(int a[],int n,int b[],int m,int *c) { int i,j; for(i=j=0;i<n&&j<m;) *c++=a[i]<b[j]?a[i++]:b[j++]; while(i<n) *c++=a[i++]; while(j<m) *c++=b[j++]; } void main() { int A[]={3,5,7,9,11,18,21}; int B[]={6,5,19,21,39}; int C[25],i; for(i=0;i<25;i++) C[i]=0; cout<<endl; cout<<"A[]="; for(i=0;i<7;i++) cout<<A[i]<<','; cout<<endl; cout<<"B[]="; for(i=0;i<5;i++) cout<<B[i]<<','; cout<<endl; fun(A,7,B,5,C); cout<<"C[]="; for(i=0;i<12;i++) cout<<C[i]<<','; cout<<endl; return;2.
#include<iostream.h> int fun(int a[],int n) { if(n>0) return a[n-1]+fun(a,n-1); return 0; } void main() { int A[]={1,2,3,4}; cout<<fun(A,sizeof(A)/sizeof(int))<<endl; return; }
关于递归函数一遇到就犯错,这是个大问题;希望能通过多练习然后有所提高;
3.
#include<iostream.h> #define MAXLINE 100 int fun(int a[],int *index) { int n=0,i; do { cout<<"Please enter n\n"; cin>>n; }while(n>99); for(i=0;i<n;i++) { cout<<"please enter the a["<<i<<"]\n"; cin>>a[i]; } *index=0; for(int j=1;j<n;j++) { if(a[*index]<a[j] ) { *index=j; } } return a[*index]; } void main() { int A[MAXLINE]; int index; int maxdata; maxdata=fun(A,&index); cout<<"the max data is:"<<maxdata<<" "<<"the posion is:"<<index<<endl; return; }
4.
#include <iostream.h>
#define MAXLINE 1000
void fun(char *s1,char *s2)
{
int n=0;
for(n;s1
!=0;n++);//don't forget ';'
for(int i=0;s2[i]!=0;i++)
s1[n++]=s2[i];
s1
=0;
}
void main()
{
char s1[MAXLINE];
char s2[256];
cout<<"p;ease input a string:"<<endl;
cin.getline(s1,MAXLINE);
cout<<"please input other string:"<<endl;
cin.getline(s2,256);
fun(s1,s2);
cout<<s1<<endl;
return;
}
5.
#include <iostream> void fun(char* s,char* s1,char* s2) { int i,j,k; for(i=0;s1[i]!=0;i++) for(j=0;s[j]!=0;j++) if(s[j]==s1[i]) s[j]=s2[i]; } void main() { char s[]="ABCABC"; fun(s,"AC","ZX"); std::cout<<s<<std::endl; return; }6.
#include <iostream>
int fun(int *a,int n)
{
int k=0;
for(int i=1;i<n+1;i++)
{
if(a[k]!=a[i])
{
k++;
a[k]=a[i];
}
}
return k;
}
void main()
{
int A[]={6,6,5,4,4,3,3,2,1};
int j=fun(A,sizeof(A)/sizeof(int));
for(int i=0;i<j;i++)
{
std::cout<<A[i]<<' ';
}
std::cout<<std::endl;
return;
}
只有最后两个是完全独立自主写的;都是在vc6.0中测试通过了;唉,还要很大努力啊!所有程序都没有一次通过,都是经过很多调试,并不是说写程序非要一次性通过,但是我的错误一般都很简单,所以希望能够通过多练习得以避免从而节省时间,而且这些程序都很简单,我希望以后有机会写大程序的时候可以不用花心思去应对小错误了;
相关文章推荐
- C++文件练习
- 【C++练习】斐波那契数列
- C++小练习--继承
- C++Primer第五版 2.2.1节练习
- C++ 有关于函数对象以及谓词部分练习以及知识点的总结
- c++基础学习第三天(c++程序的结构课后练习)
- C++文本查询程序 C++Primer练习12.28 使用vector,map,set容器保存来自文件的数据并生成查询结果
- C++文本查询程序 定义类管理数据 用智能指针 C++Primer练习12.30
- C++文本查询程序 定义类管理数据 用引用共享数据 不用智能指针 C++Primer练习12.27
- C/C++编程小练习 函数实现学生管理系统
- C++华氏度转换为摄氏度练习
- C++第一节练习
- c++ 选择排序 练习
- C++ Primer Plus (第六版)第六章编程练习参考答案
- vector向量练习小例子c++代码实例及运行结果
- C++几种模板函数基础练习
- 蓝桥杯练习——C++输出阶乘的最右边一位非零数
- c++ 练习4 google面试题
- C++程序设计语言练习5.7 结构体数组的初始化
- C++学习笔记:图形输出练习