如何反手机屏蔽器:达人们,还是C语言作业啊 每星期都送分诶~~~

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/01 01:04:28
编写程序,利用gets()从屏幕上输入两个长度不超过80的字符串,输出第二个字符串在第一个字符串中第一次出现的位置。如果不出现,则输出0。
编写程序,利用用二维数组表示矩阵并将矩阵转置后输出|1 4 7 换行 2 5 8换行3 6 9|(该是个矩阵,但是我打不出来,矩阵,大家明白吧)

编写程序,利用二维数组求下面两个矩阵相乘结果:|1 4换行2 5换行3 6|X|1 3 5换行2 4 6|

编写程序,为一维数组产生随机元素并排序。输出数组排序之后的结果以及数组的中值元素
thanks a lot 啊 但是有4道呢~

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

main()
{
char s1[80],s2[80];
int l1,l2;
int i,j,n,tmp;
int r=0;
int a[3][3] = {1,4,7,2,5,8,3,6,9};
int b[3][3];
int c[2][3];
int d[3][2];
int e[3][3];
int f[19];

printf("Enter s1\n");
gets(&s1[0]);
printf("Enter s2\n");
gets(&s2[0]);
l1 = strlen(s1);
l2 = strlen(s2);
if (l2 > l1) {
r = 0;
goto done;
};
for (i=0;i<= l1-l2;i++){
if ( strncmp( &s1[0]+i,&s2[0],l2) == 0 ) {
r = i+1; goto done;
};
}
done:
printf("%d\n",r);

/* -----2-----------*/
for (i=0;i<3;i++) for (j=0;j<3;j++) b[i][j] = a[j][i];
printf("before Trans:\n");
for (j=0;j<3;j++){
for (i=0;i<3;i++){
printf("%d ",a[i][j]);
};
printf("\n");
};
printf("After Trans:\n");
for (j=0;j<3;j++){
for (i=0;i<3;i++) {
printf("%d ",b[i][j]);
}
printf("\n");
};
/* --------3--------------*/
c[0][0]=1; c[1][0]=4;
c[0][1]=2; c[1][1]=5;
c[0][2]=3; c[1][2]=6;
d[0][0]=1; d[1][0]=3; d[2][0]=5;
d[0][1]=2; d[1][1]=4; d[2][1]=6;

printf("3rd Results:\n");

for (j=0;j<3;j++) {
for (i=0;i<3;i++){
e[i][j] = c[0][j] * d[i][0] + c[1][j] * d[i][1];
};
};
for (j=0;j<3;j++){
for (i=0;i<3;i++){
printf("%d ",e[i][j]);
};
printf("\n");
}
/* ---4------- */

srand(1000);
n=19;
for (i=0;i<n;i++){
f[i] = rand();
};

for (i=0;i<n-1;i++){
for (j=i+1;j<n;j++){
if (f[j] < f[i]){
tmp = f[j]; f[j]=f[i];f[i]=tmp;
};
};
};

for (i=0;i<n;i++) printf("%d ",f[i]);
printf("\n mid_data: %d ",f[(n-1)/2]);

}

第一题应该是子串匹配问题,比较费时,我明天写吧

2.
#include <stdio.h>
void main(){
int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};
int i,j;
for(i=0;i<3;i++){
for(j=0;j<3;j++)
printf("%d\t",a[i][j]);
puts("");
}
puts("Trans");
for(i=0;i<3;i++){
for(j=0;j<3;j++)
printf("%d\t",a[j][i]);
puts("");
}
}