c语言设计加减乘除
#include<stdio.h>
main()
{
int a,b;
printf("Please input data a,b");
scanf("%d%d",&a,&b);
printf("\na+b=%d",a+b);
printf("\na-b=%d",a-b);
printf("\na*b=%d",a*b);
printf("\na/b=%d",a/b);
printf("\na%b=%d",a%b);
getch();
}
㈡ 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;
}
(2)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语言怎样实现计算器加减乘除功能
我有个VC++的
任意进制转换----栈的链接存储
/*
栈的链接存储----任意进制转换*/
#include
#include
typedef
int
ElemType;
struct
SNode
{
ElemType
data;
SNode*
next;
};
void
InitStack(SNode*&
HS)
{
HS
=
NULL;
}
//
压栈
插入元素
void
Push(SNode*&
HS,
const
ElemType&
item)
{
SNode*
newptr
=
new
SNode;
/*
获取动态结点*/
newptr->data
=
item;
/*给新分配的结点赋值*/
newptr->next
=
HS;
/*
向栈顶压入新结点*/
HS
=
newptr;
}
//从栈中删除一个元素并返回该元素
ElemType
Pop(SNode*&
HS)
{
if(HS==NULL)
{
cerr<<"无法从空栈中删除元素,退出运行
!"<
next;
ElemType
temp
=
p->data;
delete
p;
return
temp;
}
//读取栈顶元素
ElemType
Peek(SNode*
HS)
{
if(HS==NULL)
{
cerr<<"无法从空链栈中读取元素,退出运行
!"<
data;
}
bool
EmptyStack(SNode*
HS)
{
return
HS
==
NULL;
}
void
ClearStack(SNode*&
HS)
{
SNode
*mp,
*np;
mp
=
HS;
while(mp!=NULL)
{
np
=
mp->next;
delete
mp;
mp
=
np;
}
HS
=
NULL;
}
void
Transform(long
number,
int
r)
{
SNode
*a;
InitStack(a);
while(number!=0)
{
int
k
=
number%r;
Push(a,k);
number
=
number/r;
}
while(!EmptyStack(a))
{
if(r!=16)
cout<
>n;
cout<<"长整数
"<
评论
0
0
0
加载更多
㈣ C语言中如何实现加减乘除运算
实现方法如下:
读入的时候用%x读入,然后在程序里面直接用+,-,*,/运算就行了,输出的时候再用%x。
㈤ c语言中如何随机输出加减乘除
给定加减乘除的符号,给一个字符串,然后随机分配一个数,输出这个数所对应的字符串中的字符。
#include<stdio.h>
main()
{
float a,b;
char c;
printf("请按照这样的格式输入zhuan:a(+,-,*,/)b ");
scanf("%f%c%f",&a,&c,&b);
switch(c)
{
case'+': printf("%f",a+b);break;
case'-':printf("%f",a-b);break;
case'*':printf("%f",a*b);break;
case'/':printf("%f",a/b);break;
default:printf("输入有误");
}
}
(5)c语言设计加减乘除扩展阅读:
C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。
㈥ c语言实现简单的加减乘除
1、打开C-Free5.0新建一个空白页面,然后将C语言的基础格式写完,注意格式缩进。如下图所示。
㈦ 用c语言设计一个简单的加减乘除计算器 具体需要这样做
1、打开visual C++ 6.0-文件-新建-文件-C++ Source File。
2、输入预处理命令和主函数:#include /*函数头:输入输出头文件*/,void main()/*空类型:主函数*/。
3、定义变量:int a,b,d; /*定义变量的数据类型为整型*/,char c;/*定义变量的数据类型为字符型*/。
4、输入四则运算式:printf(输入如“3*4”或“5+2”的四则运算式:);/*输出文字提示*/scanf(%d%c%d,&a,&c,&b);/*输入四则运算式*/。
5、判断运算符号:switch(c) /*判断运算符号*/{case'+':d=a+b;break;/*进行加法6、运算*/case'-':d=a-b;break;/*进行减法运算*/case'*':d=a*b;break;/*进行乘法运算*/case'/':d=a/b;break; /*进行除法运算*/}。
7、输出结果:printf(%d%c%d=%d\n,a,c,b,d);/*输出结果*/。