第四章作业
2014-04-14 22:29
288 查看
例题4.1
例题4.2
例题4.3
例题4.4
例题4.5
例题4.6
例题4.7
例题4.8
例题4.9
例题4.10
例题4.11
例题4.12
例题4.13
习题1
习题2
习题3
习题4
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
char str[50];
int i=0,j=0,k=0,l=0,m=0,a;
cout<<"输入一个字符串:";
cin.get(str,50);
for(a=0;str[a]!='\0';a++)
{
if(str[a]>='A'&&str[a]<='Z')
i++;
else if(str[a]>='a'&&str[a]<='z')
j++;
else if(str[a]==' ')
k++;
else if(str[a]>='0'&&str[a]<='9')
l++;
else
m++;
}
cout<<"大写字母个数为:"<<i<<endl;
cout<<"小写字母个数为:"<<j<<endl;
cout<<"空格个数为:"<<k<<endl;
cout<<"数字个数为:"<<l<<endl;
cout<<"其它字符个数为:"<<m<<endl;
return 0;
}
习题5
习题6
3. 编程定义一个4X5矩阵和5X3矩阵,并计算它们的积。
#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 <<"90分以上人数为:"<<highscorecount<<endl <<"不及格人数为:"<<unpassedcount<<endl; return 0; }
例题4.3
#include<iostream> #include<iomanip> using namespace std; int main() { int a[10],i,big; 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; 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,j,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; }
例题4.7
#include<iostream> #include<iomanip> using namespace std; int main() { int a[2][3],i,j; cout<<"请输入2行3列二维数组的元素之:"<<endl; for(i=0;i<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> 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; }
习题1
#include<iostream> #include<iomanip> using namespace std; int main() { int a[5],i,j,t; cout<<"请输入5个数:"; 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]) {t=a[j];a[j]=a[j+1];a[j+1]=t;} cout<<"从大到小为:"; for(i=0;i<5;i++) cout<<setw(4)<<a[i]; cout<<endl; return 0; }
习题2
#include<iostream> #include<iomanip> using namespace std; int main() { int a[2][3],i,j; cout<<"请输入二维数组的各元素值:"<<endl; for(i=0;i<2;i++) for(j=0;j<3;j++) { cout<<"a["<<i<<"]["<<j<<"]="; cin>>a[i][j]; } cout<<endl; cout<<"该二维数组为:"<<endl; for(i=0;i<2;i++) { for(j=0;j<3;j++) cout<<setw(6)<<a[i][j]; cout<<endl; } int t=0,k=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];t=i;k=j;} cout<<endl; cout<<"该数组中最大元素值为:" <<"a["<<t<<"]["<<k<<"]="<<a[t][k]<<endl; return 0; }
习题3
#include<iostream> #include<iomanip> using namespace std; int main() { int i,j=0; int f[40]={1,1}; for(i=2;i<40;i++) f[i]=f[i-2]+f[i-1]; cout<<"第16项数据为"<<f[15]<<endl; for(i=0;i<=20;i++) { if(f[i]>=100&&f[i]<1000) j++; } cout<<"前20个数中有"<<j<<"个3位数。"<<endl; return 0; }
习题4
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
char str[50];
int i=0,j=0,k=0,l=0,m=0,a;
cout<<"输入一个字符串:";
cin.get(str,50);
for(a=0;str[a]!='\0';a++)
{
if(str[a]>='A'&&str[a]<='Z')
i++;
else if(str[a]>='a'&&str[a]<='z')
j++;
else if(str[a]==' ')
k++;
else if(str[a]>='0'&&str[a]<='9')
l++;
else
m++;
}
cout<<"大写字母个数为:"<<i<<endl;
cout<<"小写字母个数为:"<<j<<endl;
cout<<"空格个数为:"<<k<<endl;
cout<<"数字个数为:"<<l<<endl;
cout<<"其它字符个数为:"<<m<<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); cout<<endl; return 0; }
习题6
#include<iostream> #include<iomanip> using namespace std; int main() { char str1[50],str2[50]; int i=0,j=0; cout<<"请输入一个字符串:"<<endl; cin.get(str1,50); while(str1[i]!='\0') { if(str1[i]>='0'&&str1[i]<='9') i++; else {str2[j]=str1 4000 [i]; i++,j++; } } str2[j]='\0'; cout<<"删除数字后的字符串如下"<<endl<<str2<<" "<<strlen(str2)<<endl; return 0; }
3. 编程定义一个4X5矩阵和5X3矩阵,并计算它们的积。
#include<iostream> #include<iomanip> using namespace std; int main() { int i,j,k,a[4][5],b[5][3],c[4][3]; cout<<"输入4行5列二维数组的元素:"<<endl; for(i=0;i<4;i++) for(j=0;j<5;j++) cin>>a[i][j]; cout<<"输入5行3列二维数组的元素:"<<endl; for(i=0;i<5;i++) for(j=0;j<3;j++) cin>>b[i][j]; cout<<"数组a如下:"<<endl; for(i=0;i<4;i++) { for(j=0;j<5;j++) cout<<setw(10)<<a[i][j]; cout<<endl; } cout<<"数组b如下:"<<endl; for(i=0;i<5;i++) { for(j=0;j<3;j++) cout<<setw(6)<<b[i][j]; cout<<endl; } for(i=0;i<4;i++) { for(j=0;j<3;j++) { c[i][j]=0; for(k=0;k<5;k++) { c[i][j]+=a[i][k]*b[k][j]; } } } cout<<"数组c如下:"<<endl; for(i=0;i<4;i++) { for(j=0;j<3;j++) cout<<setw(6)<<c[i][j]; cout<<endl; } return 0; }