您的位置:首页 > 编程语言 > C语言/C++

第六周c++作业

2014-04-12 18:09 281 查看
实验作业
1.调试分析课本每一个例题,有可能的话更改成2-3个方法的新程序;
基本上,每个例题都有小改动。
1.1

#include <iostream>
using namespace std;

int main()
{
int a[10],b[10];
int i,j;
for(i=0;i<10;i++)
a[i]=i*2+2;
for(j=0;j<10;j++)
b[j]=j+1;
for(i=0;i<10;i++)
{
cout<<a[i]<<'\t';
if((i+1)%5==0)
cout<<endl;
}
cout<<endl;
for(j=0;j<10;j++)
{
cout<<b[j]<<'\t';
if((j+1)%5==0)
cout<<endl;
}

return 0;
}
程序运行结果



1.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;
}
程序运行结果



1.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;
}
程序运行结果



1.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;
}
程序运行结果



1.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;
}
程序运行结果



1.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;
}
程序运行结果



1.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;
}
程序运行结果



1.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;
}
程序运行结果



1.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;
}
程序运行结果



1.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;
}
1.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;
}
程序运行结果



1.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;
}
程序运行结果



1.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.编程实现课本每一个编程习题。

2.1

#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
int number[5],i,j,S;
cout<<"请输入5个数"<<endl;
for(i=0;i<5;i++)
cin>>number[i];
for(i=0;i<4;i++)
for(j=0;j<4-i;j++)
if(number[j]<number[j+1])
{
S=number[j];
number[j]=number[j+1];
number[j+1]=S;
}
cout<<"从大到小的排列为:";
for(i=0;i<5;i++)
cout<<setw(4)<<number[i];
cout<<endl;
return 0;

}
程序运行结果



2.2

#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
int number[2][3],i,j;
cout<<"请输入6个数组元素:"<<endl;
for(i=0;i<2;i++)
for(j=0;j<3;j++)
cin>>number[i][j];
int a=0,b=0,max=number[0][0];
for(i=0;i<2;i++)
for(j=0;j<3;j++)
if(max<number[i][j])
{
max=number[i][j];
a=i;
b=j;
}
cout<<"最大的数组元素为:"
<<"number["<<a<<"]["<<b<<"]="
<<number[a][b]<<endl;

return 0;

}
程序运行结果



2.3

#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
int i,sixteenth,count=0,fib[20]={1,1};
for(i=2;i<20;i++)
{
fib[i]=fib[i-2]+fib[i-1];
if(fib[i]>=100&&fib[i]<=999)
count++;
}
sixteenth=fib[15];
for(i=0;i<20;i++)
{
if(i>0&&i%4==0)
cout<<endl;
cout<<setw(8)<<fib[i];
}
cout<<endl<<endl
<<"数列前20个数中3位数的个数为:"<<count<<endl
<<"数列中第16项数据为:"<<sixteenth<<endl;

return 0;

}
程序运行结果



2.4

#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
char string[50];
cout<<"请输入一个字符串:";
cin.getline(string,50);
int A=0,a=0,b=0,c=0,d=0;
for(int i=0;string[i]!='\0';i++)
if(string[i]>='A'&&string[i]<='Z') A++;
else if(string[i]>='a'&&string[i]<='z') a++;
else if(string[i]==' ') b++;
else if(string[i]>='0'&&string[i]<='9') c++;
else d++;
cout<<"大写字符有:"<<A<<"个"<<endl;
cout<<"小写字符有:"<<a<<"个"<<endl;
cout<<"空格有:"<<b<<"个"<<endl;
cout<<"数字字符有:"<<c<<"个"<<endl;
cout<<"其他字符有:"<<d<<"个"<<endl;

return 0;

}
程序运行结果



2.5

#include <iostream>
using namespace std;

int main()
{
char a[100];
int j=0;
cout<<"请输入一个字符串:"<<endl;
cin.getline(a,100);
while(a[j])
j++;
cout<<"这个字符串的长度为:"<<j<<endl;
cout<<"这个字符串反向输出为:";
for(int i=j-1;i>=0;i--)
cout<<a[i];
cout<<endl;

return 0;

}
程序运行结果



2.6

#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
char a[30];
cout<<"请输入一个字符串:"<<endl;
cin.getline(a,30);
int j=0;
for(int i=0;a[i]!='\0';i++)
if(a[i]>='0'&&a[i]<='9')
j++;
cout<<"该字符串中所有十进制数字字符的个数有"<<j<<"个"<<endl;

return 0;

}
程序运行结果



2.7

#include <iostream>
#include <iomanip>
using namespace std;

int main()
{
char a[50],b[50];
int i,j=0;
cout<<"请输入一个字符串:"<<endl;
cin.getline(a,50);
for(i=0;a[i];i++)
{
if(a[i]>='0'&&a[i]<='9')
continue;
b[j]=a[i];
j++;
}
b[j]='\0';
cout<<"删除数字后的字符串为:"<<b<<"个"<<endl;
cout<<"字符串的长度为:"<<j<<endl;

return 0;

}
程序运行结果



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

#include<iostream>
using namespace std;

int main()
{
int a[4][5],b[5][3],c[4][3]={0},i,j,k,l;
cout<<"计算矩阵a[4][5]与矩阵b[5][3]的积"<<endl;
cout<<"请输入矩阵a[4][5]的元素"<<endl;
for(i=0;i<4;i++)
for(j=0;j<5;j++)
cin>>a[i][j];
cout<<"请输入矩阵b[5][3]的元素"<<endl;
for(i=0;i<5;i++)
for(j=0;j<3;j++)
cin>>b[i][j];
for(i=0;i<4;i++)
for(j=0;j<3;j++)
{
for(k=0;k<5;k++)
{
l=a[i][k]*b[k][j];
c[i][j]=c[i][j]+l;
}

}
cout<<"由c[4][3]=a[4][5]*b[5][3]"<<endl;
cout<<"矩阵c[4][3]为:"<<endl;
for(i=0;i<4;i++)
{
for(j=0;j<3;j++)
cout<<c[i][j]<<'\t';
cout<<endl;
}

return 0;
}
程序运行结果



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

这个有点难度。。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: