怎么用c语言编写打勾的三道题?

2024-12-02 10:22:59
推荐回答(2个)
回答1:

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)

回答2:

哈喽,第四题

 #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数组中最后一位时,输出结果最后一位会出错,请楼主自己研究解决问题的办法。

不知有没有满足你的需要?

---魔图团队欢迎你!