当前位置:首页 » 编程语言 » c语言怎么将几个数相加
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言怎么将几个数相加

发布时间: 2023-01-06 18:34:32

c语言如何三个数求和

是三个数求和:

inta,b,c,sum;

charc1,c2;

scanf("%d%c%d%c%d",&a,&c1,&b,&c2,&c);

if(c1=='+'&&c2=='+')

sum=a+b+c;

printf("%d+%d+%d=%d ",a,b,c,sum);

运行时,输入

12+34+56回车

1+2+3回车

❷ c语言如何用循环语句实现多个数相加

用 i+=j ;i保持多个数的累加结果,j可以通过循环给不一样的数

❸ c语言如何实现多对大数相加

思路:

1.输入xxxx+xxxxxx,已‘+’分割成两个子串。

2.逆序两个子串,末位变成首位对齐,按位相加,大于10则向后位进一。

3.需要考虑到两个数长度不同的情况。

4.再把最后的结果逆序输出,就得到了最终正向相加的结果。

思路实现代码如下(在vc6.0中编译通过):

#include<stdio.h>
#include<string.h>
voidreverse(char*s,intlen);
char*addLargeNumber(char*s1,char*s2);
intmain(intargc,charconst*argv[])
{
charstr[100];
intlen[10];//截取的每个子串的长度
scanf("%s",str);
char*sep="+-*/";
char*p=strtok(str,sep);
char*s=p;
char*k=p;
len[0]=strlen(p);
reverse(p,len[0]);
puts(p);
while(1)
{
s=strtok(NULL,sep);
if(s==NULL)
{
break;
}
len[1]=strlen(s);
reverse(s,len[1]);
puts(s);
k=s;//
}
printf("accesstoaddLargeNumber ");
p=addLargeNumber(p,k);
len[2]=strlen(p);
reverse(p,len[2]);
puts(p);
return0;
}
//反转一个字符串
voidreverse(char*s,intlen)
{
chartemp;
inti;
for(i=0;i<len/2;i++)
{
temp=s[i];
s[i]=s[len-1-i];
s[len-1-i]=temp;
}

}
//接收两个字符串,把长度小的加到长度大的串上,返回相加后的串
char*addLargeNumber(char*s1,char*s2)
{
char*p=s1;
char*q=s2;
chark;
inti;
printf("子串1的长度=%lu子串2的长度=%lu ",strlen(p),strlen(q));
intlen=strlen(q);
//确保p指向长度较长的串。确保len的值为较小的串的长度。
if(strlen(s1)<strlen(s2))
{
len=strlen(p);
q=s2;
p=s1;
}
intdifflen=strlen(p)-strlen(q);//两个子串长度的差值。
//printf("len=%ddifflen=%d ",len,difflen);
for(i=0;i<len;++i)
{
inta=p[i]+q[i]-96;
//printf("a=%d ",a);
if(a>=10)
{
k=a-10+48;
p[i+1]+=1;
}
else
{
k=a+48;
}
//printf("k=%c ",k);
p[i]=k;
printf("p[%d]=%c ",i,p[i]);
}
//解决较长串后一位如果被进位的情况。例如:1379+128(假设两个已逆序的串)或者15999+148
for(i=0;i<difflen;i++)
{
if(p[len+i]==58)
{
p[len+i]-=10;
if(i==difflen-1)
{//当i指向最后一个有效数字时,并且当前位是‘:’,则将其后一位赋为结束符
p[len+i+1]=49;//这种是赋值符号,是将'1'赋给p[i]。对比下面的运算符
p[len+difflen+1]=0;
}
else
{
p[len+i+1]+=1;//这种是运算符,是将p[i]的ASCII码加1.
}
printf("p[%d]=%c ",len+i,p[len+i]);
}
else
{
break;
}
}
printf("相加之后的串长度=%lu ",strlen(p));
puts(p);
returnp;
}

❹ c语言怎么编译两数相加

int a,b;
char c1,c2;
int sum; //求和
scanf("%d%c%d%c",&a,%c1,&b,&c2);

if(c1=='+'&&c2=='=')
sum=a+b;

else
sum=0;

printf("%d",sum);

或者
%# //我记得scanf以前有跳过某种类型的变量方法,不知道是不是这个。
不过我推荐我第一种方法,不是+和=不能算sum值

❺ 怎样实现C语言 连续输入的几个数(同一数组)相加啊

#include<stdio.h>

intmain()

{

inta[100],n,i,s=0;

printf("全班人数:");

scanf("%d",&n);

printf("每人成绩:");

for(i=0;i<n;i++)

{

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

s+=a[i];

}

printf("全班总分:%d ",s);

system("pause");

return0;

}

❻ c语言,实现任意多个数相加

#include<stdio.h>
intmain()
{
intn,s=0;
while(1)
{
scanf("%d",&n);
s+=n;
if(getchar()==' ')break;
}
printf("sum=%d ",s);
return0;
}

❼ 怎么把得出来的数相加 C语言

1、你这个循环里面的z = x + y ; 这一条不对,这样总是得到的是循环最后相加的一个结果,而不是累加的结果
2、改成 z += x + y; 这样就是累加了
3、 这个的意思就是 z = z + x + y;所以自己体会吧。

❽ C语言中怎么实现多个数的加法 求大神解决,谢谢

#define _CRT_SECURE_NO_DEPRECATE//这行是在VC2013要用scanf函数时候要写的,其他环境无视
int main()
{
double sum = 0, a;
scanf("%lf", &a);//先输入一个a
while (a != 0)//判断a是否=0,等于0就不做了,这里有人喜欢用do-while但如果有测试数据第一组就是0会比较奇葩
{
sum += a;
scanf("%lf", &a);//在输入一次判断下面结果的
}
printf("%lf\n", sum);
return 0;
} 还有下面这种可以少用一次scanf
int main()
{
double sum = 0, a;
while (scanf("%lf",&a)&&a!=0)
{
sum += a;
}
printf("%lf\n", sum);
return 0;
}

❾ 用c语言实现10个数字相加

#include<stdio.h>

int main()

{

int a[10],sum,i;

for(i=0;i<10;i++)

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

sum+=a[i];

}

printf("这10个数的和为%d",sum);

return 0;

}

(9)c语言怎么将几个数相加扩展阅读:

数组:是有序的元素序列。 若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。

在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。

特点:

1,数组是相同数据类型的元素的集合。

2,数组中的各元素的存储是有先后顺序的,它们在内存中按照这个先后顺序连续存放在一起。

3,数组元素用整个数组的名字和它自己在数组中的顺序位置来表示。例如,a[0]表示名字为a的数组中的第一个元素,a[1]代表数组a的第二个元素,以此类推。

❿ C语言中求N个数据的的和

思路:直接定义两个变量n和sum,n用于接受键盘输入,sum用于存储累加和,每次输入并累加求和。

参考代码:

#include"stdio.h"
#defineN10//宏定义N的值
intmain()
{
intn,i,sum=0;
for(i=0;i<N;i++){
scanf("%d",&n);
sum+=n;
}
printf("求和为:%d ",sum);
}
/*
运行结果:输入N个数求和
8734192056
求和为:45
*/