❶ 能幫忙寫一個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;
}
謝謝,望採納!加油!