第六周作业

来源:互联网 发布:电视盒子直播软件 编辑:程序博客网 时间:2024/06/05 17:06

1.调试分析课本每一个例题,有可能的话更改成2-3个方法的新程序;

2.编程实现课本每一个编程习题。

3. 编程定义一个4X5矩阵和5X3矩阵,并计算它们的积。

4.编程输出1到n的平方的自然数构成的“魔方阵”,魔方阵是指它每一行和每一列及对角线之和均相等的方阵。

5.积累调试程序经验,收集错误信息原因(每个同学收集3-5条错误信息原因,并输入电脑形成文字)。

1.调试分析课本每一个例题,有可能的话更改成2-3个方法的新程序;

例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]<<'\t';if((i+1)%5==0)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 highscorecount=0;cout<<"请输入学生人数:";cin>>n;cout<<"请输入成绩:";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++;if(math[i]>=90)highscorecount++;}cout<<"平均分为:"<<aver<<endl;cout<<"90分以上人数为:"<<highscorecount<<endl;cout<<"不及格人数为:"<<unpassedcount<<endl;return 0;}

例4.3

#include<iostream>#include<iomanip>using namespace std;int main(){int a[10],i,big;cout<<"please input 10 number:\n";for(i=0;i<10;i++)cin>>a[i];cout<<"the numbers are:";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<<"the big number is:"<<big<<endl;return 0;}

例4.4

#include<iostream>#include<iomanip>using namespace std;int main(){    int a[10];int i,j,t;cout<<"please input 10 numbers:\n";for(i=0;i<10;i++)cin>>a[i];cout<<"the numbers are:";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]>a[j+1]){t=a[j];    a[j]=a[j+1];    a[j+1]=t;}cout<<"the sorted numbers are:";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;int j;int a[5][5];for(i=0;i<5;i++)for(j=0;j<5;j++)if(i%2==0)a[i][j]=i*5+j+1;elsea[i][4-j]=i*5+j+1;for(i=0;i<5;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[2][3],i,j;cout<<"请输入2行3列二维数组的元素值:"<<endl;for(i=0;j<2;i++)for(j=0;j<3;j++){cout<<"a["<<i<<"]["<<j<<"]=";cin>>a[i][j];}cout<<"\n该二维数组为:"<<endl;for(i=0;i<2;i++){for(j=0;j<3;j++)cout<<setw(6)<<a[i][j];cout<<endl;}int row=0,column=0,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];row=i;column=j;}cout<<"\n该数组中最大的元素值为:"<<"a["<<row<<"]["<<column<<"]="<<a[row][column]<<endl;return 0;}

例4.8

#include<iostream>#include<iomanip>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);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 C programming 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<<"Please input a string:";cin.get(str,50);cout<<"The length of string"<<str<<" is "<<strlen(str)<<endl;    return 0;}

例4.12

#include<iostream>#include<cstring>using namespace std;int main(){    char str[10];cout<<"请输入字符串,直到输入hello后结束程序:"<<endl;do{cin>>str;}while(strcmp(str,"hello")!=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;}
2.编程实现课本每一个编程习题。

习题1:从键盘上输入5个数,然后将它们按照从大到小的顺序输出。

#include<iostream>#include<iomanip>using namespace std;int main(){int number[5],i,j,temp;cout<<"请任意输入5个数:\n";for(i=0;i<5;i++)cin>>number[i];cout<<"这5个数是:";for(i=0;i<5;i++)cout<<setw(4)<<number[i];cout<<endl;for(i=0;i<4;i++)for(j=0;j<4-i;j++)if(number[j]<number[j+1]){temp=number[j];number[j]=number[j+1];number[j+1]=temp;}cout<<"从大到小的排序为:";for(i=0;i<5;i++)cout<<setw(4)<<number[i];cout<<endl;return 0;}

习题2:从键盘上为数组a[2][3]输入任意整数值,显示该数组,找出该数组的最大元素及其下标。


习题3:编写程序,统计Fibonacci数列前20个数中有多少个3位数,并输出数列中的第16项数据。

习题4:输入一字符串,统计其大写字母、小写字母、空格、数字及其他字符的个数。

习题5:输入一字符串,反向输出每一个字符,并求此字符串的长度。

习题6:输入一个字符串,将其中的所有数字删除,并输出改动后的字符串及其长度。


0 0
原创粉丝点击