用C语言编写程序 用C语言编写程序(两个矩阵相加)

作者&投稿:粱夏 (若有异议请与网页底部的电邮联系)
#include <stdio.h>
#include <string.h> //strlen 对应头文件
int main (void)
{
char a[] = "C Programing Design";
char b[80];
int res;
res = cpystr(b, a, 3, 17);
if (res > 0 )
printf ("the copy result is:%s\n", b);
else
printf ("Error.\n");
return 0;
}
/*int cpystr (char dest[],char src[],int s,int n),实现将*/
/*字符串src中从第s个字符开始的n个字符复制到dest中,考虑s大于src中字 */
/*符的个数、s>1或n≤0等情况 */
int cpystr(char dest[],char src[],int s, int n)
{
char *start = dest; //记录起始位置
char *p = src; //纯粹为了安全,防野指针
if(n < 0 || n > strlen(src) - s + 1) //如果n非法,返回-1,strlen为标准库函数(取字串长度)
return -1;

if(s > strlen(src) || s < 0) //如果s非法,返回
return -1;
else
{
for(p += (s - 1); (n-- > 0) && *p; p++,dest++)
*dest = *p;
}
*dest++ = '\0';
return dest - start; //返回已复制字串长度
}

#include <stdio.h>
#include <string.h>
void main ( )
{
int cpystr (char dest[],char src[],int s,int n);
char a[] = "C Programing Design";
char b[80];
int res;
res = cpystr (b, a, 3, 17);
if (res > 0 )
printf ("the copy result is:%s\n", b);
else
printf ("Error.\n");
}
int cpystr (char dest[],char src[],int s,int n)
{
int i,j;
if(s<0||strlen(src)<s||n<=0)
return 0;
else
for(i=s-1,j=0;i<s+n-1;i++,j++)
{
dest[j]=src[i];
}
dest[j]= '\0';
}

int cpystr(char dest[],char src[],int s,int n){
int i=0;
if(n>0||s>0||s<src.size){
for(;i<n-1;i++){
if(i+s<src.size){
dest[i]=src[s-1+i];
}else break;
}
}
return i;
}没测试过,我的大致思路是这样,不介意的话可以用来参考,肯定有需要改的地方

用c语言编一个程序,求1+2+3+……100的和。~

//代码如下:#include int main(){int i,sum=0;for(i=1;i<=100;i++)sum=sum+i;printf("%d
",sum);return 0;}求采纳! 运行结果

用C语言编写程序(两个矩阵相加)代码如下:
/**
MatrixAddition.c
实现两个矩阵相加
*/
#include
const int COLS=3;
void printMatirx(int *pArray,int rows,int cols);
void printMatirx2(int (*pArray)[COLS],int rows);
int main()
{
int A[3][4]={{15,10,9,12},
{18,14,8,7},
{16,13,6,11}};
printf("矩阵A=
");
printMatirx(A,3,4);
int B[3][4]={{4,3,5,2},
{0,9,6,1},
{5,7,2,6}};
printf("矩阵B=
");
printMatirx(B,3,4);
int C[3][4];
int i,j;
//矩阵相加:两个矩阵必须行数和列数一样才能相加,
//和矩阵的每个元素分别是两个矩阵对应的元素的和
printf("矩阵A+矩阵B=
");
for(i=0;i<3;i++)//控制行
{
for(j=0;j<4;j++)
{
C[i][j]=A[i][j]+B[i][j];
//printf("%3d",C[i][j]);//输出结果
}
// printf("
");
}
int (*p)[COLS]=C;
printMatirx2(p,3);
/*结果应为:
19 13 14 14
18 23 14 8
21 20 8 17
*/
printf("矩阵C-矩阵A=
");
for(i=0;i<3;i++)//控制行
{
for(j=0;j<4;j++)
{
printf("%3d",C[i][j]-A[i][j]);//输出结果
}
printf("
");
}
/*结果应为:
4 3 5 2
0 9 6 1
5 7 2 6
*/
//矩阵数乘:
int D[3][4];
printf("矩阵D:
");
for(i=0;i<3;i++)//控制行
{
for(j=0;j<4;j++)
{
D[i][j]=1;
printf("%d", D[i][j]);//输出结果
}
printf("
");
}
int mul;
printf("矩阵D数乘以:");
scanf("%d",&mul);
printf("矩阵D数乘以%d=
",mul);
for(i=0;i<3;i++)//控制行
{
for(j=0;j<4;j++)
{
D[i][j]=D[i][j]*mul;
printf("%d", D[i][j]);//输出结果
}
printf("
");
}
return 0;
}

扩展资料:
C语言矩阵加减法函数:
void matrix_a(double **a_matrix, const double **b_matrix, const double **c_matrix,int krow, int kline, int ktrl)
////////////////////////////////////////////////////////////////////////////
// a_matrix=b_matrix+c_matrix
// krow :行数
// kline :列数
// ktrl :大于0: 加法 不大于0:减法
////////////////////////////////////////////////////////////////////////////
{
int k, k2;
for (k = 0; k < krow; k++)
{
for(k2 = 0; k2 < kline; k2++)
{
a_matrix[k][k2] = b_matrix[k][k2]
+ ((ktrl > 0) ? c_matrix[k][k2] : -c_matrix[k][k2]);
}
}
}
参考资料:
百度百科-C语言

如何编写C语言程序?
答:2.快捷键“CTRL+N”建立新源代码。3.输入源代码,下面给出最简单的Hello,world源代码:include <stdio.h> int main( ){ printf("Hello,World\n");return 0;} 4.按下F11编译并且运行源代码,得到运行结果:5.点击任意键返回源代码编辑界面可以继续进行开发,接下来就是C语言语法的学习了。

c语言怎么开始编写程序
答:c语言怎么开始编写程序 C语言是普适性最强的一种计算机程序编辑语言,它不仅可以发挥出高级编程语言的功用,还具有汇编语言的优点,计算和的方法为:1、新建一个求1到100自然数之和项目。2、添加一个cpp文件。3、包含需要用到的头文件。4、输入main函数。5、定义两个变量,分别是:a和sum。6、使用...

如何使用Visual Studio 2010编写一个C语言程序
答:第四步:如下图所示,自动加载新建的项目(由于之前有存在HelloWorld的项目,所以就改名为HelloWorld2),右击项目选择【添加】→【新建项】,进入第五步,如图所示。第五步:如下图所示,在左栏中单击【Visual C++】,在中间栏选择【C++文件】,在下面的名称栏里填写C语言程序的名称(注意:不要忘记加...

c语言编写一个程序,非常简单
答:(1)include "stdio.h"#include "math.h"int main(int argc,char *argv[]){float m,r;int n;printf("Please input, the number of the principal and interest rates in turn.\n");if(scanf("%f,%d,%f",&m,&n,&r)!=3 || m<0 || n<0 || r<0){printf("Input error, exit...

编写一个简单C语言程序
答:include<stdio.h>#include<math.h>int main(){ int n, sum=0; for(n=1;sum<9000;n++) { sum += pow(2,n); } printf("%d",sum); return 0;}

如何使用Visual Studio 2010编写一个C语言程序
答:找到左上角的新建项目并点击打开,选择win32控制台程序,给文件命名,如123,单击确定 点击下一步,注意,此时出现的对话框一定要把空项目前面给勾上,单击下一步,单击完成 点击源文件,右击弹出选项,鼠标移动到添加,找到项目,单击进行添加。找到C++文件,单击并命名为123.c,因为是编写C语言,所以...

简述开发一个c语言程序的步骤是什么样的?
答:3 链接。将目标文件链接成可执行文件。此步会对文件直接的关联进行检查。如果出错需要返回到1修改代码。直到没有错误。4 运行。这个是最后一步,也是C语言的最终目的。5 在运行结果与期望不符时,需要检查原因,修改代码,重新执行一二三直到程序没有问题。(1)语言简洁、紧凑灵活。二十八个关键字、九种...

简述开发一个c语言程序的步骤
答:直到没有错误为止。3 链接。将目标文件链接成可执行文件。此步会对文件直接的关联进行检查。如果出错需要返回到1修改代码。直到没有错误。4 运行。这个是最后一步,也是C语言的最终目的。在运行结果与期望不符时,需要检查原因,修改代码,重新执行1,2,3直到程序没有问题。

c语言如何编写从1加到n的程序?可输入的n的那种,谢谢了
答:include<stdio.h> int main(){ int n,i;int sum=0;printf("请输入要累加的数字n:");scanf("%d",&n);for(i=0;i<=n;i++){ sum=sum+i;} printf("累加的和为%d",sum);return 0;}

用c语言编写一程序实现如下功能:输入1、2、3、4、5、6、70(分别对应星 ...
答:C语言实现输入1到7的数字,输出对应是星期几,参考代码如下: #include "stdio.h" int main() { int d; const char wd[7][3]= {"一","二","三","四","五","六","日"}; scanf("%d",&d); printf("星期%s",wd[d-1]); return 0; } 本回答被网友采纳 已赞过 已踩过< 你对这个回答的...