1、输入一元二次方程的系数,求方程的解
#include<iostream>
#include<cmath>
using namespace std;
void main()
{
cout<<"请输入方程的系数"<<endl;
double a,b,c,x1,x2;
cin>>a>>b>>c;
if (((b*b)-(4*a*c))<0)
cout<<"无解"<<endl;
else
{
cout<<"x1="<<(-b+sqrt(b*b-4*a*c))/(2*a)<<endl;
cout<<"x2="<<(-b-sqrt(b*b-4*a*c))/(2*a)<<endl;
}
}
********************************************************************************************
*********************************
2、编程实现函数关系.
#include<iostream>
using namespace std;
void main()
{
cout<<"请输入x"<<endl;
double x,y;
cin>>x;
{
if (x <= -1)
y=x-1;
else if (x>2 && x<=10)
y=2-x;
else
y=x*(x+2);
}
cout<<"y="<<y<<endl;
}
********************************************************************************************
*********************************
3、根据历法,凡是1、3、5、7、8、10、12月,每月31天,凡是4,6,9,11月,每月30天,2月闰年29天
,平年28天。闰年的判断方法是:
如果年号能被400整除,此年为闰年;
如果年号能被4整除,而不能被100整除,此年为闰年;
否则不是闰年。
编程输入年、月,输出该月的天数
#include<iostream>
using namespace std;
void main()
{
cout<<"请输入年月"<<endl;
int nian,yue;
cin>>nian>>yue;
switch (yue)
{
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
cout<<"本月有31天"<<endl;
break;
case 4: case 6: case 9: case 11:
cout<<"本月有30天"<<endl;
break;
case 2:
if (nian%400==0)
cout<<"本月有29天"<<endl;
else if (nian%4==0 && nian%100!=0)
cout<<"本月有29天"<<endl;
else
cout<<"本月有28天"<<endl;
}
}
********************************************************************************************
*********************************
4.编程求1!+2!+3!+ … +15!
#include <iostream>
using namespace std;
void main()
{
int i,sum=0,s=1;
for(i=1;i<=15;i++)
{
s=s*i;
sum=sum+s;
}
cout<<sum<<endl;
}
********************************************************************************************
*********************************
5.编程求“水仙花数”。
“水仙花数”是指一个三位数,其各位的立方和等于该数本身。例如,153是“水仙花数”。求出一个三
位数data的个位、十位和百位的方法是:
(1) 求三位数data的个位:data%10
(2) 求三位数data的十位:data/10%10
(3) 求三位数data的百位:data/100
#include<iostream>
using namespace std;
double cheng (double x)
{
return x*x*x;
}
void main()
{
int n;
for (n=100;n<=200;n++)
{
if ((cheng(n%10)+cheng(n/10%10)+cheng(n/100))==n)
cout<<n<<"是水仙花数"<<endl;
else
cout<<n<<"不是水仙花数"<<endl;
}
}
********************************************************************************************
*********************************
6.猴子吃桃问题。
#include<iostream>
using namespace std;
void main()
{
int tao=1,i;
for(i=1;i<10;i++)
{
tao=2*(tao+1);
}
cout<<tao<<endl;
}
********************************************************************************************
*********************************
7、编程打印如下图案。
******* ******* *
***** ****** ****
*** ***** *******
* **** **********
*** *** *************
***** ** ****************
******* * *******************
第1个:
#include<iostream>
using namespace std;
void main()
{
int i;
for (i=0;i<4;i++)
{
for(int t=0;t<i;t++)
cout<<" ";
for(int j=0;j<7-2*i;j++)
cout<<"*";
cout<<endl;
}
for (i=0;i<3;i++)
{
for(int t=0;t<2-i;t++)
cout<<" ";
for(int j=0;j<2*i+3;j++)
cout<<"*";
cout<<endl;
}
}
第2个:
#include<iostream>
using namespace std;
void main()
{
int i,j;
for (i=0;i<10;i++)
{
for (j=0;j<=i;j++)
{
cout<<" ";
}
for (j=0;j<10-i;j++)
{
cout<<"*";
}
cout<<endl;
}
}
第3个:
#include<iostream>
using namespace std;
void main()
{
int i;
for (i=0;i<7;i++)
{
for(int t=0;t<7-i;t++)
cout<<" ";
for(int j=0;j<2*i+1;j++)
cout<<"*";
for(int z=0;z<i;z++)
cout<<"*";
cout<<endl;
}
}
********************************************************************************************
*********************************
8.设计一个函数,这个函数有两个形参,一个表示年份,一个表示月份,这个函数返回这个月的天数。
#include<iostream>
using namespace std;
int x(int nian,int yue)
{
int z;
if(yue==1||yue==3||yue==5||yue==7||yue==8||yue==10||yue==12)
z=31;
else if (yue==4||yue==6||yue==9||yue==11)
z=30;
else if (yue==2)
{
if (nian%400==0||nian%4==0&&nian%100!=0)
z=29;
else
z=28;
}
return z;
}
void main()
{
int a,b;
cout<<"shurunianyue"<<endl;
cin>>a>>b;
cout<<x(a,b)<<endl;
}
********************************************************************************************
*********************************
9.设计两个函数,分别求两个整数的最大公约数和最小公倍数。在main函数中调用这两个函数,并在
main函数中输出最大公约数和最小公倍数。
#include<iostream>
using namespace std;
int yue(int x,int y)
{
if (y!=0)
return yue(y,x%y);
return x;
}
int bei(int a, int b)
{
int z;
z=(a*b)/yue(a,b);
return z;
}
void main()
{
int v1,v2;
cin>>v1>>v2;
cout<<yue(v1,v2)<<endl;
cout<<bei(v1,v2)<<endl;
}
********************************************************************************************
*********************************
10、编程求解问题。若一头小母牛,从出生起第四个年头开始每年生一头母牛,按此规律,第n年时有多
少头母牛。(用递归函数方法求解)
#include<iostream>
using namespace std;
int cow(int n)
{
if(n<=3)
return 1;
else
return (cow(n-1)+cow(n-3));
}
void main()
{
int n;
cout<<"请输入年份:";
cin>>n;
cout<<"母牛的个数为:"<<cow(n)<<endl;
}
********************************************************************************************
*********************************
11、设计一个递归函数,求x的y次幂。
#include <iostream>
using namespace std;
double mi(double x,double y)
{
double z;
if (y==0)
z=1;
else
z=x*mi(x,y-1);
return z;
}
void main()
{
int x,y;
cin>>x>>y;
cout<<mi(x,y)<<endl;
}
********************************************************************************************
*********************************
12、筛选法输出100以内所有质数(素数)及质数个数,注意优化。
#include <iostream>
using namespace std;
void main()
{
int n,a[100],i,j;
for (n=0;n<100;n++)
{
a[n]=1;
}
for (i=2;i<100;i++)
{
if (a[i]==1)//值为1的元素的下标为i
{
for (j=i+1;j<=100;j++)
{
if (j%i==0)
a[j]=0;
}
}
}
for (int k=2;k<100;k++)
if (a[k]==1)
cout<<k<<endl;
}
********************************************************************************************
*********************************
13、自然数填充
。
11 7 4 2 1 1 2 9 10 25
16 12 8 5 3 4 3 8 11 24
20 17 13 9 6 5 6 7 12 23
23 21 18 14 10 16 15 14 13 22
25 24 22 19 15 17 18 19 20 21
#include<iostream>
#include<iomanip>
using namespace std;
void main()
{
int n=1,i,j,z,k;
int ia[5][5];
for (i=0;i<5;i++)
{
for(j=0;j<=i;j++)
{
ia[j][j+4-i]=n;
n++;
}
}
for(z=1;z<5;z++)
{
for(k=0;k<=4-z;k++)
{
ia[z+k][k]=n;
n++;
}
}
int a,b;
for(a=0;a<5;a++)
{
for(b=0;b<5;b++)
{
cout<<setw(4)<<ia[a][b];
if(b==4)
cout<<endl;
}
}
}
#include<iostream>
#include<iomanip>
using namespace std;
void main()
{
int ia[5][5],n=1,z,t,b,a;
for(int i=0;i<5;i++)
{
if(i%2==0)
{
for (a=0;a<=i;a++)
{
ia[i][a]=n;
n++;
}
for (b=0;b<i;b++)
{
ia[i-b-1][i]=n;
n++;
}
}
else
{
for (z=0;z<=i;z++)
{
ia[z][i]=n;
n++;
}
for (t=(i-1);t>=0;t--)
{
ia[i][t]=n;
n++;
}
}
}
for(i=0;i<5;i++)
for(int j=0;j<5;j++)
{
cout<<setw(3)<<ia[i][j];
if(j==4)
cout<<endl;
}
}
********************************************************************************************
*********************************
14、编写一函数,判断输入的一串字符是否为“回文”。所谓“回文”是指顺读和倒读都一样的字符串,
如:’level’、‘ABCCBA’都是回文#include<iostream>
using namespace std;
bool huiwen(char s[])
{
int x=strlen(s);
int t=x-1;
for(int i=0;i<x/2;i++,t--)
{
if(s[t]!=s[i])
return false;
}
return true;
}
void main()
{
char ss[50];
cin>>ss;
int t;
t=huiwen(ss);
if(t==0)
cout<<"不是回文"<<endl;
else
cout<<"是回文"<<endl;
}