
#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;
}
#include #include #include #define N 7 typedef enum { add, nul, sub, div1, yu, l, r }OP; int a[N][N] = { { 0, 0, -1, -1, -1, 1, 2 }, { 0, 0, -1, -1, -1, 1, 2 }, { 1, 1, 0, 0, 0, 1, 2 }, { 1, 1, 0, 0, 0, 1, 2 }, { 1, 1, 0, 0, 0, 1, 2 }, }; int top; OP beg; int b[1024]; OP op[1024]; void init_nu( ){ top = 0; } void push_nu( int term ){ b[top++] = term; } int pop_nu( ){ return b[--top]; } int is_empty_nu( ){ return top == 0; } void destory_nu( ) { top = 0; } void init_sign( ){ beg = 0; } void push_sign( OP sign ){ op[beg++] = sign; } void destory_sign( ){ beg = 0; } OP pop_sign( ){ return op[--beg];} OP get_sign( ){ return op[beg - 1]; } int is_empty_sign( ){return beg == 0; } int eval() { int i, j; i = pop_nu(); j = pop_nu(); switch( pop_sign() ) { case '+': push_nu( j + i ); break; case '-': push_nu( j - i ); break; case '': push_nu( j i ); break; case '/': push_nu( j / i ); break; case '%': push_nu( j & i ); break; defult: break; } } int change( char s ) { int i; int n = strlen( s ); for( i = 0; i n; i++ ) { if( s[i] >= '0' && s[i] = '0' && s[i] <= '9' ) push_nu( 10 pop_nu() + s[i++] - '0' ); switch( s[i] ) { case '+': while( a[add][get_sign()] <= 0 ) eval(); push_sign( add ); break; case '-': while( a[nul][get_sign()] <= 0 ) eval(); push_sign( nul ); break; case '': while( a[sub][get_sign()] <= 0 ) eval(); push_sign( sub ); break; case '/': while( a[div1][get_sign()] <= 0 ) eval(); push_sign( div1 ); break; case '%': while( a[yu][get_sign()] <= 0 ) eval(); push_sign( yu ); break; case '(': push_sign( l ); break; case ')': while( (get_sign()) != l ) eval(); pop_sign(); break; defult: break; } } return pop_nu(); } int main( void ) { char s = "((5-3)2+4/2&2+1)"; init_nu(); init_sign(); printf( "%d\n", change( s )); destory_nu(); destory_sign(); return 0; } 以前编的,希望对你有帮助。别忘了给我分。
void plus(char a ,char b,char c)
{
int d = (int)a;
int e = (int)b;
c = (char)(d + e);
}
void minus(char a, char b, char c)
{
int d = (int)a;
int e = (int)b;
c = (char)(d - e);
}
在vs2015中,我们可以这样写代码:
int add(int a, int b)
{
return (b == 0) a : add(a ^ b, (a & b) << 1);
/
if(b == 0)
return a;
else
return add(a ^ b, (a & b) << 1);
//异或结果 + 与运算结果左移一位
/
}
:
C++是面向对象的程序语言,区别我们的C语言,具体编程首先要定义一个类,类中包含私有成员以及公有成员两部分,私有成员主要是变量,公有成员主要是方法,另外还需要另外的cpp程序来实现这些公有方法,以及一个主函数。一般的,外部对私有成员是不能直接访问的,需要通过调用公有方法来实现访问私有成员。
数据在计算机内存中是以二进制存储的。
几种常用的位运算:
与运算&: 对应位均为1时为1,其它为0。
或运算|: 对应位均为0时为0,其它为1。
异或运算^: 对应位不相同时为1,相同时为0
按位取反~: 每一位取反
右移>>: 将二进制进行右移,低位丢掉,高位补零。
左移<<: 将二进制进行左移,低位补零,高位丢掉。
#include <stdioh>
#include <stdlibh>
int main();
{
int a,b,c;
scanf("%d %d",a,b);//输入a和b的值。
c=a+b;//c是两数之和。
printf("%d",c);//输出c的值。
system("pause");
return 0;
}
#include <stdioh>
main (void)
{
int a,b,c;
char op;
scanf ("%d%c%d",&a,&op,&b);//最好空格去掉,这样就可以直接写成a+b或者a-b。如果有空格的话要记得空格也要打a + b。要不会出现错误 ,而且输入的时候需要用地址符&····
if(op=='+')
{c=a+b;}
if(op=='-')
{c=a-b;}
printf("%d%c%d=%d\n",a,op,b,c);//楼主这句应该放在数据处理完后。。要不你输出的a,op,b都是在没处理过的数,也就是原来的值,而且最好是把,去掉,这样更美观 ,而且printf后面不需要&。。。切记。而且没必要那样输出。请楼主看我的printf```
}
还不清楚 来hi我
你的函数是在main函数之后定义的,它的作用域范围小了!所以,当你执行sum函数,它找不到定义的
所以,你只要再加一句,就可以啦!
#include
<stdioh>
void
main(){
int
sum(int
num1,int
num2);
int
a,b;
a=3;
b=6;
printf("%d",sum(a,b));
}
int
sum(int
num1,int
num2)
{
return
num1+num2;
}
以上就是关于C语言中怎么实现多个数的加法 求大神解决,谢谢全部的内容,包括:C语言中怎么实现多个数的加法 求大神解决,谢谢、C语言 定义一个函数实现两个集合的相加运算。(用链表的方式实现)、C语言编一个四则运算加减法的程序,主函数在预设代码里已经写好,求加法减法的两个函数程序代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)