炒股最火微信公众号:还是C++……

来源:百度文库 编辑:中科新闻网 时间:2024/04/28 17:26:38
C++好难学啊。。。。。。。
偶学到了数组了,有4道题呢。。。。
1:用“冒泡法”给10个整数排序
2:求3*3矩阵边线之和(就是输入9个数,在2维数
组里就是个3*3矩阵,求每条边上3个数的和,最
后得出4个数值输出)
3:将字符数组a2的全部字符拷贝的字符数组a1中,
要求不用strcpy函数,并且‘\0’也要拷贝过
去,‘\0’以后的字符不用拷贝
4:输入年月日,算出是该年的第几天(有闰年变
化)
我要是能写出来,大哥——我还用问吗?????
seuliu大哥,前两道题还可以,后面两道就有点迷茫了,我们还没见过两个头文件的程序......

//冒泡排序
void fun(int a[10])
{
int nMax=0, nTemp=0;
for (int i=1; i<10; i++)
{
for (int j=0; j<10-i; j++)
{
if (a[j]>a[j+1])
{
nTemp=a[j];
a[j]=a[j+1];
a[j+1]=nTemp;
}
}
}
}

int main(int argc, char* argv[])
{
int a[10];
for (int i=0; i<10; i++)
{
a[i]=10-i;
}
fun(a);
for (i=0; i<10; i++)
{
printf("%d\n",a[i]);
}

return 0;
}

//矩阵求和,干脆穷举算了
void fun(int a[3][3], int ans[4])
{
ans[0]=a[0][0]+a[0][1]+a[0][2];
ans[1]=a[2][0]+a[2][1]+a[2][2];
ans[2]=a[0][0]+a[1][0]+a[2][0];
ans[3]=a[0][2]+a[1][2]+a[2][2];
}

int main(int argc, char *argv[])
{
int a[3][3], ans[4];
for (int i=0; i<9; i++)
{
a[i/3][i%3]=i;
}
fun(a,ans);
for (i=0; i<4; i++)
{
printf("%d,",ans[i]);
}
return 0;
}

//字符数组拷贝
#include<string.h>
#include<memory.h>
void fun(char* a1, const char* a2)
{
int nLen=strlen(a2);
memcpy(a1, a2, nLen+1);
}
int main(int argc, char *argv[])
{
char a1[20];
char* a2="注意a1先要分配内存";
fun(a1,a2);
printf(a1);
return 0;
}

//+-3200年内的万年历,万年历都是有时间限制的

int fun(int nY, int nM, int nD)
//已知2000年1月1号礼拜六,平年每年1号+1,闰年1号+2,加上每月1号的星期差距,再加上月内日期差距即可
{
int M[12]={3,0,3,2,3,2,3,3,2,3,2,3};//闰年2月是1
//公元前后3200年内,被4整除和被四百整除的百年是闰年。所以2000是闰年
int nW=6;
//计算出那年的1月1号的星期偏移
int nYDet=0;
int nYOffset=0;
if (nY>2000)
{
nYDet=nY-2001;
nYOffset=(2+nYDet+nYDet/4-nYDet/100+nYDet/400)%7;
}
else
{
nYDet=nY-2000;
nYOffset=(nYDet+nYDet/4-nYDet/100+nYDet/400)%7;
}
int nMOffset=0;
//按平月计算那月1号的星期偏移
for (int k=0; k<nM-1; k++)
{
nMOffset+=M[k];
}
//修正一下闰月
if (nM>2)
{
if(((nY%100!=0)&&(nY%4==0))||(nY%400==0))
{
nMOffset++;
}
}
//计算到那日的星期偏移
nW=(6+nYOffset+nMOffset+nD-1)%7;
return nW;
}

int main(int argc, char *argv[])
{
printf("%d\n",fun(2005,10,1));
return 0;
}

这些题目其实都挺容易啊,你不知道怎么做实际上是对c++或者c语言不熟悉而已吧,其实都不需要算法的。

有同感,这些都是基础,算法就是算术算法,你只要会用语言,就应该很容易,自己写些看吧。

我虽然不懂,但建议你多看看书.

这些都是基础,很简单的!