4)
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
int main(void){
int a[10]={1,3,5,9,10,11,13,15,18,20},b[10]={13,14,21,33,42,55,56,60,78,99};
int i,j,k,c[20];
k=j=i=0;
while(i<10 || j<10){
if(a[i] else c[k]=b[j++];
printf("%d ",c[k++]);
}
printf("\n");
return 0;
}
7)
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
int main(void){
int a[4][4]={{8,10,-5,7},{3,-2,9,6},{3,4,6,19},{4,2,-7,3}};
int i,j,k,pd,sd,sum;
for(pd=sd=sum=i=0;i<4;i++){
pd+=a[i][i];
sd+=a[3-i][i];
for(j=i;j<4;sum+=a[i][j++]);
}
printf("The sum of principal diagonal elements is %d\n",pd);
printf("The sum of secondary diagonal elements is %d\n",sd);
printf("The sum is %d\n",sum);
return 0;
}
11)
哈喽,第四题
#include
void main(){
int a[5]={1,2,4,6,9},b[5]={3,5,7,9,11},c[10],i=0,m=0,n=0,j=0;
for(i=0;i<5;i++){ //b数组的循环
for(n=0;n<5;n++){ //控制a数组中的数字分别和b中相比较的循环 最大为5次 满足条件后执行break结束
if(a[m] c[j++] = a[m++]; //m++相当于先运行a[m],在运行m++
}
else{
c[j++] = b[i];
break; //在a数组中出现大于b数组中i位时,跳出本次循环
}
}
}
for(n=0;n<10;n++)
printf("%3d",c[n]);
printf("\n");
}
本程序问题还有很多,比如程序写得复杂,还有 a数组中最后一位大于b数组中最后一位时,输出结果最后一位会出错,请楼主自己研究解决问题的办法。
不知有没有满足你的需要?
---魔图团队欢迎你!