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

算出两数加减乘除c语言

发布时间: 2023-03-14 10:48:46

❶ 能帮忙写一个c语言的程序,随机生成两个数进行加减乘除运算。

//小学生四则运算
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

//产生 [a,b] 区间的随机数
#define RANDOM(a,b) (rand()%((b+1)-(a)) + (a))

//产生 1-20 的整数,如要改变算术范围,则修改这个宏的参数即可
#define GEN_VALUE() RANDOM(1, 20)

void main()
{
int v1, v2, t, r, a;
char op, ops[] = { '+', '-', '*', '/' };

srand( (unsigned)time(NULL) ); //用当前时间初始化随机数种子

printf( "请答题 Ctrl+C 结束...\n" );
while(1)
{
v1 = GEN_VALUE(); //随机生成第1个算数
v2 = GEN_VALUE(); //随机生成第2个算数
op = ops[ RANDOM(0,3) ]; //随机决定是哪个运算符

//保证第1个算数大于第2个算数,如不需要,则把这个判断删除即可
if( v1<v2 )
{
t = v1;
v1 = v2;
v2 = t;
}

//如果运算符为除法,且v1不能被v2整除则重新生成题目
if( op=='/' && v1%v2!=0 )
continue;

//计算正确的结果
switch(op)
{
case '+': a=(float)v1+(float)v2; break;
case '-': a=(float)v1-(float)v2; break;
case '*': a=(float)v1*(float)v2; break;
case '/': a=(float)v1/(float)v2; break;
}

//输出算式
printf( "%d%c%d=", v1, op, v2 );

//等待输入结果
scanf( "%d", &r );

if( r == a )
printf( " 答对喽!\n\n" );
else
printf( " 答错喽!正确答案是:%d\n\n", a );
}
}

❷ C语言计算加减乘除

简单写了一个如下:

#include<stdio.h>
#include<string.h>
intmain()
{
doublea,b;
charop;
scanf("%lf%c%lf",&a,&op,&b);
if(op=='+'){
printf("%g+%g=%g",a,b,a+b);
}
elseif(op=='-'){
printf("%g-%g=%g",a,b,a-b);
}
elseif(op=='*'){
printf("%g*%g=%g",a,b,a*b);
}
elseif(op=='/'){
printf("%g/%g=%g",a,b,a/b);
}
return0;
}

❸ C语言两数加减乘除的方法

这是一个例子,看看能否帮上你。#include <stdio.h>
#include <stdlib.h>
#include <conio.h>int getOption (void);
void getData (float* num1, float* num2);
float calc (int option, float num1, float num2);
float add (float num1, float num2);
float sub (float num1, float num2);
float mul (float num1, float num2);
float divs (float num1, float num2);
void prfloatData (float nun1, float num2, int option, float result); int main (void)
{
int option;
float num1;
float num2;
float result; while (1)
{
system("cls");
option = getOption();
if (option==5)
{
break;
}
else if(option>0&&option<5)
{
printf("%d\n",option);
getData (&num1, &num2);
result = calc (option, num1, num2);
prfloatData (num1, num2, option, result);
}
printf("\t请按任意键继续");
getch();
fflush(stdin);
}
return 0;
} int getOption (void)
{
float option; printf("\t\t********************************");
printf("\n\t\t\t * MENU *");
printf("\n\t\t\t");
printf("\n\t\t\t 1. ADD ");
printf("\n\t\t\t 2. SUBTRACT ");
printf("\n\t\t\t 3. MULTIPLY ");
printf("\n\t\t\t 4. DIVIDE");
printf("\n\t\t\t 5. RETURN\n");
printf("\n\t\t********************************"); printf("\n\n\tPlease type your choice ");
printf("and key return:");
//scanf ("%f", &option);
option = getch()-48;
return option;
} void getData (float* a, float* b)
{
printf("\tPlease enter two floateger numbers:");
scanf ("%f %f", a, b);
return;
} float calc (int option, float num1, float num2)
{
float result; switch(option)
{
case 1 : result = add (num1, num2);
break;
case 2 : result = sub (num1, num2);
break;
case 3 : result = mul (num1, num2);
break;
case 4 : if (num2 == 0.0)
{
printf("\n\a\aError:");
printf("division by zero\n");
exit (100);
}
else
result = divs (num1, num2);
break;
default: printf("\aOption not available\n");
exit (101);
}
return result;
} float add (float a, float b)
{
return a+b;
} float sub (float a, float b)
{
return a-b;
} float mul (float a, float b)
{
return a*b;
} float divs (float a, float b)
{
return a/b;
} void prfloatData (float a, float b, int option, float result)
{
switch(option)
{
case 1 : printf("\n\t%6.2f + %6.2f = %6.2f\n", a, b, result);
break;
case 2 : printf("\n\t%6.2f - %6.2f = %6.2f\n", a, b, result);
break;
case 3 : printf("\n\t%6.2f * %6.2f = %6.2f\n", a, b, result);
break;
case 4 : printf("\n\t%6.2f / %6.2f = %6.2f\n", a, b, result);
break;
default: printf("\n\t\a\a未知错误!\n");
exit (102);
}
return;
}

❹ C语言中怎么实现两个超大整数的相加减乘除

#include <string.h>

#include <stdio.h>

#include <stdlib.h>

#define N 100

int main(int argc, char const *argv[])

{

char arr[N] = {};

gets(arr);

char brr[N] = {};

gets(brr);

int len1,len2,i = 0,j = 0;

len1 = strlen(arr);

len2 = strlen(brr);

int len = len1>len2?len1:len2;

/* c99之后数组初始化支持整型表达式,称为可变长数组,但按照c89的标准是不对的

int num1[len]; //将字符串转换成翻转的整型数组

int num2[len];

*/

int* num1 = (int*)malloc(len*sizeof(int));

int* num2 = (int*)malloc(len*sizeof(int));

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

{

num1[i] = i<len1 ? arr[len1-i-1]-'0':0;

}

for (j = 0; j < len; j++)

{

num2[j] = j<len2 ? brr[len2-j-1]-'0':0;

}

//int sum[len]; //定义和数组

int* sum = (int*)malloc(len*sizeof(int));

int flag=0; //设进位符

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

{

sum[len-1-i] = (num1[i]+num2[i]+flag)%10;

flag = (num1[i]+num2[i]+flag)/10;

}

if (flag == 1) printf("1"); //如果最高位有进位 则输出一个1

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

{

printf("%d",sum[i]);

}

printf(" ");

free(num1);

free(num2);

free(sum);

num1 = NULL;

num2 = NULL;

sum = NULL;

return 0;

}

(4)算出两数加减乘除c语言扩展阅读:

gets()函数用法

gets是从标准输入设备读字符串函数。

函数原型:char*gets(char*str);

功能为:从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中。换行符不作为读取串的内容,读取的换行符被转换为‘\0’空字符,并由此来结束字符串。

注意:不会判断上限,以回车结束读取,所以程序员应该确保buffer的空间足够大,以便在执行读操作时不发生溢出。使用时需要包含stdio.h头文件

参数

str为字符串指针,用来存放读取到的数据。

返回值

读入成功,返回与参数buffer相同的指针;读入过程中遇到EOF(End-of-File)或发生错误,返回NULL指针。所以在遇到返回值为NULL的情况,要用ferror或feof函数检查是发生错误还是遇到EOF。

❺ c语言加减乘除运算代码

方法如下:

设备:华为笔记本。

系统:win7。

软件:Code Blocks。

版本:8.0.11。

1、首先打开Code Blocks软件,新建一个C语言文件,如下图所示。

❻ C语言实现加减乘除运算

按照你的程序运行后。。。在输入c值的时候
程序直接结束了。。。还有就是每个case语句后记着加上break跳出不过也有不过根据具体需要也可以不加break;但是你的这个程序需要加上break;
原因是:回车符也是字符,所以你按回后,程序以为是输入了c的值了,而在输入b值成功是因为
回车符不是数字形式的。
以下是我改过的程序,编译运行都很好的

#include
#include

void main()
{
float a,b;
char c;
printf("\n input a:");
scanf("%f",&a);
printf("\n input b:");
scanf("%f",&b);
//这种情况经常遇到。。。。输入完后回车被下一个scanf("%c",&c)捕获了。
//因为回车符也是字符,所以你按回车后,程序以为是输入了c的值了
//所以加上下面一行,把回车符取走就可以了。。。。
getchar();
printf("\n input c:");
scanf("%c",&c);
//printf("\n%c",c);
switch(c)
{
case '+': printf("a+b=%f",a+b);break;
case '-': printf("a-b=%f",a-b);break;
case '*': printf("a*b=%f",a*b);break;
case '/': printf("a/b=%f",a/b);break;
default: break;
}
//为了好看
printf("\n");
}

❼ C语言中如何实现加减乘除运算

实现方法如下:

读入的时候用%x读入,然后在程序里面直接用+,-,*,/运算就行了,输出的时候再用%x。

❽ 输入两个数 计算加减乘除 c语言程序 简单一点的程序我现在才大一

#include<stdio.h>

floatadd(floata,floatb)
{
return(a+b);
}
floatminus(floata,floatb)
{
return(a-b);
}
floatmultiply(floata,floatb)
{
return(a*b);
}
floatdivide(floata,floatb)
{
return(a/b);
}

intmain(void)
{
printf("Pleaseinserttwonumbers: ");

floata,b;
scanf("%f,%f",&a,&b);

floatresult;
result=add(a,b);
printf("Theresultofadditionis:%f ",result);

result=minus(a,b);
printf("Theresultofminusis:%f ",result);

result=multiply(a,b);
printf("Theresultofmultiplicationis:%f ",result);

result=divide(a,b);
printf("Theresultofdivisionis:%f ",result);


return0;
}

谢谢,望采纳!加油!