C语言冒泡法排序题目求解
发布网友
发布时间:2022-07-25 19:08
我来回答
共2个回答
热心网友
时间:2023-10-14 15:05
#include <stdio.h>
#include <stdlib.h>
const int M = 5;
const int N = 4;
const int L = 3;
void main(){
int i = 0,j = 0,k;
FILE *fp1=NULL,*fp2=NULL;
int matr1[M][N],matr2[N][L],matr3[M][L];
//从文本文件1中读入矩阵
printf("The array 1 is :\n");
fp1 = fopen("../array1.txt","r");
if(!fp1)
{
printf("Can not open file!\n");
exit (0);
}
for (i=0;i<M;i++){
for (j=0;j<N;j++){
fscanf(fp1,"%d",&matr1[i][j]);
}
}
for (i=0;i<M;i++){
for (j=0;j<N;j++){
printf("%d\t",matr1[i][j]);
}
printf("\n");
}
fclose(fp1);
//从文本文件2中读入矩阵
printf("The array 2 is:\n");
fp2 = fopen("../array2.txt","r");
if(!fp2)
{
printf("Can not open file!\n");
exit (0);
}
for (i=0;i<N;i++){
for (j=0;j<L;j++){
fscanf(fp2,"%d",&matr2[i][j]);
}
}
for (i=0;i<N;i++){
for (j=0;j<L;j++){
printf("%d\t",matr2[i][j]);
}
printf("\n");
}
fclose(fp2);
//实现矩阵相乘,并将结果矩阵写入新的文件
printf("The result is :\n");
FILE* fp=NULL;
if((fp = fopen("../result.txt","a+"))==NULL)
{
printf("Can not open file!\n");
exit(0);
}
for(i = 0;i<M;i++){
for(j = 0;j<L;j++){
matr3[i][j] = 0;
for(k = 0;k<N;k++){
matr3[i][j] += matr1[i][k]*matr2[k][j];
}
printf("%d\t",matr3[i][j]);
}
printf("\n");
}
for(i = 0;i<M;i++){
for(j = 0;j<L;j++){
fprintf(fp,"%d\t",matr3[i][j]);
}
fputs("\n",fp);
}
fclose(fp);
}
热心网友
时间:2023-10-14 15:05
void sort(int a[10])
{ int i,j,k;
for(i=0;i<N-1;i++)
for(j=0;j<N-1-i;j++)
if(a[j+1]<a[j])
{ k=a[j+1];
a[j+1]=a[j];
a[j]=k;
}
for(i=0;i<N;i++)
printf("%d,",a[i]);
getch();
}
这是随便敲的,参考着这个做吧。n的就用这个找规律,自己想想去。