① 怎樣編寫程序
在這里我們藉助的軟體是Visual C++6.0。
打開軟體,先新建一個工程,在新建一個C++源文件,這些你聽起來可能有點陌生,不要擔心,你只需要按照下面的圖片進行操作就好。
② 如何編程序
首先,設計演算法。然後,寫編程大綱,把程序編譯出來。最後,優化,調試。
我給你個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;
}
③ 如何編程序
這段距離還很遠,慢慢積累~
④ 怎樣編程序
/*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]);
}
}*/
⑤ 程序是如何編寫的
設計環境 程序也就是指令的集合,它告訴計算機如何執行特殊的任務。
⑥ 手機如何編程序
1.python:這里推薦一個軟體—QPython3,集成了Python3解釋器、Console控制台和QEdit編輯器,可以直接編輯運行python代碼,也可以進行簡單的安卓開發,下面我簡單介紹一下這個軟體的安裝和使用:
安裝的話,直接在手機應用中搜索就行,如下:
打開軟體,終端測試效果如下,就行電腦版的python shell:
QEdit編輯器,編輯完python代碼後,可以直接運行:
效果如下:
2.java:這里推薦一個軟體—AIDE,一個Java集成環境,可以直接新建Java項目,進行Java代碼的編輯和運行,還可以進行游戲開發,功能強大,內置學習教程,很適合初學者學習掌握,下面我簡單介紹一下這個軟體的安裝和使用:
安裝的話,與上面一樣,直接在手機應用中搜索就行:
打開軟體如下,可以直接新建Java文件,編寫Java代碼並運行:
當然,也可以直接開發簡單的安卓游戲,並直接在手機上安裝運行:
游戲效果如下:
3.HTML:這里推薦一個軟體—w3cschool編程學院,可以在線瀏覽查看前端開發的資料,包括html,css,javascript等,同時可以在線編輯代碼並運行,是一個很不錯的學習前端開發的軟體,下面我簡單介紹一下這個軟體的安裝和使用:
安裝的話,直接在應用商店中搜索就行:
打開軟體,就可以搜索前端編程的資料,如下:
在線編輯運行代碼的效果如下:
4.C/C++:這里推薦一個軟體—C++編譯器(C4droid),一款很不錯的C/C++編譯器,安裝完GCC插件後,可以直接編輯運行C/C++代碼,是一款很不錯的手機編程軟體(這里也可以使用「C語言編譯器」這個軟體,效果也不錯),下面我簡單介紹一下這個軟體的安裝和使用:
⑦ 怎麼編程序
朋友,你這個玩笑開大了,如果我這里三言兩語就可以把你教會,那我一定可以得到諾貝爾了……或者說編程也太容易了。
踏踏實實去學學課程,或者你下教程自學,靠網路問會編程是絕對不現實的!
如果你碰到什麼問題,具體的問題問出來,那倒是可以幫你解答。
⑧ 如何編寫程序
編寫程序是一項系統而繁瑣的工作,它不僅需要程序設計人員具有一定的功底,更需要有良好的編程習慣和風格。良好的編程習慣和風格不僅可以使程序代碼更易於讀懂和修改,更重要的是,它可以使程序的結構更加合理,有助於提高程序的執行效率。下面是我在程序設計中總結的一些經驗,供大家參考。
設計順序
在我們剛開始學習程序設計的時候,要編寫一個程序,總是先進行一番構思,然後就一邊寫代碼一邊調試。這種方法一般只適用於非常小的程序,根據軟體工程的特點,如果對所有程序都還按這種方法進行設計,是不合理的。
其實,設計程序就像我們蓋高樓大廈,首先要設計圖紙,然後動工。所以,對於個人編寫程序來說,應遵循以下步驟:
1、問題分析:對我們要使用程序設計手段去解決的問題進行系統地分析,了解程序是做什麼的,要達到一種什麼樣的效果等。
2、結構設計:也就是對程序的整體框架進行設計,設計出我們需要使用的模塊等等,並畫出流程圖。
3、用戶界面設計:在此,我們要設計出用於與用戶交互的輸入輸出界面。
4、代碼設計:在這個步驟中,我們要進行代碼的編寫。
5、調試:對程序中正在發生或可能發生的各種錯誤進行處理。
6、維護:通俗地說,維護就是對程序進行升級,對原有錯誤進行修改。
對於以上幾個步驟,我想大多數人會認為代碼設計最為重要,但如果程序的結構尚未清楚,我們在編寫代碼的時候就會發生混亂,一個程序性能的好壞,主要還是取決於它的結構是否合理。因此,在程序設計中,我們要盡可能注意這一點,這樣才能使我們的程序更加完善。
設計環境
一個良好的編程環境可以使我們在編寫程序時,不至於造成各種資源的紊亂,還可以避免資源的丟失。建議大家要在放源程序的目錄下建立「programs」文件夾;然後再以你要編寫的程序名和版本為名建立一個文件夾,用於存放整個源程序以及各種資源;最後,分別建立幾個文件夾,「documents」:用於存放程序文檔,包括流程圖等;「resource」:用於存放圖片,聲音,影片等資源;「debug」:用於存放調試的程序。「release」:用於存放最終釋放的程序。
例如:我們要製作一個英語學習軟體,名為「english」,版本為1.0,那麼我們的編程環境中應存在以下文件夾:
[drive]:\\…\\programs\\english1\\debug\\
[drive]:\\…\\programs\\english1\\documents\\
[drive]:\\…\\programs\\english1\\resource\\
[drive]:\\…\\programs\\english1\\release\\
另外,最好再建立一個專門的文件夾,用於存放各種模塊,以便能實現代碼的重用,這樣,我們就不用在每次寫程序時,都重寫所有的模塊,編程速度會有很大的提高。
設計技巧
代碼如果寫得很亂,程序便不易被閱讀與修改,所以,在編寫代碼時要注意以下幾點:
(1)注釋:寫注釋雖然要佔用一定的時間,但在閱讀和修改代碼時卻會節省很多的時間。所以,建議大家在定義一個函數時,在函數的第一行寫出函數的作用,再用一行解釋函數的參數,並在每個變數的定義語句後注釋出其作用。
(2)變數和函數的命名:每個程序都會使用很多的變數和函數,如果隨意命名變數與函數,每次使用時還得在變數或函數的定義語句處查出它的數據類型及名稱,而且隨意命名還會造成變數與函數重復定義。
建議大家使用匈牙利命名法,方法是:每個變數或函數的開頭都以其數據類型的縮寫命名,然後再加上代表這個變數或函數的作用的英文單詞簡寫共同組成變數或函數的名稱。例如:要定義用於計數的整型變數count,其定義語句為c\\c++:int icount; basic:dim icount as integer。以這種方法定義,不僅可以有效地避免變數與函數的混亂與重復定義,還可以保證數據類型的匹配。
(3)控制項命名:如果在windows下編程,你有可能會大量地使用控制項,如果不對控制項名嚴加管理,會造成很大程度的混亂,因此,建議在給控制項命名時,以控制項類型縮寫再加上代表這個控制項作用的英文單詞的簡寫共同組成此控制項的名稱。例如:你要命名一個按鈕控制項,作用是進行刪除操作,那麼控制項名可以命名為cmddel。
並不是每個人都能成為頂級程序員,但我們都在程序員之路上不斷進步,追求更完美、更專業化的程序。不妨好好改造一下你的程序,你會從中感受到很多好處。
⑨ 怎樣編程序
所謂程序就是解決某一問題的方案,對於C語言來說,編寫程序就是編寫一個個功能模塊,最後把這些功能模塊組合起來,每個程序都應該有且唯一又一個稱之為main的入口函數。
給一個示例:
int main(void)
{
// 做你要做的事情
return 0;
}