① 設計一個程序實現兩個任意長的整數求和與差的運算
#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);
把你前面的引號提到前面去
因為代碼語法出錯,所以代碼並沒有執行