C语言和C++中的基本程序(不断更新中)

来源:互联网 发布:光晕2windows live id 编辑:程序博客网 时间:2024/05/17 04:01

1、输入两个整数,求它们的平方和 

include<iostream>
using namespace std;
int fun2(int m)
{
 return m*m;
}
int fun1(int x,int y)
{
 return fun2(x)+fun2(y);
}
int main()
{
 int a,b;
 cout<<"please enter two integers(a and b):";
 cin>>a>>b;
 cout<<"The sum of square of a and b:"<<fun1(a,b)<<endl;
 return 0;
}

2、求n!(函数的嵌套)

#include<iostream>
using namespace std;
unsigned fac(unsigned n)
{
 unsigned f;
 if(n==0)
  f=1;
 else
  f=fac(n-1)*n;
 return f;
}
int main()
{
 unsigned n;
 cout<<"Enter a positive interger:";
 cin>>n;
 unsigned y=fac(n);
 cout<<n<<"!="<<y<<endl;
 return 0;
}

3、定义一个可以存放10个数据的数组,要求从键盘输入10个数据,最后按照逆序输出。

 #include<stdio.h>
int main()
{
 int a[10],i;
 for(i=0;i<10;i++)
  scanf("%d",&a[i]);
 for(i=9;i>=0;i--)
  printf("%d",a[i]);
 printf("\n");
 return 0;
}

4、以指定数据输入:

输入a和b计算它们的和。输入0 0代表测试数据结束,此行不做处理。
Sample input:
1 5
10 20
0 0
Sample output:
6
30

 #include <stdio.h>
int main()
{
 int a, b;
 while (scanf(“%d%d”, &a,&b) &&(a != 0 && b != 0))

{
  printf(“%d\n”, a + b);
 }
 return 0;
}

5、收假币问题

问题描述:一天有个年轻人来到王老板的店里买了一件礼物,这件礼物成本是p1元,标价p2(p2 >= p1)元.结果是这个年
轻人掏出m(m > p2)元要买这件礼物,王老板当时没有零钱,用那m元向街坊换了m元的零钱,找给年轻
人(m - p2)元.但是街坊后来发现那m元是假钞,王老板无奈还了街坊m元.现在问题是:
王老板在这次交易中到底损失了多少钱?(其中损失成本p1元,不要算成p2元)

程序如下:

#include<stdio.h>
int main()
{
 int p1,p2,m,n;
 while(scanf("%d%d%d",&p1,&p2,&m)!=EOF)
 {
  n=m-(p2-p1);
  printf("%d\n",n);
 }
 return 0;
}

6、模拟顺序表操作

输入:一个班级10位同学的姓名,年龄。姓名为一个字符串,不超过20个字符。姓名和年龄直接用一个空格隔开。

输出:原样输出(测试一组数据)

程序如下:

 #include<iostream>
#include<string>
using namespace std;
int main()
{
 string name;
 int age;
 while(cin>>name>>age)
 { 
 cout<<name<<" "<<age<<endl;
 }
 return 0;
}
7、求两个数的最大公约数(辗转相除法)

#include<stdio.h>
int gcd(int n,int m)
{
 int r;
 while(n%m)
 {
  r=n%m;
  n=m,m=r;
 }
 return m;
}
int main()
{
 int a,b,c;
 while(scanf("%d%d",&a,&b)!=EOF)
 {
  printf("%d\n",gcd(b,a));
 }
 return 0;
}
8、求X的N次方:

#include<iostream>
using namespace std;
double power(double x,int n)
{
 double val=1.0;
 while(n--)
  val*=x;
 return val;
}
int main()
{
 int a,b;
 cin>>a>>b;
 cout<<power(a,b)<<endl;
 return 0;
}

9、随机输出十以内的数

#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int main()
{
 int i;
 srand((unsigned)time(NULL));
 for(i=0;i<10;i++)
 {
  printf("%d\n",rand()%10);   %10含义是10以内的数;
 }
 return 0;
}

10、测试字符串的长度:

#include<stdio.h>
#include<string.h>
int main()
{
 char str[20];
 while(scanf("%s",str)!=EOF)
 {
  printf("%d\n",strlen(str));
 }
 return 0;
}

11、输入一个数n,代表接下来输入n个数,将输入的数排序。

#include<iostream>
#include<algorithm>
using namespace std;
int cmp(int a,int b)
{
    return b>a;
}
int main()
{
    int num[100],n;
    int i,r;
    while(cin>>n)
    {
        for(i=0;i<n;i++)
        cin>>num[i];
        sort(num,num+n,cmp);
        for(i=0;i<n;i++)
        cout<<num[i]<<endl;
    }
    return 0;
}

12、输入n,m,n代表输入n个数,m代表新加入的数,将这个新的数列排序。

#include<iostream>
#include<algorithm>
using namespace std;
int cmp(int a,int b)
{
    return b>a;
}
int main()
{
    int num[100],n;
    int i;
    while(cin>>n>>num[0])
    {
        for(i=1;i<=n;i++)
        cin>>num[i];
        sort(num,num+n+1,cmp);
        for(i=0;i<n+1;i++)
        cout<<num[i]<<endl;
    }
    return 0;
}
#include<iostream>
#include<algorithm>
using namespace std;
int cmp(int a,int b)
{
    return b>a;
}
int main()
{
    int num[100],n;
    int i;
    while(cin>>n>>num[0])
    {
        for(i=1;i<=n;i++)
        cin>>num[i];
        sort(num,num+n+1,cmp);
        for(i=0;i<n+1;i++)
        cout<<num[i]<<endl;
    }
    return 0;
}#include<iostream>
#include<algorithm>
using namespace std;
int cmp(int a,int b)
{
    return b>a;
}
int main()
{
    int num[100],n;
    int i;
    while(cin>>n>>num[0])
    {
        for(i=1;i<=n;i++)
        cin>>num[i];
        sort(num,num+n+1,cmp);
        for(i=0;i<n+1;i++)
        cout<<num[i]<<endl;
    }
    return 0;
}

13、判断一个数是否为素数。

#include<stdio.h>
#include<math.h>
int main()
{
 int n,i,k;
 while(scanf("%d",&n)!=EOF)
 {
  k=sqrt(n);
  for(i=2;i<=k;i++)
   if(n%i==0) break;
   if(i>=k+1)
    printf("%d is a prime number\n",n);
   else printf("%d is not a prime number\n",n);
 }
 return 0;
}
14、从键盘输入一个角度值,输出该角度的正弦值、余弦值、正切值。

#include<iostream>
#include<cmath>
using namespace std;
const double PI=3.1415926;
int main()
{
 double angle;
 cout<<"Please enter an angle:";
 cin>>angle;
 double radian=angle*PI/180;
 cout<<"sin("<<angle<<")="<<sin(radian)<<endl;
 cout<<"cos("<<angle<<")="<<cos(radian)<<endl;
 cout<<"tan("<<angle<<")="<<tan(radian)<<endl;
 return 0;
}

15、

原创粉丝点击