用c语言编程如何实现求和的程序代码?

用c语言编程如何实现求和的程序代码?,第1张

1、首先把头文件,main函数写好#include<stdio.h> main(),如下图所示

2、之后需要定义几个誉消蔽变量,一个存放和,一个从1开始到100,如下图所示。

3、之后书写for循环,首先给i赋值为1,其中如果要求200以内和把数字100改为200即可。

4、然后写for循环里面的内容,sum=sum+i;把每个i的值加到sum里面。

5、最后进行输出,编写输出语句把它输出出来,sum为整形,故桥卖用%d,如下图所示就完成了。庆州

C语言实现并行求和算法:

1、问题描述

数组A均匀划分成m个片段,每个数组片段最多灶宏有(n+m-1)/m 个元素。每个数组片段分别由一个线程负责局部求和,最后这些部分和加起来就得到燃辩咐数组中所有元素的总和。

2、代码书写

3、注意事项

C语言中不允许动态数组类型。例如: int nscanf("%d",&n)int a[n]用变量表示长度,想对数组的大小作动态说明,这是错误的。这里使用malloc 向系统申请分配指定size个字节的内存空间。void* 类型可以强制转换为任何其它类型的指针。

void类型转换

malloc返回类型是 void* 类型:这并不是说该函数调用后无返回值,而是返回一个结点的地址,该地址的类型为void,即一段存储区的首址,其具体类型无法确定,只有使用时根据各个域值数据再确定。可以用强转的方法将其转换为别的类型。

向皮纯系统申请10个连续的int类型的存储空间,用指针pi指向这个连续的空间的首地址。并且用(int*)对malloc的返回类型进行转换,以便把int类型数据的地址赋值给指针pi。

例如:

int *pd=NULL

pi=(int *)malloc(N*sizeof(int)).

一、整姿卜型数组求和

int sum_array(int *nums, int size)

{

int sum = 0

for(int i = 0i <sizei++)

sum += nums[i]

return sum

}

//其它基本数据类型迹激穗替换int 就可以了

二、求n到m的累加和

int sum(int start, int end)

{

int sum = 0

int temp = start

start = start <end ? start : end

end = end >temp ? end : temp

for(start <= endstart++)

sum += start

return sum

}

三、测试代码

#include<iostream>

using namespace std

int main()

{

int nums[] = {1, 2, 3,4,5}

int sum1

sum1 = sum_array(nums, sizeof(nums)/sizeof(int))

cout <<"sum1 = " <<sum1 <<endl

int sum2

sum2 = sum(1, 100)

cout <<"sum2 = "铅锋 <<sum2 <<endl

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12256149.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存