C、C++编程题目和代码2 - 图文(4)

2019-05-27 20:42

} } }

=======================================================================================================================

节 1.10 求矩阵中主对角线与副对角线的和

题目描述

求一个矩阵的主对角线与副对角线的和。在本题中假设处理的矩阵都是方阵,就是行数与列数相同的矩阵。

定义一个二维数组(不超过10*10),输入方阵的大小n,然后输入数组的数据,求该数组主对角线与副对角线的数据的和。

输入

测试数据的组数t 第一个矩阵的大小n 第一个矩阵的数据 第‘二个矩阵的大小n 第二个矩阵的数据 ........

输出

第一个矩阵主对角线之和 第一个矩阵副对角线之和 第二个矩阵主对角线之和 第二个矩阵副对角线之和

#include using namespace std; int main() {

int n,i,j,he1,he2,k; int a[10][10]; cin>>k; while(k--) {

he1=0; he2=0;

cin>>n;

for(i=0;i

=======================================================================================================================

for(j=0;j

cin>>a[i][j];

for(i=0;i

he1+=a[i][i]; he2+=a[n-1-i][i]; for(i=0;i

cout<

节 1.11 字符串大小的比较

题目描述

不使用字符串函数strcmp,比较两个字符串 (字符串的长度不超过20,字符串中不包含空格 )的大小,如果第一个字符串大于第二个字符串,输出1;如果两个字符串相同,输出0;如果第一个字符串小于第二个字符串,输出-1。

输入

测试数据的组数t

第一组测试数据的两个字符串 第二组测试数据的两个字符串 .........

输出

第一组比较结果 第二组比较结果

#include #include using namespace std; int main() {

char a[20],b[20]; int i=0,flag,j=0,n; cin>>n; while(n--) {

flag=0; scanf(\ scanf(\

i=0;

while(a[i]!='\\0' && b[i]!='\\0') { }

cout<

=======================================================================================================================

if(a[i]==b[i])i++;

if(a[i]>b[i]){ flag=1;break;} if(a[i]

节 1.12 字符串排序

题目描述

对于给出的若干个(不超过10个)字符串(每个字符串的长度不超过20),按ASCII的顺序降序排序,然后输出。

输入

测试数据的组数t 第一组测试数据的个数

第一组测试数据的若干个字符串 第二组测试数据的个数

第二组测试数据的若干个字符串 ........

输出

第一组数据降序输出 第二组数据降序输出

#include #include using namespace std; int main() {

int i,n,t,j;

char a[20][20],b[20][20]; cin>>t; while(t--) { cin>>n;

for(i=0;i

for(j=0;j

for(i=0;i

cout<

for(i=0;i

if((strcmp(a[i],a[i+1])<0)) {

strcpy(b[i],a[i]); strcpy(a[i],a[i+1]); strcpy(a[i+1],b[i]); } cin>>a[i];

(函数方法)

#include using namespace std; #include

int complain(char a[30],char b[30]); void change(char a[30],char b[30]); int main() { int i,j,n; char a[30][30],b[30][30]; cin>>n; for(i=0;i>a[i]; for(i=0;i

int complain(char a[30],char b[30]) { int i,j; i=0,j=0; while(a[i]!='\\0' || b[i]!='\\0') { if(a[i]>b[i]) return 1; else if(a[i]

void change(char a[30],char b[30]) { char c[30]; int i,j,x,y; for(i=0;a[i]!='\\0';i++) c[i]=a[i]; c[i]='\\0'; for(i=0;b[i]!='\\0';i++) a[i]=b[i]; a[i]='\\0'; for(i=0;c[i]!='\\0';i++) b[i]=c[i]; b[i]='\\0'; }

=======================================================================================================================

节 1.13 插入一个数

Description

有n(n<=100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数x,请将该数插入到序列中,并使新的序列仍然有序。

Input

输入数据包含多个测试实例,每组数据由两行组成,第一行是n和m,第二行是已经有序的n个数的数列。n和m同时为0标示输入数据的结束,本行不做处理。


C、C++编程题目和代码2 - 图文(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:基本初等函数讲义(超级全)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: