第五周作业

例题4.1 数组元素的引用

#include<iostream>
using namespace std;
int main()
{
	int a[10];
	int i;
	for(i=0;i<10;i++)
		a[i]=i*2+2;
	for(i=0;i<10;i++)
	{
		cout<<a[i]<<endl;
		cout<<endl;
	}
	return 0;
}
例题4.2

#include <iostream>    
using namespace std;    
    
int main()    
{    
    int i,math[40],n;    
    float aver=0.0;    
    int unpassedcount=0;    
    int passedcount=0;    
    int highscorecount=0;    
    cout<<"请输入学生人数:";    
    cin>>n;    
    cout<<"请输入成绩:"<<endl;    
    for(i=0;i<n;i++)    
    {    
        cin>>math[i];    
        aver+=math[i];    
    }    
    aver/=n;    
    for(i=0;i<n;i++)    
    {    
        if(math[i]<60)    
            unpassedcount++;    
        else    
            passedcount++;    
        if(math[i]>=90) highscorecount++;    
    }    
    cout<<"平均分为:"<<aver<<endl;    
    cout<<"90分以上的人数为:"<<highscorecount<<endl;    
    cout<<"及格人数为:"<<passedcount<<endl;    
    cout<<"不及格人数为:"<<unpassedcount<<endl;    
    
    return 0;    
}   


例题4.3

#include <iostream>    
#include <iomanip>    
using namespace std;    
    
int main()    
{    
    int a[10],i,big,small;    
    cout<<"请输入10个数:\n";    
    for(i=0;i<10;i++)    
        cin>>a[i];    
    cout<<"这些数是:";    
    for(i=0;i<10;i++)    
        cout<<setw(4)<<a[i];    
    cout<<endl;    
    big=a[0];    
    for(i=1;i<10;i++)    
        if(a[i]>big)    
            big=a[i];    
    cout<<"最大的数为:"<<big<<endl;  
    small=a[0];  
    for(i=1;i<10;i++)  
        if(a[i]<small)  
            small=a[i];  
    cout<<"最小的数为:"<<small<<endl;  
    
    return 0;    
}  
例题4.4

#include <iostream>    
#include <iomanip>    
using namespace std;    
    
int main()    
{    
    int a[10];    
    int i,j,t;    
    cout<<"请输入10个数字:\n";    
    for(i=0;i<10;i++)    
        cin>>a[i];    
    cout<<"这些数字为:";    
    for(i=0;i<10;i++)    
        cout<<setw(4)<<a[i];    
    cout<<endl;    
    for(i=0;i<9;i++)    
        for(j=0;j<9-i;j++)    
            if(a[j+1]>a[j])    
            {    
                t=a[j+1];    
                a[j+1]=a[j];    
                a[j]=t;    
            }    
    cout<<"从大到小为:";    
    for(i=0;i<10;i++)    
        cout<<setw(4)<<a[i];    
    cout<<endl;    
    
    return 0;    
}   
例题4.5

#include <iostream>    
#include <iomanip>    
using namespace std;    
    
int main()    
{    
    int i;    
    int f[40]={1,1};    
    for(i=2;i<40;i++)    
        f[i]=f[i-2]+f[i-1];    
    for(i=0;i<40;i++)    
    {    
        if(i%4==0)    
            cout<<endl;    
        cout<<setw(12)<<f[i];    
    }    
    cout<<endl;    
    
    return 0;    
}   

例题4.6

#include <iostream>    
#include <iomanip>    
using namespace std;    
    
int main()    
{    
    int i,j;    
    int a[20][5];    
    for(i=0;i<20;i++)    
        for(j=0;j<5;j++)    
            if(i%2==0)    
                a[i][j]=i*5+j+1;    
            else    
                a[i][4-j]=i*5+j+1;    
    for(i=0;i<20;i++)    
    {    
        for(j=0;j<5;j++)    
            cout<<setw(4)<<a[i][j];    
        cout<<endl;    
    }    
    
    return 0;    
}  

例题4.7

#include <iostream>    
#include <iomanip>    
using namespace std;    
    
int main()    
{    
    int a[4][4],i,j;    
    cout<<"请输入2行3列二维数组的元素值:"<<endl;    
    for(i=0;i<4;i++)    
        for(j=0;j<4;j++)    
        {    
            cout<<"a["<<i<<"]["<<j<<"]=";    
            cin>>a[i][j];    
        }    
    cout<<"\n该二维数组为:"<<endl;    
    for(i=0;i<4;i++)    
    {    
        for(j=0;j<4;j++)    
            cout<<setw(6)<<a[i][j];    
        cout<<endl;    
    }    
    int row=0,column=0,max=a[0][0];    
    for(i=0;i<4;i++)    
        for(j=0;j<4;j++)    
            if(max<a[i][j])    
            {    
                max=a[i][j];    
                row=i;    
                column=j;    
            }    
    cout<<"\n该数组中最大的元素值为:"<<"a["<<row<<"]["<<column<<"]="<<a[row][column]<<endl;    
    int row1=0,column1=0,min=a[0][0];    
    for(i=0;i<4;i++)    
        for(j=0;j<4;j++)    
            if(min>a[i][j])    
            {    
                min=a[i][j];    
                row1=i;    
                column1=j;    
            }    
    cout<<"\n该数组中最小的元素值为:"<<"a["<<row1<<"]["<<column1<<"]="<<a[row1][column1]<<endl;    
    
    
    return 0;    
}  

例题4.8

#include <iostream>    
using namespace std;    
    
int main()    
{    
    char str[50];    
    cout<<"Please input strings:";    
    cin.get(str,50);    
    cout<<"The string is:";    
    cout<<str<<endl;    
    
    return 0;    
}  

例题4.9

#include <iostream>    
#include <cstring>    
using namespace std;    
    
int main()    
{    
    char str[100];    
    cout<<"请输入一个字符串:";    
    cin.get(str,100);  
    for(int j=0;j<100;j++)  
        if(str[j]==0)  
            cout<<"一共有"<<j<<"个字符!"<<endl;  
    cout<<"字符串"<<str<<"的反向字符串为:";    
    for(int i=strlen(str)-1;i>=0;i--)    
        cout<<str[i];  
    cout<<endl;  
      
    
    return 0;    
}    

例题4.10

#include <iostream>      
using namespace std;    
    
int main()    
{    
    char s[]="This is Cprogramming test.";  
    int i=0,plen=0,maxlen=0,pseat=0;  
    while(s[i]!='\0')  
    {  
        while(s[i]!=' '&&s[i]!='\0')  
        {  
            plen++;  
            i++;  
        }  
        if(plen>maxlen)  
        {  
            pseat=i-plen;  
            maxlen=plen;  
        }  
        while(s[i]==' ')  
            i++;  
        plen=0;  
    }  
    cout<<"最长的单词为:";  
    for(i=0;i<maxlen;i++)  
        cout<<s[pseat+i];  
    cout<<endl;  
  
      
    
    return 0;    
}    

例题4.11

#include <iostream>   
#include <cstring>     
using namespace std;    
    
int main()    
{    
    char str[50];  
    cout<<"请输入一组字符串";  
    cin.get(str,50);  
    cout<<"该字符串"<<str<<"的长度为:"<<strlen(str)<<endl;  
      
    
    return 0;    
}    
例题4.12

#include <iostream>   
#include <cstring>     
using namespace std;    
    
int main()    
{    
    char str[10];  
    cout<<"请输入字符串,直到输入hellow后程序结束";  
    do  
    {  
        cin>>str;  
    }while(strcmp(str,"hellow")!=0);  
      
    return 0;    
}    

例题4.13

#include <iostream>  
using namespace std;  
  
int main()  
{  
    char str[50];  
    int len=0;  
    cout<<"请输入一个字符串:";  
    cin.get(str,50);  
    while(str[len]!=0)  
        len++;  
    cout<<"字符串"<<str<<"的长度为:"<<len<<endl;  
  
    return 0;  
}

然后下面是书本上的各个编程题

从键盘中输入5个数,从大到小排列

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
	int a[5];
	int i,j,t;
	cout<<"please input 5 numbers"<<endl;
	for(i=0;i<5;i++)
		cin>>a[i];
	cout<<"the numbers are:";
	for(i=0;i<5;i++)
		cout<<setw(4)<<a[i];
	cout<<endl;
	for(i=0;i<4;i++)
	for(j=0;j<4-i;j++)
		if(a[j]<a[j+1])
		{t=a[j];a[j]=a[j+1];a[j+1]=t;}
		cout<<"the sorted number are:";
		for(i=0;i<5;i++)
			cout<<setw(4)<<a[i];
		cout<<endl;
		return 0;
}


 

从键盘上为数组a[2][3]输入任意整数值

#include <iostream>      
#include <iomanip>       
using namespace std;      
      
int main()      
{      
   int a[4][4],i,j;      
    cout<<"请输入2行3列二维数组的元素值:"<<endl;      
    for(i=0;i<4;i++)      
        for(j=0;j<4;j++)      
        {      
            cout<<"a["<<i<<"]["<<j<<"]=";      
            cin>>a[i][j];      
        }      
    cout<<"\n该二维数组为:"<<endl;      
    for(i=0;i<4;i++)      
    {      
        for(j=0;j<4;j++)      
            cout<<setw(6)<<a[i][j];      
        cout<<endl;      
    }      
    int row=0,column=0,max=a[0][0];      
    for(i=0;i<4;i++)      
       for(j=0;j<4;j++)      
            if(max<a[i][j])      
            {      
                max=a[i][j];      
                row=i;      
                column=j;      
            }      
    cout<<"\n该数组中最大的元素值为:"<<"a["<<row<<"]["<<column<<"]="<<a[row][column]<<endl;      
    int row1=0,column1=0,min=a[0][0];      
    for(i=0;i<4;i++)      
        for(j=0;j<4;j++)      
            if(min>a[i][j])      
            {      
                min=a[i][j];      
                row1=i;      
                column1=j;      
            }      
    cout<<"\n该数组中最小的元素值为:"<<"a["<<row1<<"]["<<column1<<"]="<<a[row1][column1]<<endl;      
      
      
    return 0; 
}



第三题

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
	int a[20]={1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368};
	int i,j=0;
	for(i=0;i<20;i++)
	{
		if((a[i]/100)>=1&&(a[i]/100)<10)
			j++;
	}
	cout<<"前20个数中有"<<j<<"个3位数"<<endl;
	cout<<"第16项数据为"<<a[16]<<endl;
	return 0;
}


第四题

#include<iostream>   
#include<cstring>   
using namespace std;  
int main()  
{  
    int i,j=0,k=0,m=0,n=0,z=0;  
    char str[20];  
    cout<<"请输入一行字符:               (30个以内)"<<endl;  
    cin.get(str,30);  
    for(i=0;i<strlen(str);i++)  
    {  
        if(str[i]>=33&&str[i]<=126)  
        {  
            if(str[i]>=48&&str[i]<=57) k++;  
            else if(str[i]>=65&&str[i]<=90) m++;  
            else if(str[i]>=97&&str[i]<=122) n++;  
            else j++;  
        }  
        if(str[i]==' ') z++;  
  
  
    }  
    cout<<"该字符串有"<<k<<"个数字"<<endl;  
    cout<<"该字符串有"<<m<<"个大写字母"<<endl;  
    cout<<"该字符串有"<<n<<"个小写字母"<<endl;  
    cout<<"该字符串有"<<j<<"个符号"<<endl;  
    cout<<"该字符串有"<<z<<"个空格"<<endl;  
    return 0;  
  
}  


第五题

#include<iostream>
#include<cstring>
using namespace std;
int main()
{
	char str[50];
	cout<<"please input a string:";
	cin.get(str,50);
	cout<<"字符串"<<str<<"的反向字符串为:";
	for(int i=strlen(str)-1;i>=0;i--)
		cout<<str[i];
	cout<<endl;
	cout<<"the length of string"<<str<<" is "<<strlen(str)<<endl;
	return 0;
}


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值