⑴ 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 文件了。