c语言矩阵的加法

Python015

c语言矩阵的加法,第1张

#include <stdio.h>

#include <ctype.h>

#define MAX_STR_LEN 100

int strToInt(char s[],int base) {

int i = 0,result = 0,sign = 1

if(s[i] == '+') { sign = 1 ++i }

else if(s[i] == '-') { sign = -1 ++i }

if(base > 10) { // 数基在10以上时

while(s[i]) {

if(islower(s[i])) result = base * result + s[i] - 'a' + 10

else if(isupper(s[i])) result = base * result + s[i] - 'A' + 10

else if(isdigit(s[i])) result = base * result + s[i] - '0'

++i

}

}

else { // 数基为 0 -- 10 时

while(s[i]) {

if(isdigit(s[i]) && (s[i] - '0' < base))

result = base * result + s[i] - '0'

++i

}

}

return sign * result

}

int main() {

    int base 

    char s[MAX_STR_LEN] 

    while( (scanf("%d:", &base) != EOF) && (gets(s) != NULL) )

        printf("%d\n", strToInt(s, base)) 

    return 0 

}

#include<stdio.h>

void main()

{

int a[15][15],i,j,k,t,b

printf("请输入一个3行3列的矩阵:\n")

/*for(i=0i<3i++)

for(j=0j<3j++)

scanf("%d",&a[i][j])

printf("请输入另一个3行3列的矩阵\n")

for(k=0k<3k++)

for(t=0t<3t++)

scanf("%d",&a[k][t])*///<----此处覆盖掉了矩阵1;

for(i=0i<3i++)

for(j=0j<3j++)

scanf("%d",&a[i][j])

printf("请输入另一个3行3列的矩阵\n")

for(k=0k<3k++)

for(t=0t<3t++)

scanf("%d",&a[k+3][t+3])

printf("矩阵【1】\n")

for(i=0i<3i++){

for(j=0j<3j++)

printf("%d ",a[i][j])

printf("\n")

}

printf("矩阵【2】\n")

for(i=0i<3i++){

for(j=0j<3j++)

printf("%d ",a[i+3][j+3])

printf("\n")

}

printf("请选择要进行的运算:1 相加 2 相乘\n")

scanf("%d",&b)

//<----------楼主此处以下的四个for一一嵌套算出来的结果没什么意义。

if(b==1)

{

printf("相加:\n")

for(i=0i<3i++)

for(j=0j<3j++)

a[i][j]=a[i][j]+a[i+3][j+3]

for(i=0i<3i++){

for(j=0j<3j++)

printf("%d\t",a[i][j])

printf("\n")}

}

if(b==2)

{

printf("相乘:\n")

for(i=0i<3i++)

for(j=0j<3j++)

a[i+6][j+6] = a[i][0]*a[3][j+3] + a[i][1]*a[4][j+3] + a[i][2]*a[5][j+3]

for(i=0i<3i++){

for(j=0j<3j++)

printf("%d\t",a[i+6][j+6])

printf("\n")

}

}

}

复制后可直接编译运行,结果如下:格式可自行修改。