急急急!在线等!用C语言写程序,题目在下面。注意:必须是C语言哦,答案对了再加奖励!总共两道题~

1、矩阵乘法和加法:已知A,求解下列表达式的值,A^0 + A^1 + A^2
+ A^3 + A^4 + A^5, 其中A为9行9列矩阵,如下:
1 2 3 4 5 6 7 8 9;
2 3 4 5 6 7 8 9 1;
3 4 5 6 7 8 9 1 2;
.
.
.
9 1 2 3 4 5 6 7 8;

2、
编程实现二分查找:在下列递增有序序列上查找整数4254在数组中的位置,注意,数组索引从0开始:

6 153 298 313 317 332 345 376 486 528 562 592 592 737 820 1058 1151 1234 1262 1263 1302 1363 1452 1477 1569 1606 1660 1731 1748 1847 1959 1996 2001 2189 2192 2333 2357 2437 2536 2615 2674 2689 2716 2834 2854 2908 3075 3205 3229 3358 3473 3477 3504 3596 3600 3676 3683 3800 3859 3884 3955 3985 4055 4087 4099 4220 4254 4310 4415 4434 4500 4514 4522 4588 4598 4797 4865 4888 4904 4978

第一题答案,自己写的,望采纳


#include<stdio.h>
typedef long matrix[9][9];

void mutiply(matrix a,matrix b)
{
//函数功能:令a=a*b
int p, q, k;
//新建c
matrix c={};
//计算乘法
for (p = 0; p < 9; ++p)    
for (q = 0; q < 9; ++q)     
for (k = 0; k < 9; ++k)                
c[p][q] += a[p][k] * b[k][q];
//a=c
for (p = 0; p < 9; ++p)    
for (q = 0; q < 9; ++q)    
a[p][q]=c[p][q];
}
void add(matrix a,matrix b)
{
//函数功能:令a=a+b
int p, q;

for (p = 0; p < 9; ++p)    
for (q = 0; q < 9; ++q)    
a[p][q]+=b[p][q];
}
void pow(matrix a,int n)
{
//函数功能:计算a=a^n,返回a
if (n==0) 
{
int p, q;
for (p = 0; p < 9; ++p)    
for (q = 0; q < 9; ++q)    
a[p][q]=1;
}
//n=1不用处理
//n>=2时
if(n>=2)
{
matrix b={};
int p, q;
for (p = 0; p < 9; ++p)    
for (q = 0; q < 9; ++q)    
b[p][q]=a[p][q];
while (n-->1) mutiply(a,b);
}
}
int main()
{         
matrix a={0},b={0};
// 计算给出的表达式
// n为表达式最高次项的次数
int n=5;
for(int k=0;k<n;k++)
{
//初始化a
for(int i=0;i<9;i++)
for(int j=0;j<9;j++)
a[i][j]=(i+j)%9+1;
pow(a,k);
add(b,a);
}
//输出原始a
printf("原始a:\n");
for(int i=0;i<9;i++)
{
for(int j=0;j<9;j++)
{a[i][j]=(i+j)%9+1; printf("%d ",a[i][j]);}
printf("\n");
}
//输出计算结果b
printf("计算结果b:\n");
for(int i=0;i<9;i++)
{
for(int j=0;j<9;j++)
printf("%d ",b[i][j]);
printf("\n");
}
return 0;
}

 

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-10-31
第一题的数据可能很大,用long long估计都不够啊。我可以写第二道题。你的题目都是固定输入的吗?追问

你想想用啥行帮我做一下吧,谢啦,用C语言,不是C++或是其他。在线等,实在不行的话第二题也行,你会哪个写哪个

追答

第二题的代码,序列和数字分别对应s和goal 。

下载了请采纳,写个程序也不容易。

如果你还要第一题,我需要200财富值,毕竟要写超长整数。

相似回答