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);/*輸出結果*/。