1、c基础例题道/* 1、打印出所有的水仙花数。所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153是一水仙花数,因为153 = 13 + 53 + 33。 */#includevoid main() int i, a=0, b=0, c=0; for(i=100;i1000;i+) a=i%10; b=i/10%10; c=i/100%10; if(a*a*a+b*b*b+c*c*c=i) couti=iendl; /* 2、一个数如果恰好等于它的因子之和,这个数就称为完数。例如,6的因子为1、2、3,而6 = 1 + 2 + 3,因此6是完数。编程序找出1000之内的所有完数
2、,并按下面的格式输出其因子:6 -1,2,3 */#includevoid main() int i,j,sum=0,a50,k,t; for(i=1;i=1000;i+) sum=0; for(j=1;ji;j+) if(i%j=0) sum+=j; ak+=j; t=k; if(sum=i) couti; for(k=0;kt;k+) coutak; if(kt-1)cout,; coutendl; k=0; /* 3、求Sn=a+aa+aaa+.+aa.a之值,其中a是一个数字。例如:2+22+222+.+22222(此时n=5),n由键盘输入。*/#includevoid main()
3、 double a,sn=,sum=; int n,i; couta; coutn; sn=a; sum=a; for(i=2;i=n;i+) sum=sum*10+a; sn+=sum; coutSn=snendl;/* 4、一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第10次落地时,共经过了多少米第10次反弹多高*/#includevoid main() double h1=100,h2=100,sum=; int i; for(i=1;i=10;i+) sum+=h2; h1=h1/; h2=h1*2; coutsum=sum h1=h1endl;/* 5、猴
4、子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉了一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩一个桃子了。求第一天共摘了多少桃子。*/#includevoid main() int number,i; number=1; for(i=10;i1;i-) number=(number+1)*2; coutnumber=numberendl;第4章 函数/* 1、写一函数用气泡法对输入的10个字符按由小到大的顺序排列。*/#includevoid main() int i,j,temp,a10;
5、 coutplease input ten numbers:n; for(i=0;iai; for(i=0;i10;i+) endl;第5章 数组/* 1、将一个数组中的值按逆序重新存放,例如,原来顺序为:a、b、c、d。要求改为:d、c、b、a。 */#includevoid back(char *);void main() char a50=abcdefg; couta=aendl; back(a);#includevoid back(char *p) int i=0; while(*p!=0) p+;.m)的全排列 int m = n*n; static int Num = 0; int
6、 *b_val = new intm; int c = 0,k,i,j; b_valc = -1;.66.70.77 80.88 判断魔方.87 判断魔方 for(k = 0;k c;k+) .7 8 如果不满足条件,则生成了一组排列方式,否则继续排列下一个元素.7 8 b_valc = -1; 和m从键盘输入。*/#include#includevoid charge(int a,int,int);void main() int i,n,m,a50; coutn; coutm; cout请输入整数:; for(i=0;iai; cout您输入的整数为:; for(i=0;in;i+) cou
7、tai ; coutendl; charge(a,n,m); cout移动后的整数为:; for(i=0;in;i+) coutai ; coutendl;void charge(int a,int n, int m)ext=&node1i-1; void main() struct num node10; for(int i=0;i10;i+) nodei.data=i; for(int j=0;j10;j+) coutnodej.data; fan(node); coutendl; cout0;k-) coutdata;第8章 类和对象/*1、自定义一个字符串处理类CString,且能实现
8、取子串、删除子串的功能。*/#include#define MAX_LENGTH 100class CStringpublic: void cpystring(char *str); void getSubstring(int beginStr,int endStr); void delSubstring(int beginStr,int endStr); void print();private: char cstrMAX_LENGTH; int length;#include#includevoid CString:cpystring(char *str) int i=0; while(*
9、str!=0) cstri+=*str; str+; cstri=0;void CString:getSubstring(int beginStr,int endStr) int i,j=0; char pstrMAX_LENGTH; if(beginStrMAX_LENGTH|beginStrendStr) couterror!endl; for(i=beginStr;iendStr;i+,j+) pstrj=cstri; pstrj=0; cpystring(pstr);void CString:delSubstring(int beginStr,int endStr) int i,j=0
10、; char pstrMAX_LENGTH; if(beginStrMAX_LENGTH|beginStrendStr) couterror!endl; for(i=0;ibeginStr;i+,j+) pstrj=cstri; for(i=endStr+1;istrlen(cstr);i+,j+) pstrj=cstri; pstrj=0; cpystring(pstr);void CString:print() coutcstrendl;#include#includemain () CString str1,str2,str3; (Just like before, its yester
11、day once more!);isplay(); coutv2=;(); v3=v1+v2; coutv1+v2=;();/*2、将第一题中的相关重载项改为用友元函数的方式重载。*/class Vectorpublic: Vector(); Vector(int x,int y); friend void operator +(Vector &v); friend void operator +(Vector &v,int); friend Vector operator +(const Vector &v1,const Vector &v2); void display();private
12、: int x,y;#include#includeVector:Vector()Vector:Vector(int x,int y) this-x=x; this-y=y;void operator +(Vector &v) +;+;Vector operator +(Vector &v,int) Vector before,; +; +; return before;Vector operator +(const Vector &v1,const Vector &v2) Vector sum; =+; =+; return sum;void Vector:display() cout(x,y)endl;#include#includevoid main() Vecto
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1