1、-;for(k=0;kt;k+) ak;if(kt-1)couta; coutplease input n numbern;sn=a;sum=a; for(i=2;=n; sum=sum*10+a;sn+=sum; Sn=sn/* 4、一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第10次落地时,共经过了多少米?第10次反弹多高?double h1=100,h2=100,sum=0.0;int i;=10;sum+=h2;h1=h1/2.0;h2=h1*2;sum=sum h1=h11;i-) number=(number+1)*2;number=numbera的值为
2、:aaj) temp=aj;aj=ai;ai=temp;resort result=ai 1) */ double fun (double,double);double n,x,sum;input n and xnx;sum=fun(n,x);Pn(x1) return (2*n1-1)*x1*fun(n1-1,x1)-(n1-1)*fun(n1-2,x1)/n1;/* 3、编写一函数,由实参传来一字符串,统计此字符串中字母、数字、空格、和其它字符的个数,并在主函数中输入字符串以及输出上述结果。void judge(char a);const int size=100;char asize;c
3、in.getline(a,size);judge(a);void judge(char a100)/判断字符类型 int letter=0,number=0,others=0,i=0;while(ai!=0) if (aia&z)|(aiA) letter+;/统计字母个数 else if (ai0 & ai9) number+;/统计数字个数 else others+;/统计其他数个数 i+;letter=letter number= others=othersmonthdate;int a12=31,0,31,30,31,30,31,31,30,31,30,31;ly=lead(year)
4、;if (ly=1) a1=29;/366天 else a1=28;/365天 month-1;i+) /当前月之前所有月天数累加和 sum+=ai;sum+=date; /加上当前月天数 你输入的日期是当年的第天int lead(int y)/判断闰年 if(y%4=0&y%100!=0)|(y%400=0) return 1;/是闰年 else return 0;/不是闰年 /* 5、写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果,两个整数由键盘输入。int cdivisor(int,int);int cmultiple(int,int,int);i
5、nt x,y,d,m;input two number:xy;d=cdivisor(x,y);m=cmultiple(x,y,d);common divisor is dendlcommon multiple is mint cdivisor(int x1,int y1)/最大公约数 int r,temp;if (x1char asize,bsize;input two string:cin.getline(b,size);strcat(a,b);a=/* 7、写一函数,将一个字符串的元音字母复制到另一个字符串,然后输出。void scpy(char *,char *);char asize=
6、Hello worldchar bsize=Neta= b= bscpy(a,b);void scpy(char *p,char *q) while(*q!if (*q=|*q=eEiIoOuU*p+=*q;q+;/* 8、写一函数,输入一个四位数字,要求输出这4个数字字符,但每两个数字间空一空格。如输入1990,应输出“1 9 9 0”。void outs(char a);const int size=10;outs(a);void outs(char a10) if(strlen(a)=4) 4;else cout=1&aij=10&=99)/当输出十位数之后输出3个空格保持整齐 else
7、 if(aij=100&=999)/当输出百位数之后输出2个空格保持整齐 else cout/当输出百位数之后输出1个空格保持整齐 /每行输出结束后换行 void tri(int a1515) int i,j;if(j=0|j=i)/三角形第一列和对角线被赋值为1 aij=1;else aij=ai-1j-1+ai-1j;/算出其余的数组元素 /* 3、编一程序,将两个字符串连接起来,不要用strcat函数。void scat(char *,char *);HelloBye b=scat(a,b); after link a and bvoid scat(char *p,char *q) )/
8、确定数组a的插入位置 *p=*q;/* 4、打印“魔方阵”。所谓魔方阵是指这样的方阵,它的每一行、每一列和对角线之和均相等。三阶魔方阵: 8 1 6 3 5 7 4 9 2 要求打印由1到n2的自然数构成的所有魔方阵。/方法一:输出N介魔方阵,但每介只输出一种。void square(int a10,int k,int n);int n,i,j,k,a1010=0;input an odd number:k=n/2;/确定第一个数列数 square(a,k,n);tvoid square(int a10,int k,int n) for(i=1,j=0;=n*n;i+,j-,k+)/n为阶数,
9、从1开始给数组赋值 if(j=n)/当数组行列都越出范围时候,确定数组正确位置 j+=2;k-=1;else if(j=n)/当数组列越出范围时候,确定数组正确位置 k-=n; else if(ajk!=0)/当数组原位置有数时候,确定数组位置 ajk=i;/方法二:输出N介魔方阵所有魔方阵。#include iomanipiostreamusing namespace std;void printA(int *p,int n)/输出这个n阶魔方阵 下面是一个阶魔方阵:for(i = 0;i n;for(j = 0;j setw(4)pij;bool Judge(int *p,int n)/判
10、断是否为n阶魔方阵 int i,j,sum = 0,NowSum = 0;bool YesOrNo = true;j+)/第一行总和 sum += p0j;for(i = 1;i+)/判断每行总和是否相等 NowSum = 0;NowSum += pij;if(NowSum != sum) YesOrNo = false;goto END;i+)/每列是否相等 NowSum += pji;for(i = 0,j = 0; n,j = 0,j i-,j+)/次对角线是否相等 END:return YesOrNo;void combination(int *p,int n,int *a)/求m =
11、 n*n个数(1,2,3.m)的全排列 int m = n*n;static int Num = 0;int *b_val = new intm;int c = 0,k,i,j;b_valc = -1;/一维数组首地址的值赋-1 c0-1 while(b_val0 m) /-1 if(+b_valc m) /分别从0开始累加每个元素值,并限制不超出最大阶数 /b00 10 11 20 21 22.66.70.77 80.88 判断魔方 89 012345678 / 78 80.87 判断魔方 88 89 012345687 67.70.76 88 012345768 / 012345786 012345867 . 876543210 for(k = 0;k c;k+) /是否与前面数字重复,如有重复元素跳出,否则使K下标等于C下标if(b_valk = b_valc)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1