當前位置:首頁 » 編程軟體 » 實驗四編程

實驗四編程

發布時間: 2023-07-13 01:05:43

① 36塊磚,36人搬,男搬4,女搬3,兩個小孩抬1磚,要求一次搬完,問男、女和小

這道題需要使用方程組來解。 設男數量為 x 人,女數量為 y 人。則小孩的數量為 (36 - x - y)。可以得到方程組: 4x + 3y + (36-x-y)/2 = 36 化簡,得到: 4x + 3y - (x+y)/2 = 18 ① x + 3(x+y) - (x+y)/2 = 18 x + 2.5(x+y) = 18 因為 2.5(x+y) < 18 可以得到: (x+y) < 18/2.5 = 7.2 由 ① 式再次變換,可以得到: 4(x+y) - (x+y)/2 - y = 18 3.5(x+y) - y = 18 因為 3.5(x+y) > 18 可以得到:(x+y) > 18/3.5 = 5+1/7 即: 6≤ (x+y) ≤7 再由 ① 式還可以得到:(x+y)/2 必須為整數,那麼 (x+y) 肯定為一偶數。 那麼:x + y = 6 因此,x = 18 - 2.5(x+y) = 3,y = 3,36-(x+y) = 30 所以,正確的答案是: 男 3 人,女 3 人,小孩 30 人

② 求一份答案 C語言編程:實驗四 數組

7. 編寫程序列印出如下楊輝三角形。
解答: (1)源程序代碼:(2)運行結果截圖:(3)運行結果分析:
#include<stdio.h>
#define N 10

void main()
{
int s[N][N];
for(int i=0;i<N;i++)
{
S[i][0]=s[i][i]=1;
}
for(i=2;i<N;i++)
for(int j=1;j<I;j++)
s[i][j]=s[i-1][j-1]+s[i-1][j];
for(i=0;i<N;i++)
{ for(int j=0;j<=i;j++)
printf(「\t%d」,s[i][j]);
printf(「\n」);
}
}

8. 分析下列程序,查錯並修改。
#include <stdio.h>
#include <string.h>
void main()
{ char a[10],b[10];
int c,d,k; char ch;
scanf("%s",&a);---à scanf("%s",a);
scanf("%s",&b); --à scanf("%s",b);
printf("a=%s,b=%s\n",a,b);
c=strlen(a);
d=strlen(b);
if(c>d)
for(k=0;k<d;k++)
{ch=a[k];a[k]=b[k];b[k]=ch;}
printf("a=%s\n",a);
printf("b=%s\n",b);
}
解答:(1) 源程序代碼:(2)運行結果截圖:(3)運行結果分析:
9.預習下面的程序的功能,寫出預習結果。並上機驗證。
#include <stdio.h>
#include <string.h>
void main( )
{ char s1[80], s2[40];
int i = 0, j = 0;
printf(" \n Please inputstring1:");
scanf("%s", s1);
printf(" \n Please inputstring2:");
scanf("%s", s2);
while (s1[i]!= '\0' )
i++;
while (s2[j]!= '\0' )
s1[i++]=s2[j ++];
s1[i]= '\0';
printf("\n New string: %s",s1);
}
解答:(1)運行結果截圖:(2)運行結果分析:
S2附加到S1的最後

10. 補充以下程序,使其功能是對從鍵盤上輸入的兩個字元串進行比較,然後輸出兩個字元串中第一個不相同字元的ASCII碼之差。例如:輸入的兩個字元串分別為abcdefg和abceef,則輸出為-1。程序如下:
#include <stdio.h>
void main ( )
{ char str1[100],str2[100];
int i,s;
printf("\n Input string1:\n");gets(str1);
printf(「\n Input string2:\n」);gets(str2);
i= 0 (1) ;
while((str1[i]==str2[i])&&(str1[i]!= 『\0』 (2) ))
i++;
s= str1[i]=str2[i] (3) ;
printf("%d\n",s);
}
解答:(1) 源程序代碼:(2)運行結果截圖:(3)運行結果分析:
11. 補充以下程序,功能是統計從終端輸入字元串中每個大寫字母的個數。用#號作為輸入結束標志。
#include <stdio.h>
#include <ctype.h>
void main ( )
{ int num[26],i; char c;
for (i=0;i<26;i++)num[i]=0;
while ( (c=getchar())(1) != '#') /* 統計從終端輸入的大寫字母個數*/
if (isupper(c))num[c-65]++ (2) ;
for (i=0;i<26;i++) /* 輸出大寫字母和該字母的個數*/
if (num[i])printf("%c:%d\n",i+65 (3) ,num[i]);
}
解答: (1)源程序代碼:(2)運行結果截圖:(3)運行結果分析:
12.編寫程序,功能是輸入若干個字元串,求出每個字元串的長度,並列印最長的字元串的內容。以「stop」作為輸入的最後一個字元串。
解答:(1)源程序代碼:(2)運行結果截圖:(3)運行結果分析:
13.編寫程序,輸入字元串s1和s2以及插入位置f,在字元串s1中的指定位置f處插入字元串s2。如:輸入"BEIJING"、"123"和位置3,則輸出:"BEI123JING"。解答: (1)源程序代碼:(2)運行結果截圖:(3)運行結果分析:

③ 匯編語言程序設計的一般步驟是什麼

匯編語言程序設計的基本步驟 了解了匯編語言指令的功能和用法,了解了匯編語言程序的編寫格式,就可以編制完整的匯編語言程序了。一個程序通常具有順序、分支、循環和子程序4種結構形式。順序程序結構就是指完全按順序逐條執行的指令序列。在程序設計過程中,順序結構大量存在,屢見不鮮。但一個完整的程序只是逐條去執行指令,這非常少見。常見的程序結構,是上述4種結構的混合體。一般來說,編制一個匯編語言程序的步驟如下:(1) 分析題意,確定演算法或演算法思想。演算法是指解決問題的方法和步驟。比如現有的一些計算方法和日常生活中解決問題的邏輯思維推理方法等。(2) 根據演算法畫出流程圖,簡單的情況也可不畫。畫出描述演算法的流程圖,可以首先從圖上檢驗演算法的正確性,減少出錯的可能,使得動手編寫程序時的思路更加清晰。(3) 分配存儲空間和工作單元,合理地使用寄存器。分配存儲空間和工作單元,是指存儲空間的分段和數據定義。另外,由於寄存器的數量有限,編寫程序時經常會感到寄存器不夠用。因此,對於位元組數據,要盡量使用8位寄存器。而採用適當的定址方式,也會達到節省寄存器的目的。(4) 根據流程圖編寫程序。這是編制匯編語言程序最為重要的一步。演算法里規定的功能,是要通過一條條指令描述出來的。為了提高編程能力,對於初學者,一是要多閱讀現有的程序,以學習別人的編程經驗;而更為重要的是,必須多親自動手編寫,不要怕失敗,只有通過無數次失敗,才能從中積累自己的編程經驗。(5) 上機調試運行程序。通過匯編的源程序,只能說明它裡面不存在語法錯誤。但是它是否能達到演算法所要求的預期效果,還必須經過上機調試,用一些實驗數據來測試,才能夠真正地得出結論。可以這么說,即使是一個非常有經驗的程序員,也沒有百分之百的把握說他編寫的程序一次就成功。 用流程圖表示演算法 流程圖用一些圖形框來代表各種操作。用圖形表示演算法,直觀形象,可以用來幫助人們對演算法的理解。下圖給出了一些常用的流程圖符號。

上圖中的判斷框(菱形)用來對一個給定的條件作出判斷,以決定如何執行其後的操作。它有一個入口,兩個出口,如下圖(a)所示。

連接點(圓圈)是用來將畫在不同地方的流程線連接起來。例如在下圖(b)里,有兩個圈裡寫著數字1的圓圈,它表示是從左邊的1出來,進到右邊圖的1里(這由流程線的方向給出)。可以看出,這兩個點其實就是同一個點,只是由於畫不下而分開來畫的。用連接點,可以避免流程圖中的流程線相互交叉或過長,從而使流程圖清晰。

注釋框不是流程圖中必需的部分。在流程圖中使用它,是為了對流程圖中的某些框的操作做一些必要的說明,以便使人們能夠更好地通過流程圖來理解演算法。

處理框反映做些什麼樣的操作,如把某個單元的內容送入某個寄存器,從某個存儲單元取出數據等。它是流程圖里最為本質的、出現最多的圖形框。

輸入/輸出框反映程序的輸入和輸出情況。計算機程序無外乎接收數據,進行處理,然後加以輸出,所以輸入/輸出框是必不可少的。

熱點內容
java等待 發布:2025-02-07 07:28:24 瀏覽:611
vs編譯器會自己加空格嗎 發布:2025-02-07 07:23:05 瀏覽:174
光遇切換賬號安卓要輸入些什麼 發布:2025-02-07 07:10:20 瀏覽:501
多角線演算法 發布:2025-02-07 07:08:56 瀏覽:273
有效提高ftp傳輸速度 發布:2025-02-07 07:06:47 瀏覽:703
寒靈之劍腳本 發布:2025-02-07 06:57:12 瀏覽:119
解壓的窗口 發布:2025-02-07 06:44:34 瀏覽:798
android身份證 發布:2025-02-07 06:36:43 瀏覽:431
python的庫在哪 發布:2025-02-07 06:30:24 瀏覽:349
帶鎖的鉛筆如何改密碼 發布:2025-02-07 06:18:05 瀏覽:165