❶ 能帮忙写一个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;
}
谢谢,望采纳!加油!