如何編程序
① 如何編程序
這段距離還很遠,慢慢積累~
② 怎樣編程序
/*1、 編程解決如下數學問題:有12升水,怎樣利用一個8升和一個5升的容器將水分為兩個6升?要求以如下格式列印出分水步驟。(20分)
a12 b8 c5
12 0 0
* * * ( "*"表示當前狀態下每個容器的盛水量)
......
6 6 0
# include <stdio.h>
# include <stdlib.h>
void move(int *x,int *y,int aMax,int bMax)
{
if(aMax>bMax)
{
if(*x+*y>bMax)
{
*x = *x-(bMax-*y);
*y = *y+(bMax-*y);
}
else
{
*y = *y+*x;
*x = *x-*x;//如果顛倒兩個的順序就會造成無法輸出
}
}
else
{
*y = *y + *x;
*x = *x - *x;
}
}
main()
{
int aMax=12,bMax=8,cMax=5;
int a=12,b=0,c=0;
int i=1;
printf(" a12 b8 c5:\n");
printf("%7d%7d%7d\n",a,b,c);
while(i)
{
move(&a,&b,aMax,bMax);
printf("%7d%7d%7d\n",a,b,c);
if(a==6&&b==6)
goto step2;
move(&b,&c,bMax,cMax);
printf("%7d%7d%7d\n",a,b,c);
if(a==6&&b==6)
goto step2;
move(&c,&a,cMax,aMax);
printf("%7d%7d%7d\n",a,b,c);
if(a==6&&b==6)
goto step2;
move(&b,&c,bMax,cMax);
printf("%7d%7d%7d\n",a,b,c);
if(a==6&&b==6)
goto step2;
}
step2:
printf("the water has been sorted!\n");
return 0;
}*/
/*2、 編程實現:有二維數組a[3][3]={{5.4,3.2,8},{6,4,3.3},{7,3,1.3}},
將數組a的每一行元素均除以該行上的主對角元素(第1行同除以a[0][0],第2行同除以a[1][1],...),
按行輸出新數組。(20分)
# include <stdio.h>
main()
{
double a[3][3]={{5.4,3.2,8},{6,4,3.3},{7,3,1.3}}; //可以在定義時初始化,在後來就不行了
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
if(i==j)
a[i][j]=a[i][j];
else
a[i][j]=a[i][j]/a[i][i];
}
a[i][i]=1;
}
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%6.2f",a[i][j]);
printf("\n");
}
}*/
/*3、編程:設x取值為區間[1,20]的整數,求函數f(x)=x-sin(x)- cos(x)的最大值,
要求使用自定義函數實現f(x)功能。(20分)
#include <stdio.h>
#include <math.h>
double f(long double x);
main()
{
double a[50];
int i,index,j;
long double temp;
for(i=0;i<20;i++)
a[i] = f(i+1);
for(i=0;i<19;i++)
{
index = i;
for(j=i+1;j<20;j++)
if(a[j]>a[index])
index = j;
temp = a[index];
a[index] = a[i];
a[i] = temp;
}
printf("the max is %6.2f",a[0]);
printf("\n");
return 0;
}
double f(long double x)
{
x = x - sin(x) - cos(x); //他輸入的是弧度數,而我用計算器算的是角度值,所以結果會不一樣
return x;
}*/
//冒泡排序
/*# include <stdio.h>
# include <math.h>
void swap(int *x,int *y);
main()
{
int i,j;
int a[50];
printf("please input the num:");
printf("\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=1;i<10;i++)
for(j=0;j<10-i;j++)
if(a[j]>a[j+1])
swap(&a[j],&a[j+1]);
printf("after sorted the num is:");
printf("\n");
for(i=0;i<10;i++)
printf("%4d",a[i]);
printf("\n");]
return 0;
}
void swap(int *x,int *y)
{
int p;
p = *x;
*x = *y;
*y = p;
}
*/
//選擇排序
/*# include <stdio.h>
# include <stdlib.h>
main()
{
int i,j,temp,index;
int a[50];
printf("input the num :");
printf("\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<9;i++)
{
index = i;
for(j=i+1;j<10;j++)
{
if(a[j]<a[index])
index = j;
temp = a[index];
a[index] = a[i];
a[i] = temp;
}
}
for(i=0;i<10;i++)
printf("%4d",a[i]);
printf("\n");
return 0;
}*/
/*編寫函反向。
要求主函數輸入字元串,通過調用函數fun實數fun,通過指針實現將一個字元串現輸入字元串反向。(20分)
# include<stdio.h>
# include<stdlib.h>
# include<string.h>
char *fun(char *q)
{
char temp;
int len=strlen(q);
int i;
for(i=0;len-i-1>i;i++)
{
temp = *(q+i);
*(q+i) = *(q+len-i-1);
*(q+len-i-1) = temp;
}
return q;
}
main()
{
char *q;
q=(char *)malloc(200*sizeof(char));
printf("please input the string:\n");
scanf("%s",q);
fun(q);
printf("after reverse the string is:\n");
printf("%s\n",q);
return 0;
}*/
/*5、已知學生三門課程基本信息如下。請使用結構體編程,計算學生三門課程平均成績後,
列表輸出學生的姓名、數學、英語、計算機、平均分信息,並按平均分排序。(20分)
姓名 數學 英語 計算機
Mary 93 100 88
Jone 82 90 90
Peter 91 76 71
Rose 100 80 92
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct student{
char name[20];
int math;
int english;
int computer;
double average;
};
main()
{
int i,j,index;
struct student a[4];
struct student temp;
strcpy(a[0].name,"mary"),a[0].math=93,a[0].english=100,a[0].computer = 88;
strcpy(a[1].name,"jone"),a[1].math=82,a[1].english=90,a[1].computer = 90;
strcpy(a[2].name,"peter"),a[2].math=91,a[2].english=76,a[2].computer = 71;
strcpy(a[3].name,"rose"),a[3].math=100,a[3].english=80,a[3].computer = 92;
for(i=0;i<4;i++)
a[i].average =(a[i].computer +a[i].english +a[i].math)/3 ;
for(i=0;i<3;i++)
{
index = i;
for(j=i;j<4;j++)
if(a[j].average <a[index].average )
index = j;
temp = a[i];
a[i] = a[index];
a[index] = temp;
}
printf("姓名 數學 英語 計算機 平均分\n");
for(i=0;i<4;i++)
{
printf("%6s%6d%6d%9d%9.1f",a[i].name ,a[i].math ,a[i].english ,a[i].computer ,a[i].average );
printf("\n");
}
}*/
/*6、附加題:編程實現輸入一串英文,統計其中各單詞出現的個數(不區分大小寫字母),
以"000"作為字元串輸入結束標志,例如:
Twinkle twinkle little star 000(回車)
twinkle little star
2 1 1 (50分)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
void main()
{
char string[400]; //裝載輸入的原始字元串
char temp[20][20]; //裝載string中的各個子字元串
char str[20][20]; //裝在string中的各個子字元串,不過不包括重復的字元串,只是把不同的字元串收錄在str中
int num=0; //記錄空格的個數
int order[20]; //記錄各個空格的位置
int i,j,k;
int sum[20]; //記錄子字元串出現的個數
int flag=0; //判斷是否把子字元串輸入到str中
for(i=0;i<20;i++)
memset(temp[i],'\0',20); //把那裡面的元素清零,如果不清零會產生亂碼
for(i=0;i<20;i++)
memset(str[i],'\0',20); //把那裡面的元素清零,如果不清零會產生亂碼
printf("please input the string:\n");
gets(string); //把字元串輸入到字元數組string[400]中
for(i=0;string[i]!='0';i++)
string[i]=tolower(string[i]); //將字元串中的大寫字母轉化成小寫字母
for(i=0;string[i]!='0';i++)
if(string[i]==' ')
{
order[num]=i; //記錄空格的位置
num++; //空格的數目加1
}
for(i=0;i<order[0];i++)
temp[0][i]=string[i];//記錄了第一個空格前的字元串,把它輸入到temp[0][]中.
for(j=0;j<num;j++)
for(k=0,i=order[j]+1;i<order[j+1];i++)
temp[j+1][k++] = string[i]; //將string字元串分開後存在temp中,也就是把第一個空格之後的字元串分別存放在temp中。
//第一個字元串為temp[0],第二個字元串為temp[1],往後就一次類推了
for(k=0,i=0;i<num;i++)
{
flag=0;
for(j=0;j<k;j++)
if(!strcmp(temp[i],str[j]))
{
flag=1;
break;
}
if(flag==0)
strcpy(str[k++],temp[i]);//關於他的實現舉例,第一遍時temp[0]=hello,str[0]=hello;但是當temp[1]=hello時,str[1]中不會
//在存儲temp的值,而是把這個忽略掉,接著往下找。
}
for(i=0;i<k;i++) //k決定了輸出的字元串的個數,從而避免了相同字元串的重復輸入,通過flag的變化來實現
{
sum[i]=0;
for(j=0;j<num;j++)
if(!strcmp(str[i],temp[j]))
sum[i]++;
printf("%s %d\n",str[i],sum[i]);
}
}*/
③ 如何自己編程序做軟體
萬事開頭難,首先,要有扎實的基礎知識,推薦先學 c語言,搞清楚基本概念,比如 變數,函數,類,數據類型等等,再下點功夫研究下數據結構,前者是所有編程語言的構成基石,後者是演算法,就是如何用編程語言去解決實際問題。不要相信什麼速成教程,不要被當下眾多流行的編程語言搞得不知如何下手,安下心花功夫把基礎打牢。
第二,推薦學習下java語言,建議看看 《java編程思想》這本書,這是本著名的java編程教學書籍,網上有 pdf下載。
第三,熟悉一下關系型資料庫,當前三大主流關系型資料庫 包括 mysql, oracle,sqlserver,你可以挑一個專門學習下,主要學習關系型數據中的 基本概念,比如 表,視圖,存儲過程,函數,以及 關系型資料庫 語言,在網上搜相關書籍學習下就可以了,mysql 安裝較為簡單,而且使用廣泛,免費,跨平台,推薦安裝,以它為藍本學習。
第四,學習下 html ,js,css ,這些是做網頁的基礎,這些你可以 上 菜鳥教程 等網站學習,當然,這些網站教的比較淺,要想深入研究,最好還是找相關書籍好好學一下。
有了這些知識,你可以嘗試做個小系統,比如論壇,圖書管理系統什麼的。 前端頁面 用 html 設計,css美化,js 做數據載入,java 做後台,接收發送數據從(到)前端頁面, 操作資料庫 ,mysql作為資料庫用來存放數據。
然後,你可以研究一些專業性的框架做一些真正的可用的軟體開發了,前端比如,angularjs,vue ,react,後端 如 java spring ,hibernate , 這時候,你要做的就是上官網,看幫助文檔了。
計算機發展的速度是非常快的,新技術層出不窮,但不管怎樣,基礎的東西是不會變的,所以,花時間把基礎打牢,然後多做項目實踐,這樣才能成功。
④ 怎麼編程序
朋友,你這個玩笑開大了,如果我這里三言兩語就可以把你教會,那我一定可以得到諾貝爾了……或者說編程也太容易了。
踏踏實實去學學課程,或者你下教程自學,靠網路問會編程是絕對不現實的!
如果你碰到什麼問題,具體的問題問出來,那倒是可以幫你解答。
⑤ 什麼是編程如何編寫一個程序
設計環境 程序也就是指令的集合,它告訴計算機如何執行特殊的任務。
編寫設計環境 程序是一項系統而繁瑣的工作,它不僅需要程序設計人員具有一定的功底,更需要有良好的編程習慣和風格。良好的編程習慣和風格不僅可以使程序代碼更易於讀懂和修改,更重要的是,它可以使程序的結構更加合理,有助於提高程序的執行效率。
對我們要使用程序設計手段去解決的問題進行系統地分析,了解程序是做什麼的,要達到一種什麼樣的效果等。 結構設計:也就是對程序的整體框架進行設計,設計出我們需要使用的模塊等等,並畫出流程圖。
用戶界面設計:在此,我們要設計出用於與用戶交互的輸入輸出界面。
代碼設計:在這個步驟中,我們要進行代碼的編寫。
調試:對程序中正在發生或可能發生的各種錯誤進行處理。
維護:通俗地說,維護就是對程序進行升級,對原有錯誤進行修改。
⑥ 如何編寫程序
第七章 文件類型7.1 文件類型7.1.1 文件類型以前我們把數據放在變數或數組中,它的缺點是不能對數據永久保存,因為關機後內存RAM(隨機存儲器)中的數據會全部掉失。這一章我們學習把數據或運算最後結果放到文件中,實現永久保存,或方便重復讀入使用。Turbo Pascal中引入文件變數這概念,也就是說要對實際的外部文件操作,首先要定義一個文件變數與它聯系起來,並要定義這個文件變數的文件類型,文件的類型明確指出聯系著的外部文件中數據的存放格式。Turbo Pascal中的文件類型有:類型文件、文本文件(text)和無類型文件(file)。文本文件(text)和無類型文件(file)是系統已定義好的標准文件類型,在寫程序時可直接使用其文件類型標識符(即text和file 這兩個標准文件類型標識符)。Turbo Pascal中,用assign標准過程來建立文件變數與實際外部文件的聯系,對於一個已存在的文件可用reset標准過程或append標准過程打開,用reset打開文件時指針指向第一條數據,而用append打開文件時指針指向最後一條數據的後面,故append適合向文件追加數據用。對於一個不存在的文件可用rewrite標准過程創建新文件並打開。我們對文件處理完後,記住要用close標准過程關閉文件,否則數據有可能仍停留在磁碟緩沖區中,沒有被真正寫入文件。特別注意的是對於文本文件(text)類型定義的文件,用reset標准過程打開文件時,只能進行讀操作,不能寫數據到文件中。目前,中學生信息學(計算機)奧林匹克競賽中,數據的讀寫主要採用文本文件,故本章只介紹文本文件的使用。7.2 文本文件及其應用7.2.1文本文件所謂文本文件就是指數據按文本文件類型規定的格式存放的文件。Turbo Pascal中,文本文件類型(text)是系統已定義好的標准文件類型,我們編寫程序時可直接使用文本文件類型標識符(text)。文本文件是應用最廣泛的一種文件,大多數程序的輸入和輸出都是文本文件。文本文件中的各個分量是字元,它們均是以ASCII碼的方式存放的。多個ASCII字元組成一個文本行。行與行之間通過行結束符(CR/LF)來分隔。行結束符由兩個特殊的控制字元組成,它們是回車符(ASCII表中表示為CR或#13,碼值為13)和換行符(ASCII表中表示為LF或#10,碼值為10),當我們用文本編輯器打開文本文件時行結束符是看不到的,往文件中輸出行結束符的方法常見有三種,第一種是:用writeln標准過程輸出。第二種用write標准過程輸出chr(13)+chr(10)表達式。第三種用write標准過程輸出#13#10。行結束符可用標准函數eoln(x) 檢測到,其中x為文件變數,當返回結果為true表示行結束。每個文件結束位置都應有一個文件結束符,各種文件編輯器在關閉文件時會自動寫入,在程序中可用close標准過程寫入,在DOS方式下採用 con [盤符][路徑][文件名]命令格式建立時,寫入文件結束符的方法是按ctrl+Z 。文件結束符可用標准函數eof(x)檢測 ,其中x為文件變數,當返回結果為true表示文件結束。在Turbo Pascal中,計算機中已定義好兩個特殊的文件變數,即input和output,它們的文件類型就是文本文件類型(text),input變數的外部聯系設備是鍵盤,output變數的外部聯系設備是顯示器,即把鍵盤輸入和顯示器輸出被當作兩個文本文件處理。這兩個特殊的文本文件在運行程序時,系統會自動打開,在程序結束時,系統又會自動關閉。由於input和output在程序中被頻繁使用,所以在使用它們對顯示器和鍵盤操作時,常常將文件變數標識符input和output省去,以前我們寫的程序都是這樣處理的。例如:eof等價於eof(input);eoln等價於eoln(input);read(a,b,c)等價於read(input,a,b,c);readln(a,b,c)等價於readln(input,a,b,c); readln等價於readln(input)writeln(a,b,c)等價於writeln(output,a,b,c); writeln等價於writeln(output)例7.1體會input,output的說明不省略時的本來真面目。program rzy7_1;var c:integer;begin read(c); writeln(c);end. program rzy7_1;var c:integer; input,output:text;等效程序效begin assign(input,'' ); assign(output,'' ); reset(input); rewrite(output);注意:' '是空字元串,對應鍵盤或顯示器。input和output是系統已定義好的文本文件型文件變數,系統允許省略所有對它們的說明。 read(input,c); writeln(output,c); close(input); close(output);end. 運行程序,輸入數據:AB �0�7 CDE �0�7 輸出結果:65 66 13 10 67說明:C[1],C[2],C[5]分別存入對應A,B,C字元,而C[3]和C[4]中卻保存了行結束符#13和#10。而D和E字元實際上並沒有讀入。從文本文件中以字元方式讀入數據時,經常發生這種情況,這點我們編程時要特別注意! 此例說明了行結束符(CR/LF)的存在。例7.2 體會行結束符的存在。program rzy7_2;var i:integer; c:array[1..5] of char;begin for i:=1 to 5 do read(c[i]); for i:=1 to 5 do write(ord(c[i]),' ');end. 例7.3 對例7.2改進,以字元方式讀數但不想把行結束符讀入數組的辦法是用eoln函數。運行程序,輸入數據:AB �0�7 CD�0�7 E F�0�7 輸出結果:65 66 67 68 69說明:C[1],C[2],C[3] ,C[4],C[5]分別存入了A,B,C,D,E字元,F字元沒有被讀入,因這程序只讀5個數。本程序實現不讀入行結束符的方法是:用eoln函數判斷當前位置是否有行結束符,如果有則用readln標准過程掉丟本行還未讀入的所有數據。其實readln(x,y)等效於read(x,y);readln;這兩句的組合。現在您對read與readln的運用有更深刻體會嗎?program rzy7_3;var i:integer; c:array[1..5] of char;begin i:=1; while i<=5 do if eoln then readln else begin read(c[i]); i:=i+1; end; for i:=1 to 5 do write(ord(c[i]),' ');end. 例7.4 試編程把1至100的數寫入文件rzy7_4.txt,要求數與數間用空格分隔,每行10個數。說明:(1)outfile為文件變數,定義為文本文件(text)類型,用assign標准過程把outfile文件變數與當前目錄的rzy7_4.txt文件聯系起來,如果文件放在c:\tp7\program目錄中,應改為:assign(outfile,'c:\tp7\program\rzy7_4.txt');(2)rewrite(outfile)告訴系統每次運行程序都要新建文件。(3)write(outfile,i,' ');作用是把i值和一個空格字元寫入outfile對應的文件中。(4)writeln(outfile)作用是往outfile對應的文件中寫入一個行結束符。(5)close(outfile)作用是關閉文件。program rzy7_4;var outfile:text; i:integer;begin assign(outfile,'rzy7_4.txt'); rewrite(outfile); for i:=1 to 100 do begin write(outfile,i,' '); if (i mod 10)=0 then writeln(outfile); end; close(outfile);end. Turbo Pascal 編輯器也是一個文本文件編輯器,我們可以用這個編輯器打開上面程序生成的數據文件rzy7_4.txt文件,文本文件習慣用擴展名.txt。試用Turbo Pascal編輯器的[File]的[Open]打開放在當前目錄中rzy7_4.txt文件,注意要輸入文件全名,觀察程序生成的數據是否合理。說明:自定義inputfile為文本文件類型的文件變數,和例7.4中的outfile都是自定義的文件變數標識符,自定義的文件變數的起名也應盡量包含一定的實際含義,才能便於記憶,減少錯誤。例7.5 試編程序從當前目錄的數據文件rzy7_4.txt中讀入數據,並顯示在屏幕中,要求每行示顯10個數。program rzy7_5;var x,k:integer; inputfile:text;begin說明:(1)assign(inputfile,'rzy7_4.txt' 作用是把inputfile文件變數與外部文件聯系起來。(2)reset(inputfile)作用是打開文件。(3)eof(inputfile)作用是判斷當前位置是否文件結束位置。(4)read(inputfile,x)作用是從inputfile指定的文件中讀入一個數到x中。(5)write(x,' ')作用是往屏幕中輸出數和空格字元。(6)close(inputfile)作用是關閉inputfile聯系著的文件。(7)注意:除了對應鍵盤和屏幕的文件變數(input,output)可省外,其它都不能省。 assign(inputfile,'rzy7_4.txt'); reset(inputfile); k:=0; while not eof(inputfile)and (k<100) do begin read(inputfile,x); write(x,' '); k:=k+1; if (k mod 10)=0 then writeln; end; close(inputfile);end. 如果大家想對標准過程assign、close和函數eoln、eof有更多了解,請閱讀Turbo Pascal編輯器中的幫助文件(help)說明。7.2.2 文本文件的寫數據應用把數據寫入文本文件的方法是很簡單的,與由上至下,由左向右寫屏幕的方法一樣,不同的是要指明文件變數,另外寫完所有數據後要記住關閉文件。例7.6 生成文件rzy7_6.txt,要求第一行為總人數,第二行開始為每行記錄人的姓名、語文、數學、英語、總分、平均分,數據間要用逗號分隔。樣例如下:運行程序輸入格式如下:enter peoples number= 3 no:1name=Limingchinese,maths,englist:70 75 60no:2name=Ryuanchinese,maths,englist:80 76 70no:3name=kuyuanchinese,maths,englist:68 76 55試用文本文件編輯器打開rzy7_6.txt內容如下:3Liming,70,75,60,205, 68.3Ryuan,80,76,70,226, 75.3kuyuan,68,76,55,199, 66.3 說明:也可以在DOS方式下執行dos命令:type rzy7_6.txt查看內容。
說明:(1)定義stfile文件變數為文本文件類型。name存放姓名,最長為16位的字元串型,如果用string則字元串長度為255位。c,m,e,t,av分別對應語文,數學,英語,總分,平均分。(2)assign建立了stfile文件變數與外部文件的聯系。rewrite(stfile)表示每次總是新建文件。program rzy7_6;var stfile:text; name:string[16]; i,n,c,m,e,t:integer; av:real; begin assign(stfile,'rzy7_6.txt'); rewrite(stfile);說明:(3)write語句中,如果沒有指明時stfile的,則輸送到屏幕(output)中。(4) writeln(stfile,n);的作用相當於write(stfile,n);writeln(stfile)兩句的作用,其中writeln(stfile)實現輸出行結束符的作用。 write('enter peoples number='); readln(n); writeln(stfile,n); for i:=1 to n do begin writeln('no:',i); write('name=');readln(name);(5)由於輸出數據中要求帶逗號作分隔符,所以這里把逗號作為字元輸出即可。 write('chinese,maths,english:');readln(c,m,e); t:=c+m+e; av:=t/3; writeln(stfile,name,',',c,',',m,',',e,',',t,',',av:5:1); end; close(stfile);end. 7.2.3文本文件的讀數據應用由於Turbo Pascal的read或readln標准過程對讀數格式都有嚴格的要求。即數與數間要求用空格分隔。另外讀取時不應出現理解上的錯誤。如:readln(c,x),其中c為字元串型,x為數值(實數或整數)型時,輸入數據:rzy 25.6 時,計算機會誤解為c:='rzy 25.6' 而要求再提供一個數值給x 。或c為string[3]時,提供數據rzy 25.6可以通過,雖然能令c:='rzy',x:=25.6 但是改為提供數據r 25.6時,會誤解為c:='r 2' ,x:=5.6000000000E+00 。因此遇到文件中數值型與字元串型數據混合作為數據行或數據間用非空格字元分隔等格式時,我們只能把整行作為一個字元串讀入,然後再用與字元處理相關的標准函數或過程把數據從字元串中分離出來。例7.7:非標准輸入格式例子。請先用Pascal編輯器建立下面內容的數據文件,然後運行程序從文件中讀入數據並顯示在屏幕中。其中數據文件名改為運行程序時提供。rzy7_7.txt文件內容及格式如下:rzy,c112,65,76mxf,g112,85,78huangjian,g212,87,77運行程序如下(假定輸出文件為rzy7_7.txt):enter input filename:rzy7_7.txtrzy c112 65 76mxf g112 85 78huangjian g212 87 77
參考程序如下:program rzy7_7;定義過程procesting專門用於處理一行字元串。從題目知數椐格式為每行有2個字元串和2個整數。故定義st1,st2,x,y分別保存。e用於保存逗號位置。st為作暫存變數用。var infile:text; s,filename:string;procere procesting(s:string); var st1,st2,st:string; x,y,e,code:integer; begin從字元串中分離數據處理:(1)求逗號位置;(2)截取逗號前字元串;(3)從字元串中刪去已截取的子字元串及逗號。重復上述過程即可。對於整數部分,把截取或最後剩餘的子字元串轉換為數值即可,code是規定作為返回是否轉換成功的標志。若返回code=0表示轉換成功。有關函數使用請查閱幫助說明或書1.2.7節內容。 if s>' ' then begin e:=pos(',',s); st1:=(s,1,e-1); delete(s,1,e); e:=pos(',',s); st2:=(s,1,e-1); delete(s,1,e); e:=pos(',',s); st:=(s,1,e-1); delete(s,1,e); val(st,x,code); val(s,y,code); writeln(st1,' ',st2,' ',x,' ',y); end; end;提供的數據文件可能不存在,怎麼辦?辦法:在reset或rewrite前加入編譯開關{$I-},其作用是:令所有介面(I/O)錯誤不提示也不中斷程序執行。試著打開(reset)或建立(rewrite)文件後再把編譯開關設回{$I+}。Turbo Pascal已定義好一個不帶參數的標准函數ioresult,可返回介面錯誤情況,其中返回值為0表示成功讀寫。試查閱幫助說明。本程序把一行作為一個字元串讀入後,再對字元串s分解數據。
⑦ 如何編程序
首先,設計演算法。然後,寫編程大綱,把程序編譯出來。最後,優化,調試。
我給你個C++語言編寫一個吧?
一個農場有頭母牛,現在母牛才一歲,要到四歲才能生小牛,四歲之後,每年生一頭小牛。假設每次生的都是母牛,並且也遵守4年才生育並生母牛的原則,並且無死亡,請問n年後共有多少頭牛?
#include<iostream>
using namespace std;
void cows(int n){
int one , two ,three ,four ;
one=1;two=three=four=0;
for(int i=1;i<=n;i++){
four=three+four;
three=two;
two=one;
one=four;
}
cout<<"~~~~~~~~~~~~~~~~~~生成報告~~~~~~~~~~~~~~~~~~~~~~\n";
cout<<" "<<n<<"年以後共產生牛牛:"<<(one+two+three+four)<<"只\n";
cout<<" 其中有一歲的小牛:"<<one<<"只\n";
cout<<" 其中有兩歲的小牛:"<<two<<"只\n";
cout<<" 其中有三歲的小牛:"<<three<<"只\n";
cout<<" 其中有牛牛究極體:"<<four<<"只\n";
cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n";
}
int main(){for(;;){
cout<<" 牛生牛產業鏈計劃正式啟動\n";
cout<<"我們美麗的草原上有一隻小母牛(一歲),它自願的加入了牛牛產業計劃。^_^讓我們給它一些熱烈的掌聲,為它加油!\n";
cout<<"你想知道n年以後草原上的牛牛盛況嗎?請輸入n的值吧:";
int n;
cin>>n;
if(n>57){cout<<"(由於計算機整數上限問題,以及個人水平問題,該程序不能輸出過大的n值)敬請原諒^_^\n";continue;}
if(n<0){cout<<"請輸入合理的n的值\n";continue;}
cows(n);
cout<<"好一個美麗的大草原啊~~~~~~~~\n\n";
}
return 0;
}
⑧ 怎樣編寫程序
在這里我們藉助的軟體是Visual C++6.0。
打開軟體,先新建一個工程,在新建一個C++源文件,這些你聽起來可能有點陌生,不要擔心,你只需要按照下面的圖片進行操作就好。
⑨ 初學者怎樣學習編程序
微信小程序開發的難易度,和小程序功能的豐富性有關系,功能越多開發越難。
想要快速做出一款小程序,首先要有一個微信官方的開發工具,如果你會編程還好,但是對於沒有編程基礎的人來說,這個官方工具只能執行最後的發布。
那麼自己不會編程,怎麼辦?可以選擇一家靠譜的小程序開發公司來幫你快速完成。注意,選開發公司之前應考慮以下幾點:
1、了解自己需要什麼樣的小程序,根據自己的功能需求尋找合適的。
2、看小程序的功能是否豐富,設計是否合理。是否可以幫助你推廣自己的產品。
3,小程序裝修是否支持自定義裝修。有些小程序裝修風格比較單一,只能按照模板裝修,相對於自定義拖拽式裝修就單調很多。
4、產品是否成熟穩定,有沒有經過市場檢驗,是否在持續升級中。
5、售後服務是否跟得上,任何小程序都需要技術售後支持,如果服務跟不上就會影響你的使用體驗。
⑩ 程序是如何編寫的
設計環境 程序也就是指令的集合,它告訴計算機如何執行特殊的任務。