经典试题一

一、用函数求解圆的周长和面积。

//根据半径计算圆的周长和面积
#include <iostream.h>
const float PI=3.1416;        //声明常量(只读变量)PI为3.1416
float fCir_L(float);           //声明自定义函数fCir_L()的原型 
float fCir_S(float);           //声明自定义函数fCir_S()的原型  

//以下是main()函数 
void main() 
{ 
    float r,l,s;             //声明3个变量

    cout<<"R=";          //显示字符串
    cin>>r;                 //键盘输入半径
    l=fCir_L(r);          //计算圆的周长,赋值给变量l 
    s=fCir_S(r);          //计算圆的面积,赋值给变量s 
    cout<<"l="<<l;       //显示计算结果
    cout<<"\n s="<<s;                 
}   

//定义计算圆的周长的函数fCir_L()
float fCir_L(float x)
{ 
    float z;         //声明局部变量
    if (x>=0.0)          //如果参数大于0,则计算圆的周长
        z=2*PI*x;
    return(z);          //返回函数值 
} 

//定义计算圆的面积的函数fCir_S()
float fCir_S(float x)
{ 
    float z;         //声明局部变量
    if (x>=0.0)          //如果参数大于0,则计算圆的面积
        z=PI*x*x;
    return(z);           //返回函数值 
}

二、进制

#include <iostream.h>  //包含iostream.h头文件
main()
{
    //声明变量,并初始化
    int a=010,b=10,c=0X10; 

    //以十进制形式显示数据
    cout<<"DEC:";
    cout<<" a="<<a;
    cout<<" b="<<b;
    cout<<" c="<<c<<endl; 

    //以八进制形式显示数据
    cout<<"OCT:";
    cout<<oct;             //指定八进制输出
    cout<<" a="<<a;
    cout<<" b="<<b;
    cout<<" c="<<c<<endl;  

    //以十六进制形式显示数据
    cout<<"HEX:";
    cout<<hex;            //指定十六进制输出
    cout<<" a="<<a;
    cout<<" b="<<b;
    cout<<" c="<<c<<endl;  

    //八、十和十六进制数混合运算并输出
    cout<<"a+b+c=";
    cout<<dec;            //恢复十进制输出
    cout<<a+b+c<<endl;

    //测试八、十和十六进制输入
    cout<<"DEC:a="; cin>>a;
    cout<<"OCT:b="; cin>>b;
    cout<<"HEX:a="; cin>>c;
    cout<<"DEC:"<<dec<<endl;            //指定十进制输出
    cout<<"a="<<a<<endl;
    cout<<"b="<<b<<endl;
    cout<<"c="<<c<<endl;
}

三、自增自减

#include <iostream.h>
main() 
{ 
    //变量声明
    char c;
    double x,y;

    //测试自增
    cout<<"++E and E++ :"<<endl;
    c='B';
    cout<<"c="<<++c<<endl;   //输出c=C
    c='B';
    cout<<"c="<<c++<<endl;   //输出c=B
    x=1.5;
    y=5+ ++x;               //加号后的空格不能少
    cout<<"y="<<y<<endl;    //输出y=7.5
    x=1.5;
    y=5+x++;
    cout<<"y="<<y<<endl;    //输出y=6.5
    cout<<"--------------------"<<endl;

    //测试自减
    cout<<"--E and E-- :"<<endl;
    c='B';
    cout<<"c="<<--c<<endl;   //输出c=A
    c='B';
    cout<<"c="<<c--<<endl;   //输出c=B
    x=1.5;
    y=5+--x;
    cout<<"y="<<y<<endl;    //输出y=5.5
    x=1.5;
    y=5+x--;
    cout<<"y="<<y<<endl;    //输出y=6.5
}

四、输出两个数中较大的数的平方

#include <iostream.h>
main()
{
    float a,b,s;

    cout<<"a b"<<endl;
    cin>>a>>b;     //利用cin从键盘上为变量 a,b 赋值
    s=a;
    if (a<b) {
       s=b;         //if语句中只有这一个语句,可省略花括号
    }
    s=s*s;          //变量s中保存a,b中较大的一个数的平方
    cout<<"s="<<s;
}

五、逗号表达式、

#include <iostream.h>
main()
{
    //声明变量语句中使用顺序运算
    int x, y;

    //计算中使用顺序运算
    x=50; 
    y=(x=x-5, x/5); 
    cout<<"x="<<x<<endl;//x=45
    cout<<"y="<<y<<endl;//y=9
}

六、找出三个数中最小的。

#include <iostream.h>
main()
{
    int a,b,c;
    int smallest;
    cout<<"a  b  c"<<endl;
    cin>>a>>b>>c;
    if (a<=b)    //外层条件语句
    {
        if (a<=c)    //内层条件语句
           smallest=a;
        else
           smallest=c;
    }
    else
    {
       if (b<=c)    //内层条件语句
           smallest=b;
       else
           smallest=c;
    }
    cout<<"Smallest="<<smallest<<endl;
}

七、

#include<iostream.h>
float x=365.5;  //声明全局变量
main() {
    int x=1,y=2;
    double w=x+y;
    {
        double x=1.414,y=1.732,z=3.14;
        cout<<"inner:x="<<x<<endl;//1.414
        cout<<"inner:y="<<y<<endl;//1.732
        cout<<"inner:z="<<z<<endl;//3.14
        cout<<"outer:w="<<w<<endl;//3
        cout<<"::x="<<::x<<endl; //365.5   //访问重名的全局变量
    }
    cout<<"outer:x="<<x<<endl;//1
    cout<<"outer:y="<<y<<endl;//2
    cout<<"outer:w="<<w<<endl;//3

    //cout<<"inner:z="<<z<<endl;无效
    cout<<"::x="<<::x<<endl;  //365.5  //访问重名的全局变量
}

八、

#include<iostream.h>
main() {
    //显示1,2,3...10
    for(int i=1;i<=10;i++)
        cout<<i<<" ";
    cout<<endl;

    //显示10,9,8...1
    for(int j=10;j>=1;j--)
       cout<<j<<" ";
    cout<<endl;

    //显示1,3,5...9
    for(int k=1;k<=10;k=k+2)
       cout<<k<<" ";
    cout<<endl;

    //显示ABC...Z   
    for(char c='A';c<='Z';c++)
       cout<<c;
    cout<<endl;

    //显示abc....z  
    for(char y='a';y<='z';y++)
       cout<<y;
    cout<<endl;

    //显示0,0.1,0.2...0.9
    for(float x=0;x<=1.0;x=x+0.1)
       cout<<x<<" ";
    cout<<endl;

    //显示0,0.1,0.2...1.0
    for(float x1=0;x1<=1.0+0.1/2;x1=x1+0.1)
       cout<<x1<<" ";
    cout<<endl;

    //计算s=1+2+3...+100
    int s=0;
    for(int n=1;n<=100;n++)
        s=s+n;
    cout<<"s="<<s<<endl;
}

九、累加while

#include<iostream.h>
main()
{
    //计算s=1+2+3...+100
    int s=0,n=1;
    while(n<=100) {
        s=s+n;
        n++;
    }
    cout<<"s="<<s<<endl;

    //累加键盘输入的数据
    double x,sum=0.0;
    cout<<"x=";
    cin>>x;
    while(x!=0) {
        sum+=x;
        cout<<"x=";
        cin>>x;
    }
    cout<<"sum="<<sum<<endl;

    //累加键盘输入的数据
    double x,sum=0.0;
    while(1) {
        cout<<"x=";
        cin>>x;
        if (x<=0) break;
        sum+=x;
    }
    cout<<"sum="<<sum<<endl;
}

十、找出不被3整除的数。

#include<iostream.h>
main()
{
    int i;
    for (i=1;i<=20;i++)
   {
        if (i%3==0)   //能被 3 整除的整数,返回进行下次循环
            continue;
        cout<<i<<" ";
    }
    cout<<endl;
}

十一、利用数组找出最大元素以及下标

#include<iostream.h>
main()
{
     int i,max,index,a[5];

    //从键盘上为数组赋值
     for (i=0;i<=4;i++)
     {
       cout<<"a["<<i<<"]=";
       cin>>a[i];
     }

    // 利用循环遍历数组,找出最大值的元素及其下标
    max=a[0];
    for (i=1;i<5;i++)
    {
            if (max<a[i])
            {
                max=a[i];
                index=i;
            }
    }
    cout<<"\nMax="<<max<<"  index="<<index;
}

十二、

#include<iostream.h>
#define size 5
main()
{
    //声明变量
    int i,j;
    float t,a[size];

    //从键盘上为数组赋值
    for (i=0;i<size;i++)
    {
       cout<<"a["<<i<<"]=";
       cin>>a[i];
    }

    //对数组按从小到大顺序排序
    for (i=0;i<size-1;i++)
        for (j=i+1;j<size;j++)
            if (a[i]>a[j])
            {
               t=a[i];
               a[i]=a[j];
               a[j]=t;
            }

    //显示排序结果
    for (i=0;i<size;i++)
       cout<<a[i]<<" ";
    cout<<endl;

    //输入要查找的数据
    int value;
    int found;   //找到为1,否则为0
    int low,high,mid;   
    for (i=1;i<=3;i++) {
        cout<<"value=";
        cin>>value;

        //二分法查找数组a
        fou nd=0;
        low=0;
        high=size-1;
        while(low<=high)
        {   
            mid=(high+low)/2;
            if (a[mid]==value)
            {
            found=1;
            break;
            }
            if (a[mid]<value)
                low=mid+1;
            else
                high=mid-1;
        }
        if (found)
            cout<<"The valu found at:a["<<mid<<"]="<<a[mid]<<endl;
        else
            cout<<"The "<<value<<" is not found!"<<endl;
    }
}

十三、输入一串字符串,将字符中的大写转化成小写字母,将小写字母转换成大写字母,以*号键结束 。

#include <stdio.h>

int main()
{
 char c;
  c=getchar();
   while (c!='*')
   {
       if(c>='A'&&c<='Z')
       {
         c=c+32;
         printf("%c",c);
       }
       else if (c>='a'&&c<='z')
       {
         c=c-32;
         printf("%c",c);
       }
       else
       {
       printf("%c",c);
       }
       c= getchar();
   }
     return 0;
}

十四、定义数组,从小到大排序

#include<stdio.h>
int main()
{
    int i,j;
    int n,t;
    printf("请输入n\n");
    scanf("%d",&n);
    int a[10];
    printf("请输入%d个整数\n",n);
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    for(i=0;i<n;i++)
    {
        printf("a[%d]=%d ",i,a[i]);
    }
    printf("\n");
    for(i=0;i<n-1;i++)
    {
        for(j=i+1;j<n;j++)
        {
            if(a[i]>a[j])
            {
                t=a[i];
                a[i]=a[j];
                a[j]=t;
            }
        }
    }
    printf("显示排序结果\n");
    for(i=0;i<n;i++)
    {
        printf("a[%d]=%d ",i,a[i]);
    }

}

十五、二维数组找出最大元素及其下标

#include<iostream.h>
main()
{
    int a[2][3],i,j;
     for (i=0;i<2;i++) 
         for (j=0;j<3;j++) 
         {
            cout<<"a["<<i<<"]["<<j<<"]=";
            cin>>a[i][j];
          }
     for (i=0;i<2;i++) { 
         for (j=0;j<3;j++) 
         {
            cout<<a[i][j]<<"  ";
         }
        cout<<endl;
    }

    //找出该数组的最大元素及其下标
    int h,l,Max=a[0][0];
     for (i=0;i<2;i++) {  
         for (j=0;j<3;j++) 
         {
            if (Max<a[i][j]) {
                Max=a[i][j];
                h=i;
                l=j;
            }
         }
    }
     cout<<"Max:"<<"a["<<h<<"]["<<l<<"]="<<a[h][l]<<endl;
}

十六、字符数组

#include<iostream.h>
main()
{
    //声明字符数组和变量
    char str[6];
    int i;

    //从键盘上输入字符串
    cout<<"str=";
    cin>>str; 
    cout<<str<<endl;

    //按数组和下标变量两种方式显示字符数组
    for (i=0;i<6;i++)
        cout<<str[i];
    cout<<endl;

    //字符串反向输出
    for (i=5;i>=0;i--) 
         cout<<str[i];
    cout<<endl;

    //将字符数组变成大写字母后输出 
    for (i=0;i<=5;i++)
       str[i]-=32;          //小写字母转换成大写字母
    cout<<str<<endl;        //显示字符串
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值