初级C++ 实例 (一)

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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值