⑴ c語言編個小程序
本題的一個完整c程序如下,win-tc和Dev-c++下已調試通過。其中通用排序函數為void sort()
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
#include "string.h"
#define ROW 100
#define COL 80
void sort();
int main()
{
int n,i;
char s[ROW][COL+1];
printf("Please input the number of the string you want to sort(not more than %d):\n",ROW);
scanf("%d",&n);
getchar(); /*開始沒加這句只能輸入n-1個字元串,排錯花了幾十分鍾,教訓深刻,看來是上一句的回車鍵在作怪,這說明gets()函數也是從緩沖區而非控制台取出字元的*/
printf("Please input the strings one by one (not more than %d characters each):\n",COL);
for(i=0;i<n;i++)
gets(s[i]);
sort(s,n);
printf("\nNow,the sequence after sort is:\n");
for(i=0;i<n;i++)
printf("%s\n",s[i]);
getch();
return 0;
}
void sort(char str[][COL+1],int n) /* 冒泡排序 */
{
int i,j;
char temp[COL+1];
for(i=0;i<n-1;i++)
for(j=0;j<n-1-i;j++)
if(strcmp(str[j],str[j+1])>0)
{
strcpy(temp,str[j]);
strcpy(str[j],str[j+1]);
strcpy(str[j+1],temp);
}
}
本題利用指針數組得出的另一種解法如下:
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
#include "string.h"
#define ROW 100
#define COL 80
void sort();
void print();
int main()
{
int n,i;
char s[ROW][COL+1],*p[ROW];
printf("Please input the number of the string you want to sort(not more than %d):\n",ROW);
scanf("%d",&n);
getchar();
printf("Please input the strings one by one (not more than %d characters each):\n",COL);
for(i=0;i<n;i++)
{
gets(s[i]);
p[i]=s[i];
}
sort(p,n);
printf("\nNow,the sequence after sort is:\n");
print(p,n);
getch();
return 0;
}
void sort(char *str[],int n) /* 選擇排序 */
{
char *temp;
int i,j,k;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(strcmp(*(str+k),*(str+j))>0)
k=j;
if(k!=i)
{
temp=*(str+i);
*(str+i)=*(str+k);
*(str+k)=temp;
}
}
}
void print(char *str[],int n)
{
int i;
for(i=0;i<n;i++)
printf("%s\n",*(str+i));
}
⑵ C語言寫的編譯小程序!求高手指點~
這個程式應該是要分析像
begin
a = 0 ;
b = 0 ;
do
if a == b
then
a = b * 2 ;
while
end
的東西吧!
先說一個致命的錯誤,只要資料不符預期他會跑無窮迴圈,建議在
void scaner(){ 下加
if( prog[p+1] == '\0' ){
syn = 0 ;
return;
}
至少不會每次跑每次當
$ 跟 end 到底誰是真正的結束?
一些建議
像
for(n=1;n<=6;n++)
if(strcmp(token,rwtab[n]) == 0)
{
syn = n;
break;
}
裡面既然已經確定結果了,最好是return掉( break; -> return; ) ,以面造成後面分析錯誤
其次這種 regular 的分析, 最好一步一步檢查,
建議將要分析的內容慢慢加進去,等一部分完成後再往下一部分去寫,我看先把 void scaner()
內容 mark 掉,在慢慢建吧
⑶ 怎樣用c語言編寫可以用滑鼠控制的小程序能舉個簡單的例子嗎謝謝!
這么一說你應該一直在學做控制台程序,你所說「滑鼠控制的小程序」應該就是圖形界面程序了
⑷ c語言代碼怎麼變成小程序啊
LZ解決沒有? 舉個例子: 用VC++6.0編譯後生成的Debug文件夾下有一個*.exe的文件 然後剪切或者復制出來,用cmd就可以調用,但是有點小問題需要注意下,LZ自己看下吧,到時候很容易解決的
⑸ 我最近在學習C語言 想用VS2008編寫一些書上小程序 請問怎麼弄 要詳細步驟的
打開vs2008--文件---新建---工程(我的是英文版)
我可是盡力了 ,不懂聯系我
⑹ 如何編譯並運行C語言程序
1、創建一個文件名為main.c,然後用任意一個款你熟悉的文本編輯軟體,比如說記事本,在裡面輸入下面的代碼,記住,要用文本文件編輯軟體,不能用word的。
(6)c語言怎麼編譯控制台小程序擴展閱讀:
c語言小游戲實現原理
1、二維數組實現棋盤
二維數組,用兩個for 循環,隨便輸出一個固定符號做棋盤,如 *
2、判定玩家
設計一個計步變數step, 每走一步 step++, 則玩家=step%2+1;
3、判定輸贏(重點)
設計方向數組 dircX[4] ,dircY[4],因為如果要判斷是否練成五子,只有1豎著2橫著3斜下4斜上
豎著的話就是 x-1,y不變
橫著的話就是x不變,y+1; 斜下: x+1,y+1; 斜上 x-1;y+1
這樣你就可以賦值dircX={-1,0,1,-1} dercY={0,1,1,1}
每當玩家落下一子,就全局判斷每個子的四個方向有沒有第二子,如果有,循環判斷有沒有第三子(利用 x+=dircX[1]),直到五子完成,結束。
⑺ c語言求編譯小程序
小弟也沒時間一段一段的寫,就告訴下你,我曾經遇到過的問題好了,就是用數學庫函數的話記得要寫 include<math.h> 還有一點就是你寫的函數 sin x 不能直接這樣寫,要寫成 sin(x) ;其他的問題應該沒有了吧,注意這兩點的話,就能寫對了,還有我用的是VC環境,你用VS的話,另當別論!
⑻ 用C語言編這個小小小程序怎麼編啊
//這個是標准C語言寫的,或許這個才是你真正需要的。
#include <stdio.h>
#include <stdlib.h>
int
main( void )
{
char name[20];
int i;
printf( "請輸入姓名:\n" );
scanf("%s",name);
if( !strcmp( name,"張三" ) )
printf("%s 合格!\n",name);
else
printf("%s 不合格!\n",name);
getch( );
}
⑼ 用c語言做一個小程序exe
首先根據windows平台用c開發出這樣的程序(這個就是我們在vc編譯軟體中每次編譯運行出現exe窗口的部分),包括界面,內部運算什麼的,這時候你要雙擊你c文件工程文件中debug文件夾里的exe文件就可以出現窗口,當然此時要運行的電腦必須裝有類似vc++編譯軟體,而復制也必須復制整個工程文件夾。你的意思估計是不用整個文件夾,而是一個exe文件就可以復制運行,那樣需要用打包封裝軟體,類似InstallShield給封裝成一個exe文件,此時就不要各種.cpp .h .opt 文件了。