① 设计一个程序实现两个任意长的整数求和与差的运算
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
//mat97
//以下是双链表的节点结构,每个节点存储一个4位的数,比如1,0031,0056存入链表后就是1,31,56三个节,输出的时候再补0输出!
typedefstructnode{
intn;
structnode*next;
structnode*prev;
}node;
node*p;
charnum1[1024],num2[1024];
intconv(char*a)
{
intn=0,i;
for(i=0;a[i];++i)
{
n*=10;
n+=(a[i]-'伍枣老0');
}
returnn;
}
intmain()
{
charc[2];
inti,f;
node*q;
p=(node*)malloc(sizeof(node));
p->next=p->prev=0;
q=p;
num1[0]=num2[0]=',';
printf("腔升Enternum1: ");
scanf("%s",num1+1);
for(i=strlen(num1);i>=0;--i)
{
if(num1[i]==',')
{
num1[i]=0;
q->next=(node*)malloc(sizeof(node));
q->next->prev=q;
q->next->next=0;
q=q->next;
q->n=conv(num1+i+1);
}
}
q->next=p;
p->prev=q;
printf("Enterop: ");
scanf("%s",c);
*c=*c=='+'?0:1;
printf("Enternum2: ");
scanf("%s",num2+1);
q=p;f=0;
if(!*c)//+
{
for(i=strlen(num2);i>=0;--i)
{
if(num2[i]==',')
{
num2[i]=0;
if(q->next==p)
{
q->next=(node*)malloc(sizeof(node));
q->next->next=p;
q->next->prev=q;
q->next->n=0;
p->prev=q->next;
}
q=q->next;
q->n+=(conv(num2+i+1)+f);
if(q->n<10000)
f=0;
else
{
f=1;
q->n-=10000;
}
}
}
if(f)
{
if(q->next==p)
{
q->next=(node*)malloc(sizeof(node));
q->next->next=p;
q->next->prev=q;
q->next->n=1;
}
else
{
while(q->next!=p)
{
q=q->next;
q->n+=1;
if(q->n<10000)
{
f=0;
break;
}
else
{
q->n=0;
f=1;
}
}
if(f)
{
q->岩陪next=(node*)malloc(sizeof(node));
q->next->next=p;
q->next->prev=q;
q->next->n=1;
}
}
}
printf("%d,",p->prev->n);
for(q=p->prev->prev;q!=p;q=q->prev)
printf("%04d,",q->n);
}
else//-
{
for(i=strlen(num2);i>=0;--i)
{
if(num2[i]==',')
{
num2[i]=0;
if(q->next==p)
{
q->next=(node*)malloc(sizeof(node));
q->next->next=p;
q->next->prev=q;
q->next->n=0;
p->prev=q->next;
}
q=q->next;
q->n-=(conv(num2+i+1)+f);
if(q->n>=0)
f=0;
else
{
f=1;
q->n+=10000;
}
}
}
if(f)
{
if(q->next==p)
{
q->n-=10000;
}
else
{
while(q->next!=p)
{
q=q->next;
q->n-=1;
if(q->n>=0)
{
f=0;
break;
}
else
{
q->n+=10000;
f=1;
}
}
if(f)
{
q->n-=10000;
}
}
}
printf("%d,",p->prev->n);
for(q=p->prev->prev;q!=p;q=q->prev)
printf("%04d,",q->n);
}
return0;
}
纯手打,已测试,楼主先看着,有不懂的再追问
加法:
编码辛苦,希望各位大神不要,小弟跪谢……
② 求学霸帮忙解决JAVAWEB问题:用建立一个静态网页输入两个整数,在一个servlet中计算求和的结果并显示
比如你的第一个参数名叫number1,第二个叫做number2
首先在servlet里面要设置编码,不然就像 你这个出现乱码:
request.setCharacter("UTF-8");
String number1=request.getParameter("number1");
String number2=request.getParameter("number2");
int sum=Integer.parseInt(number1)+Integer.parseInt(number2);
request.setAttribute("sum",sum);
在页面中显示的时候就写:<%out.println(request.getAttribute("sum"));%>
可能拼写有误,仅供参考!
③ web控件的textbox控件,怎么使里面的值相加
可以使用数孝迅javascript:
比如你的:文本框A 文本框B 文本框C 文本框D 一次:tbA,tbB,tbC,tbD
首先添加javacript引用和addSum()函数
<script type="text/javascript" >
function addSum()
{
var tbAObj=document.getElementById("tbA");
var tbBObj=document.getElementById("tbB");
var tbCObj=document.getElementById("tbC");
var tbDObj=document.getElementById("tbD");
var tbArray=new Array(tbAIbj,tbBObj,tbCObj);
var tempValue=0;
for(var index=0;index<tbArray.length;index++)
{
if(tbArray[index].value=="")
{
tbArray[index].value=0;
}
var restr= new RegExp(/^((([1-9]\d*)|0)(\.\d{1,4})?)$/);
if(tbArray[index].value.match(restr)!=null)
{
tempValue+=Number(
tbArray[index].value);
}
else
{
alert('正确输入!');
tbArray[index].value="";
tbArray[index].focus();
}
}
if(tempValue!=0)
{
tbDObj.value=tempValue;
}
}
</script>
然薯此后给tbA,tbB,tbC 都添慎吵加相应的onchange()事件
代码为直接手写 不保证完全正确 只提供思路
④ 如何在网页上将两个文本框的数相加,并在另一个文本框显示出来
下面的几行代码就可以:
<input type=text name=a value=0 onChange="c.value=parseInt(a.value)+parseInt(b.value);">
+
<input type=text name=b value=0 onChange="c.value=parseInt(a.value)+parseInt(b.value);">
=
<input type=text name=c value=0 readonly>
把上面代码粘贴到记事本,保存为HTML文件,浏览器打开就能看见效果。
⑤ 请编写一个程序来实现两个数的求和操作
#include <stdio.h>
int sum( int, int ) ; /* 函数原型说明 */
void main( )
{
int num1, num2, my_sum = 0 ; /* 定义两个整数变量 num1、num2、以及两个整数相加的和 my_sum */
scanf("%d %d", &num1, &num2) ; /* 从键盘上输入两个整数 */
my_sum = sum( num1, num2 ) ; /宴卖* 调用两个晌芦逗整数相加的子函数 sum( ) */
printf("哗缓my_sum = %d\n", my_sum ) ;
}
int sum( int n1, int n2)
{
return( n1+n2 ) ; /* 返回两个整数相加的和 */
}
⑥ 3. 编写函数实现任意两个整数求和,在主函数中输出计算结果。
下面的程序使用C语言编写的。
#include <stdio.h>
#include <stdlib.h>
int sum(a,b) /*求和函数*/
{
int he;
he=a+b;
return he; /*返回求和结果*/
}
int main()
{
int num1,num2;
printf("请输入要求和的两个-32768到32767之间的整数 ");
scanf("%d %d",&num1,&num2);
printf("两个数的和:%8d ",sum(num1,num2)); /*求和函数调用*/
system("pause");
return 0;
}
有两个函数。一个是求两数中大的数,一个是求两数之和改唤键。
C语言函数
main(中文核巧:主函数)
max(中文:求“最大数”的函数)
scanf(中文全称:“格式输入”函数)
printf(中文全称:“格式输出”函数)
(6)web实现任意两个数相加扩展阅读:
函数与不等式和方程存在联系(初等函数)。令函数值等于零,从几何角度看,对应的自变量的值就是图像与X轴的交点的横坐标;从代数角度看,对应的自变量是方程的解。
另外,把函数的表达式(无表达式的函数除外)中的“=”换成“<”或“>”,再把“Y”换成其它代数式,函数就变成了不等式,可以求自变量的范围。
输入值的集合X被称为f的定义域;可能的输出值的集合Y被称为f的值域。函数的值域是指定义域中全部元素通过映射链团f得到的实际输出值的集合。注意,把对应域称作值域是不正确的,函数的值域是函数的对应域的子集。
计算机科学中,参数和返回值的数据类型分别确定了子程序的定义域和对应域。因此定义域和对应域是函数一开始就确定的强制进行约束。另一方面,值域是和实际的实现有关。
⑦ 用javascript编写一个程序,计算两个数相加,并输出结果
document.write(<br>"你输入的第二个数字是:"+intB);
这一行代码写错了
document.write("<br>你输入的第二个数字是:"+intB);
把你前面的引号提到前面去
因为代码语法出错,所以代码并没有执行