第五周作业

来源:互联网 发布:知乎wifi刷不出来图片 编辑:程序博客网 时间:2024/06/18 11:53

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

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


例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/=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;}


例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=0;i<10;i++)if(a[i]>big)big=a[i];cout<<"the big number is:"<<big<<endl;return 0;}

例4

#include<iostream>#include<iomanip>using namespace std;int main(){int a[10];int i,j,t;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;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;}


例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=2;i<40;i++){if(i%4==0)cout<<endl;cout<<setw(12)<<f[i];}cout<<endl;return 0;}


例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;else   a[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;}



例7

#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;else   a[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;}


例8

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


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


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

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


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

例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 a[5];int i,j,temp;cout<<"请输入五个数:"<<endl;for(i=0;i<5;i++)cin>>a[i];for(i=0;i<4;i++)for(j=0;j<4-i;j++)if(a[j]<a[j+1]){temp=a[j];a[j]=a[j+1];a[j+1]=temp;}cout<<"这五个数从大到小排列:";for(i=0;i<5;i++)cout<<setw(8)<<a[i];cout<<endl;return 0;}


习题2

#include<iostream>#include<iomanip>using namespace std;int main(){int i,j,max,m,n;int a[2][3];cout<<"请为数组a[2][3]输入任意整数:";for(i=0;i<2;i++){for(j=0;j<3;j++)cin>>a[i][j];}for(i=0;i<2;i++){for(j=0;j<3;j++)cout<<setw(4)<<a[i][j];   //输出该数组cout<<endl;}max=a[1][1],m=1,n=1;for(i=0;i<2;i++)for(j=0;j<3;j++){if(a[i][j]>max){    max=a[i][j];m=i,n=j;}}cout<<"该数组中最大元素为:"<<max<<"["<<m<<"]["<<n<<"]"<<endl;return 0;}


习题3

#include<iostream>#include<iomanip>using namespace std;int main(){int i,count=0;int f[20]={1,1};for(i=2;i<20;i++)f[i]=f[i-2]+f[i-1];for(i=2;i<20;i++)if(f[i]/100>=1&&f[i]/1000<1)count++;cout<<"前20个数中,三位数有:"<<count<<"个"<<endl;cout<<"数列中第16个数为:"<<f[15]<<endl;return 0;}


习题4

#include<iostream>#include<iomanip>using namespace std;int main(){char a[1000];int i,L=0,l=0,b=0,n=0,q=0;cout<<"请输入一行文字:"<<endl;    cin.get(a,1000);    for(i=0;i<1000;i++){if(a[i]>='A'&&a[i]<='Z')L++;else if(a[i]>='a'&&a[i]<='z')            l++;        else if(a[i]==' ')            b++;else if(a[i]>='0'&&a[i]<='9')n++;else q=strlen(a)-L-l-b-n;}cout<<"大写字母的个数为:"<<L<<endl;cout<<"小写字母的个数为:"<<l<<endl;    cout<<"空格的个数为:"<<b<<endl;cout<<"数字的个数为:"<<n<<endl;    cout<<"其他字符的个数为:"<<q<<endl;return 0;}



习题5

#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;    cout<<"此字符串的长度为:"<<strlen(str)<<endl;return 0;}



习题6

#include<iostream>#include<iostream>#include<cstring>using namespace std;int main(){char i,str[100],count=0;cout<<"请输入一个字符串:";cin.get(str,100);cout<<"删除数字后的字符串为:";for(i=0;i<100;i++){if(str[i]=='\0')break;else if(str[i]>='0'&&str[i]<='9'){cout<<"\0";count++;}else cout<<str[i];}cout<<endl;cout<<"此字符串的长度为:"<<strlen(str)-count<<endl;return 0;}



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

#include<iostream>#include<iomanip>using namespace std;int main(){int i,j,max,m,n;int a[4][5],b[5][3],c[4][3]={0};cout<<"请为矩阵a[4][5]输入任意20个整数:";for(i=0;i<4;i++){for(j=0;j<5;j++)cin>>a[i][j];}for(i=0;i<4;i++){for(j=0;j<5;j++)cout<<setw(6)<<a[i][j];cout<<endl;}cout<<"请为矩阵b[5][3]输入任意15个整数:";for(m=0;m<5;m++){for(n=0;n<3;n++)cin>>b[m][n];}for(m=0;m<5;m++){for(n=0;n<3;n++)cout<<setw(6)<<b[m][n];cout<<endl;}for(i=0;i<4;i++)for(j=0;j<5;j++)for(m=0;m<5;m++)for(n=0;n<3;n++)c[i][n]+=a[i][j]*b[m][n];cout<<"它们的积为:"<<endl;for(i=0;i<4;i++){for(n=0;n<3;n++)cout<<setw(8)<<c[i][n];cout<<endl;}return 0;}


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


0 0
原创粉丝点击