当前位置:首页 » 编程语言 » c语言设计程序三舍四入
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言设计程序三舍四入

发布时间: 2022-05-07 00:58:47

1. 用c语言设计能够完成多步四则运算的程序

多用计算器的构思及设计代码

[关键词]多用计算器;设计

数值计算可以说是日常最频繁的工作了,WIN98提供了“计算器”软件供用户使用,该软件可以处理一般的一步四则运算,例如:3+2、5/3等等,但在日常中用户经常遇到多步四则运算问题,例如:3+4*5-4/2,45*34/2+18*7等等,那么该个计算器就无法胜任了,作者制作了一个实用的计算器,该计算器新增不少功能:(程序界面如图)

1.可以实现连续的四则运算

2.可以实现输入式子的显示

3.可以方便计算个人所得税

4.鼠标、键盘均可输入数据

5.操作界面友好

6.击键可发声

构建该个计算器所需研究及解决的核心问题有如下几个:1、连乘求值?2、字符显示 3、键盘输入?4、击键发声?5、个人所得税法规,为了使大家对程序有更一步认识,现将代码提供给读者参考:

*定义数组及窗体变量

Dim number2(0 To 50) As Double
Dim number(0 To 50) As Double
Dim z As Integer
Dim k As Integer, r As Integer
Dim j As Integer
Dim str As String

*调用名为“playsound”的API函数

Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hMole As Long, ByVal dwFlags As Long) As Long
Private Const SND_FILENAME = &H20000?
Private Const SND_ASYNC = &H1?
Private Const SND_SYNC = &H0

*判断通用过程

Sub pianan(p As String)
r = 0
Dim i As Integer, l As Integer, h As Integer
h = 0
i = 1
If InStr(Trim$(p), "*") <> 0 Then
k = k + 1
End If
If InStr(Trim$(p), "/") <> 0 Then
r = r + 1
End If
End Sub

*连乘通用过程(略)

*各按钮事件过程

Private sub Command1_Click(Index As Integer)
PlaySound App.Path & "\start.wav", 0, SND_SYNC
Text1.Text = Text1.Text + Command1(Index).Caption
Text2.Text = Text2.Text + Command1(Index).Caption
Text1.SetFocus
End Sub

rivate sub Command10_Click()
PlaySound App.Path & "\start.wav", 0, SND_SYNC
str = Text3.Text
End Sub

Private sub Command11_Click()
PlaySound App.Path & "\start.wav", 0, SND_SYNC
Text3.Text = str
End Sub

rivate sub Command2_Click()
PlaySound App.Path & "\start.wav", 0, SND_SYNC
Dim totle As Double
Dim n As Integer
Call pianan(Text1.Text)
If k >= 1 Or r >= 1 Then
Call liancheng(totle)
number2(z) = totle
If Mid$(Trim$(Text1.Text), 1, 1) = "-" Then
number2(z) = -totle
End If
k = 0: r = 0
Else
number2(z) = Val(Text1.Text)
End If
Text1.Text = ""
Text2.Text = Text2 + "+"
z = z + 1
Text1.SetFocus
End Sub

rivate sub Command3_Click()
PlaySound App.Path & "\start.wav", 0, SND_SYNC
Dim totle As Double
Dim n As Integer
Call pianan(Text1.Text)
If k >= 1 Or r >= 1 Then
Call liancheng(totle)
number2(z) = totle
If Mid$(Trim$(Text1.Text), 1, 1) = "-" Then
number2(z) = -totle
End If
k = 0: r = 0
Else
number2(z) = Val(Text1.Text)
End If
Text1.Text = ""
Text2.Text = Text2 + "-"
Text1.Text = Text1.Text & "-"
z = z + 1
Text1.SetFocus
End Sub

Private sub Command4_Click()
PlaySound App.Path & "\start.wav", 0, SND_SYNC
Text2.Text = Text2.Text + "*"
Text1.Text = Text1.Text + "*"
Text1.SetFocus
End Sub

rivate sub Command5_Click()
PlaySound App.Path & "\start.wav", 0, SND_SYNC
Text2.Text = Text2 + "/"
Text1.Text = Text1 + "/"
Text1.SetFocus
End Sub

Private sub Command6_Click()
PlaySound App.Path & "\sound.wav", 0, SND_SYNC
Dim totle As Double
Dim n As Integer
Call pianan(Text1.Text)
If k >= 1 Or r >= 1 Then
Call liancheng(totle)
number2(z) = totle
If Mid$(Trim$(Text1.Text), 1, 1) = "-" Then
number2(z) = -totle
End If
k = 0: r = 0
Else
number2(z) = Val(Text1.Text)
End If
Text1.Text = ""
z = z + 1
Dim dengyu As Double
Dim v As Integer
For v = 0 To 50
dengyu = dengyu + number2(v)
Next v
If dengyu < 0 Then
Text3.ForeColor = &HFF&
Else
Text3.ForeColor = &HFF0000
End If
Text3.Text = dengyu
Text1.SetFocus
If Len(Text3.Text) >= 14 Then
calcresult.Show
End If
End Sub

rivate sub Command7_Click()
PlaySound App.Path & "\start.wav", 0, SND_SYNC
z = 0: k = 0: r = 0: j = 0
Dim i As Integer
For i = 0 To 50
number(i) = 0
number2(i) = 0
Next i
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text1.SetFocus
End Sub

rivate sub Command8_Click()
PlaySound App.Path & "\start.wav", 0, SND_SYNC
If Val(Text3.Text) = 0 Then
MsgBox "除数不能为0!"
Exit Sub
End If
Text3.Text = 1 / Val(Text3.Text)
End Sub

Private sub Command9_Click()
PlaySound App.Path & "\start.wav", 0, SND_SYNC
Text3.ForeColor = &HFF0000
Text3.Text = Val(Text3.Text) * Val(Text3.Text)
End Sub

rivate sub muninternet_Click()
Dim i
i = Shell("C:\Program Files\InternetExplorer\iexplore.exe", vbMaximizedFocus)
End Sub

rivate sub munmp3_Click()
Dim i
i = Shell("C:\Program Files\Windows Media Player\mplayer2", vbNormalNoFocus)
End Sub

Private sub munsm_Click()
Dialog.Show
End Sub

rivate sub muntax_Click()
tax.Show
End Sub

rivate sub munver_Click()
ver.Show
End Sub

rivate sub notepad_Click()
Dim i

i = Shell("c:\windows\notepad", vbNormalFocus)
End Sub

Private sub Text1_KeyPress(KeyAscii As Integer)
PlaySound App.Path & "\start.wav", 0, SND_SYNC
Dim num As Integer
num = Val(KeyAscii)
If num > 47 And num < 58 Then

Text1.Text = Text1.Text + CStr(num - 48)
Text2.Text = Text2.Text + CStr(num - 48)
End If
If num = 46 Then
Text1.Text = Text1.Text + "."
Text2.Text = Text2.Text + "."
End If
If KeyAscii = 43 Then
Dim totle As Double
Dim n As Integer
Call pianan(Text1.Text)
If k >= 1 Or r >= 1 Then
Call liancheng(totle)
number2(z) = totle
If Mid$(Trim$(Text1.Text), 1, 1) = "-" Then
number2(z) = -totle
End If
k = 0: r = 0
Else
number2(z) = Val(Text1.Text)
End If
Text1.Text = ""
Text2.Text = Text2 + "+"
z = z + 1
End If
If KeyAscii = 45 Then
Call pianan(Text1.Text)
If k >= 1 Or r >= 1 Then
Call liancheng(totle)
number2(z) = totle
If Mid$(Trim$(Text1.Text), 1, 1) = "-" Then
number2(z) = -totle
End If
k = 0: r = 0
Else
number2(z) = Val(Text1.Text)
End If
Text1.Text = ""
Text2.Text = Text2 + "-"
Text1.Text = Text1.Text & "-"
z = z + 1
End If
If KeyAscii = 42 Then
Text2.Text = Text2.Text + "*"
Text1.Text = Text1.Text + "*"
End If
If KeyAscii = 47 Then
Text2.Text = Text2.Text + "/"
Text1.Text = Text1.Text + "/"
End If
If KeyAscii = vbKeyReturn Then
PlaySound App.Path & "\sound.wav", 0, SND_SYNC
Call pianan(Text1.Text)
If k >= 1 Or r >= 1 Then
Call liancheng(totle)
number2(z) = totle
If Mid$(Trim$(Text1.Text), 1, 1) = "-" Then
number2(z) = -totle
End If
k = 0: r = 0
Else
number2(z) = Val(Text1.Text)
End If
Text1.Text = ""
z = z + 1
Dim dengyu As Double
Dim v As Integer
For v = 0 To 50
dengyu = dengyu + number2(v)
Next v
If dengyu < 0 Then
Text3.ForeColor = &HFF&
Else
Text3.ForeColor = &HFF0000
End If
Text3.Text = dengyu
End If
If KeyAscii = vbKeyEscape Then
z = 0: k = 0: r = 0: j = 0
Dim i As Integer
For i = 0 To 50
number(i) = 0
number2(i) = 0
Next i
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text1.SetFocus
End If
If Len(Text3.Text) >= 14 Then
calcresult.Show
End If
End Sub

rivate sub Text3_Change()
tax2.Text1 = Text3.Text
End Sub
另外,站长团上有产品团购,便宜有保证

2. c语言设计程序,要求如下。

#include <stdlib.h>
#include <conio.h>
void display()
{
int num = 0;
char c;
do
{
num++;
if (num >= 10)
{
return;
}
system("cls");
printf("这是第%d页\n", num);
printf("按数字键跳到相关页面\n");
printf("按任意键跳到下一页\n");
c = getch();
if (c >= '1' && c <= '9')
{
num = c - '1';
}
}
while (1);
}
int main(int argc, char* argv[])
{
display();
return 0;
}

3. c语言怎么实现四舍五入

# incloud <stdio>

int main(void)

{

float a ;

scanf(“%f”,&a);

a=(int)(a*1000+0.5)/1000.0;

printf (“%0.3f”,a);

return 0;

}

(3)c语言设计程序三舍四入扩展阅读

其他方法实现四舍五入:

int myround(double indata,int precision,double * outdata)
{

long pre = 1,i;

for(i = 0; i <precision; i ++)pre = pre * 10;

if(cy_FloatCompare(indata,0.00)> 0)

* outdata =(int)((indata * pre)+0.5)/100.00;

else

* outdata =(int)((indata * pre)-0.5)/100.00;

return 0;

}

// cy_FloatCompare是浮点数与0比较的函数,假设它存在。返回值与strcmp相同。

4. c语言 一个数 三舍四入 c语言,对一个数三舍四入

int function(float x)
{
if(x*10%10-3>0) return x*10/10+1;
else return x*10/10;
}
这是按小数点后第一位的三舍四入的。

5. 设计c语言程序(输入三位数,分别输出该数各个数位上的数字)

关键是把这个三位数分成三个数位上的单个数字,用除法运算和取余运算%来完成,关键几句如下:
int x,a,b,c
x=423
c=x % 10余数为3,得到个位上的数字
b=(x%100)/10说明:x%100得余数23,再利用两个整数相除结果取整数商,得十位上的数字2
a=x/100得4 ,这还是利用了整数除法的特点
printf("a=%d b=%d c=%d",a,b,c)输出a=4 b=2 c=3

希望对你有用

6. 用c语言设计程序,键盘输入三个整数,输出其中最小值。

#include<stdio.h>
intmain(){
inta,b,c;
scanf("%d%d%d",&a,&b,&c);
printf("%d ",(a<b?a:b)<c?(a<b?a:b):c);
return0;
}

7. C语言程序设计求助,求设计一个程序,要求输入一个整数,然后将该整数倒序输出,举例:输入1234输出

1、c语言学校出来后就没玩了,近期半年内吧,我准备再补补课。。。2、思路是可以设计一个数组,然后把数组调换过来。。。3、当然,如果你要求的数过于长,可能这个数据就比较长。同时,你还可以考虑“栈”,好像是先进后出吧,便于你编程。

8. C语言程序设计 程序3 4求解 要过程 谢谢!

应该是要每一步的输出吧??分步解答最后输出解果是怎么来的?

上面程序:

main()里面b属于{1,2 , 3 , 4 , 5},分别将五个b代入row()

接下来分析row()

我们可以看出row()里面的b始终是小于n的,这里的n我们是从主函数main传过来的,也就是外部的b,所以row里面的b小于等于main里面的b,row里面的b初始值是1,所以当main里面的b等于1,row里面的b就小于等于1,也就是1;懒得打字了,上图,