gpt4 book ai didi

c - 如何在 C 中使用数组和函数执行简单算术运算

转载 作者:行者123 更新时间:2023-11-30 20:12:15 26 4
gpt4 key购买 nike

我刚刚用C语言编写了一个使用数组、函数等的程序,但它没有显示乘法、除法的准确结果。也许执行运算的公式是错误的。请帮助完成这个程序,代码如下:

#include<stdio.h>
#include<conio.h>

void SimpleArithematic();

int main()
{
clrscr();
SimpleArithematic();
getch();
return 0;
}

void SimpleArithematic()
{
char ch;
int n;
long num=0,i,sum[100];
printf("Which Operation you want to perform: +,-,*,/?\n");
scanf("%c",&ch);
printf("Input Total Inputs: \n");
scanf("%d",&n);
printf("Input Numbers \n");
for(i=0;i<n;i++)
{
printf("Enter Number %d: \n",i+1);
scanf("%ld",&sum[i]);
}
switch(ch)
{
case '+':
for(i=0;i<n;i++)
num=num+sum[i];
printf("Addition: %ld",num);
break;
case '-':
for(i=0;i<n;i++)
{
num=num-sum[i];
}
printf("Subtraction: %ld",num);
break;
case'*':
for(i=0;i<n;i++)
sum[i]=sum[i]*num;
printf("Multiplication: %ld",num);
break;
case'/':
for(i=0;i<n;i++)
num=num/sum[i];
printf("Division: %ld",num);
break;
default:
printf("Invalid Input!!");
}
}

Output

最佳答案

您正在划分两个 long 变量:

num=num/sum[i];

如果 num 小于 sum[i],则结果 num 将为零,因为小数位在整数除法中被截断。

无论如何,num 被初始化为 0,所以无论你用什么除它,都会再次得到 0

另外,对于您的乘法,您可能有一个拼写错误:

sum[i]=sum[i]*num;

再说一遍,由于 num 被初始化为 0,无论你乘什么它都会得到 0

关于c - 如何在 C 中使用数组和函数执行简单算术运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36554510/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com