} } }
=======================================================================================================================
节 1.10 求矩阵中主对角线与副对角线的和
题目描述
求一个矩阵的主对角线与副对角线的和。在本题中假设处理的矩阵都是方阵,就是行数与列数相同的矩阵。
定义一个二维数组(不超过10*10),输入方阵的大小n,然后输入数组的数据,求该数组主对角线与副对角线的数据的和。
输入
测试数据的组数t 第一个矩阵的大小n 第一个矩阵的数据 第‘二个矩阵的大小n 第二个矩阵的数据 ........
输出
第一个矩阵主对角线之和 第一个矩阵副对角线之和 第二个矩阵主对角线之和 第二个矩阵副对角线之和
#include
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 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 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 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 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标示输入数据的结束,本行不做处理。