您的位置:

c语言小程序,c语言小程序hello world

本文目录一览:

求几个C语言小程序。。

1、我只写判断是否是三角形的部分,其余部分,楼主自己写哈;

double a,b,c;

if(a=0||b=0||c=0)

{printf("输入错误,请重新输入:\n");return;}

else if(a+b=c||a+c=b||b+c=a)

{printf("不能组成三角形,请重新输入:\n");return;}

else if((a*a+b*b==c*c)||(b*b+c*c==a*a)||(a*a+c*c==b*b))

{ if((a==bb!=c)||(a==cc!=b)||(b==ca!=c))

printf("是等腰直角三角形.\n");

else printf("是直角三角形\n");

}

else if(a==bb==c)printf("是等边三角形.\n");

else if(a==c||b==c||a==b)printf("是等腰三角形.\n");

else printf("是一般三角形.\n");

2、这个程序其实也不难,我也只写主体部分,其余部分楼主自己写下。

int i,sign=1;double s=0;

for(i=1;i=1000;i++)

{

s=s+1.0*sign/i;

sign=-sign;

}

3、这个程序我全部写下来吧,我写的是从键盘键入a,b,然后判断出a,b区间的素数,然后每行五个输出.

#include stdio.h

#include math.h

main()

{

long i,j,a,b;

int k,n=0;

printf("Input a b(ab):\n");

scanf("%d%d",a,b);

k=(int)sart(b);

for(i=2;i=k;i++)

{ for(j=a;j=b;j++)

if(j%i==0)break;

if(ik)

{ printf("%10d",j);n++;

if(n%5==0)printf("\n");

}

}

}

用c语言编写小程序

/*我用c++做一下,你可以把输入输出自己转化一下*/

#includeiostream.h

#define MaxSize 100

int data[MaxSize][MaxSize];

void func(char str[],int n)// str 是字符串,n是串长度

{

int i,j;

i=0;

for(i=0;in;i++)

{

j=0;

while(str[j]!='\0')

{

data[i][j]=(int)(str[(j+i)%n]-0x30);

j++;

}

}

}

void main()

{

char str[]="123";

/*也可以自己输入串并检测串长度,这只是个测试程序*/

int n=3;

func(str,3);

for(int i=0;in;i++)

{

int j=0;

while(j!=n)

{

coutdata[i][j]' ';

j++;

}

coutendl;

}

}

有什么好玩的C语言小程序

一个“歼灭敌机”的小游戏,DEVc++编译通过:

#include stdio.h

#include conio.h

#include stdlib.h

#include windows.h

#include time.h

#define zlx 10  //增量坐标(x)让游戏框不靠边

#define zly 3   //增量坐标(y)让游戏框不靠边

#define W 26  //游戏框的宽度

#define H 24  //游戏框的高度

int jiem[22][22]={0}, wj=10;  //界面数组, 我机位置(初值为10)

int speed=4,density=30, score=0,death=0; //敌机速度, 敌机密度, 玩家成绩,死亡次数

int m=0,n=0;  // m,n是控制敌机的变量

void gtxy (int x, int y)  //控制光标位置的函数

{ COORD pos;

pos.X = x;  pos.Y = y;

SetConsoleCursorPosition ( GetStdHandle (STD_OUTPUT_HANDLE), pos );

}

void Color(int a)  //设定颜色的函数(a应为1-15)

{ SetConsoleTextAttribute( GetStdHandle(STD_OUTPUT_HANDLE), a ); }

void yinc(int x=1,int y=0)   //隐藏光标的函数

{ CONSOLE_CURSOR_INFO  gb={x,y};   //y设为0即隐藏

SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), gb);

}

void csh( )  //初始化函数

{ int i;

Color(7);

gtxy(zlx,zly); printf("╔");  gtxy(zlx+W-2,zly); printf("╗");  //左上角和右上角的框角

gtxy(zlx,zly+H-1); printf("╚"); gtxy(zlx+W-2,zly+H-1); printf("╝"); //下边两框角

for(i=2;iW-2;i+=2) {gtxy(zlx+i,zly);  printf("═"); }      //打印上横框

for(i=2;iW-2;i+=2) {gtxy(zlx+i,zly+H-1); printf("═"); }  //打印下横框

for(i=1;iH-1;i++) { gtxy(zlx,zly+i);  printf("║"); }       //打印左竖框

for(i=1;iH-1;i++) {gtxy(zlx+W-2,zly+i); printf("║"); }  //打印右竖框

Color(14);gtxy(19,2); printf("歼灭敌机"); Color(10);

gtxy(37,5); printf("设置:Esc ");

gtxy(37,7); printf("发射:↑ ");

gtxy(37,9); printf("控制:← → ");

gtxy(37,11);printf("得分:%d",score);

gtxy(37,13); printf("死亡:%d",death);

yinc(1,0);

}

void qcjm( )  //清除界面函数

{int i,j;

for(i=0;iH-2;i++)

for(j=0;jW-4;j++){gtxy(zlx+2+j,zly+1+i);printf(" ");}

}

void feiji( )  //飞机移动函数

{int i,j;

for(i=21;i=0;i--)  //从底行往上是为了避免敌机直接冲出数组

  for(j=0;j22;j++)

     {if(i==21jiem[i][j]==3) jiem[i][j]=0;  //底行赋值0 以免越界

       if(jiem[i][j]==3) jiem[i][j]=0, jiem[i+1][j]=3;

     }

if(jiem[20][wj]==3jiem[21][wj]==1) death++;

}

void zidan( )  //子弹移动函数

{ int i,j;

for(i=0;i22;i++)

  for(j=0;j22;j++)

     {if(i==0jiem[i][j]==2) jiem[i][j]=0;

     if(jiem[i][j]==2) { if(jiem[i-1][j]==3) score+=100,printf("\7");

                                 jiem[i][j]=0,jiem[i-1][j]=2; }

     }

}

void print(  )  //输出界面函数

{int i,j;

qcjm( );

for(i=0;i22;i++)

for(j=0;j22;j++)

{ gtxy(12+j,4+i);

if(jiem[i][j]==3) {Color(13);printf("□");}

if(jiem[i][j]==2) {Color(10);printf(".");}

if(jiem[i][j]==1) {Color(10);printf("■");}

}

gtxy(37,11); Color(10);printf("得分:%d",score);

gtxy(37,13); printf("死亡:%d",death);

}

void setting( )  //游戏设置函数

{ qcjm( );

gtxy(12,4);printf("选择敌机速度:");

gtxy(12,5);printf("  1.快 2.中 3.慢");

switch(getche( ))

    {case '1': speed=2; break;

     case '2': speed=4; break;

     case '3': speed=5; break;

     default: gtxy(12,6);printf("  错误!默认值");

   }

gtxy(12,7);printf("选择敌机密度:");

gtxy(12,8);printf("  1.大 2.中 3.小");

switch(getche( ))

     {case '1': density=20; break;

case '2': density=30; break;

case '3': density=40; break;

     default: gtxy(12,9);printf("  错误!默认值");

     }

for(int i=0;i22;i++)

 for(int j=0;j22;j++)jiem[i][j]=0;

jiem[21][wj=10]=1; jiem[0][5]=3;

gtxy(12,10);printf("  按任意键保存...");

getch( );

qcjm( );

}

void run( )  //游戏运行函数

{ jiem[21][wj]=1;  //值为1代表我机(2则为子弹)

jiem[0][5]=3;   //值为3代表敌机

SetConsoleTitle("歼灭敌机");  //设置窗口标题

while(1)

{ if (kbhit( ))  //如有键按下,控制我机左右移动、发射或进行设定

     {int key;

      if((key=getch( ))==224) key=getch( );

      switch(key)

      { case 75: if(wj0) jiem[21][wj]=0,jiem[21][--wj]=1; break;

        case 77: if(wj20) jiem[21][wj]=0,jiem[21][++wj]=1; break;

        case 72: jiem[20][wj]=2; break;

       case 27: setting( );

      }

   }

   if(++n%density==0)  //控制产生敌机的速度

     { n=0;srand((unsigned)time(NULL));

       jiem[0][rand( )%20+1]=3;

     }

    if(++m%speed==0) {feiji( ); m=0;}  //控制敌机移动速度(相对子弹而言)

    zidan( );

   print( );

Sleep(120);  //延时120毫秒

  }

}

int main( )

{csh( );

 run( );

 return 0;

}

新手要方便写代码,可以收藏下面几个自编函数:

SetConsoleTitle("俄罗斯方块");  //设置窗口左上角标题栏处出现"俄罗斯方块"5个字

srand( (unsigned) time(NULL) );  //初始化随机数发生器

n= rand(  ) % 20;   //产生随机数0-19中的一个. 如 rand(  )%5 就产生0-4中的一个数

SetConsoleTitle(  )函数在windows.h里, srand(  )函数与rand(  )函数要配合用,

就是同时要用,在stdlib.h里。如果 rand( )%10+1 就产生1-10之中的一个数。

Sleep(300);   //延时300毫秒(就是程序暂停300毫秒后继续运行)

system("cls");   //清屏(把窗口里的内容全部清除,光标定于(0,0)位置处)

这两个函数都在windows.h里。开头4个自编函数 编写如下:

void gtxy (int x, int y)  //控制光标位置的函数

{ COORD pos;

pos.X = x;

pos.Y = y;

SetConsoleCursorPosition ( GetStdHandle (STD_OUTPUT_HANDLE), pos );

}

void Color (int a)  //设定颜色的函数

{ SetConsoleTextAttribute ( GetStdHandle ( STD_OUTPUT_HANDLE ),a ); }

void yinc (int x,int y)   //隐藏光标的函数

{ CONSOLE_CURSOR_INFO   gb={ x , y };   //gb代表光标

SetConsoleCursorInfo ( GetStdHandle(STD_OUTPUT_HANDLE),  gb );

}

void kou(int w,int h)  //设置窗口大小的函数

{HANDLE  hl=GetStdHandle ( STD_OUTPUT_HANDLE ) ;

COORD  size={ w , h };

SetConsoleScreenBufferSize( hl , size );

SMALL_RECT  rc={ 0, 0, w, h };

SetConsoleWindowInfo( hl, 1, rc );

}

最后这个函数,参数w是宽h是高。里边5行中第一行定义了句柄型变量hl,并给它赋值。

第二行定义了坐标型结构体变量size,它的取值决定了缓冲区的大小。第三行就是使用

size的值设置好缓冲区大小。第四行定义了变量rc,它的值决定当前窗口显示的位置与

大小(不得超过缓冲区的大小)。前两个0,0是从缓冲区左上角0列0行位置处开始,后两

个参数可以小于w和h.比如 rc={0,0,w-10,h-5}; 最后一行使用rc的值设置好窗口,中间

那个参数要为" 1 "或写“ true ”才有效。

用C语言写一个小程序,麻烦大家了

// 记得多给点分哦,很难写的。

// C

#include stdio.h

int strnmerge(char*str,int n,char const*s1,char const*s2){

    while(n   0) {

        if(!(*s1)  !(*s2)) break;

        if(*s1  n  0) {

            *str++ = *s1++;

            --n;

        }

        if(*s2  n  0) {

            *str++ = *s2++;

            --n;

        }

    }

    *str = '\0';

}

int main() {

    char s1[] = "aaaa";

    char s2[] = "bbbbbbbbb";

    char str[100];

    strnmerge(str, 10, s1, s2);

    printf("s1 = %s\n", s1);

    printf("s2 = %s\n", s2);

    printf("str = %s\n", str);

    return 0;

}

// C++

#include iostream

using namespace std;

int strnmerge(char*str,int n,char const*s1,char const*s2){

    while(n   0) {

        if(!(*s1)  !(*s2)) break;

        if(*s1  n  0) {

            *str++ = *s1++;

            --n;

        }

        if(*s2  n  0) {

            *str++ = *s2++;

            --n;

        }

    }

    *str = '\0';

}

int main() {

    char s1[] = "aaaa";

    char s2[] = "bbbbbbbbb";

    char str[100];

    strnmerge(str, 10, s1, s2);

    cout  "s1  = "  s1   endl;

    cout  "s2  = "  s2   endl;

    cout  "str = "  str  endl;

    return 0;

}

C语言小程序

/*

程序功能:实现输入一个算式,然后按照同等优先级进行计算.最终输出结果.

*/

#include stdio.h

int calculate(int a, int b, char s) //计算函数,给定两个整数和运算符,返回结果

{

int c;

switch (s)

{

case '+' : c = a + b; break;

case '-' : c = a - b; break;

case '*' : c = a * b; break;

case '/' : c = a / b; break;

}

return c;

}

int string2int(char* p) //转换函数,把下一个数字从字符串转化为整型

{

int a = 0;

while(1)

{

if(*p=='+' || *p=='-' || *p=='*' || *p=='/' || *p=='\0') break;

a = a*10+((int)(*p) - 48);

//将一个表示数字的字符变为整型,再减去48,就是对应的整型数值

p++;

}

return a;

}

void main()

{

char s[100];

int n1, n2,i=0;

printf("请输入算式:");

scanf("%s", s); //目前这里只能输入正整数,不能输入负的

n1 = string2int(s); //得到左操作数

for(i=0;s[i]!='\0';i++) //循环下去,直到算式结束

{

if(s[i]=='+' || s[i]=='-' || s[i]=='*' || s[i]=='/')//如果遇到运算符就进行计算

{

n2 = string2int(s[i+1]); //得到右运算数

n1 = calculate(n1,n2,s[i]); //运算

}

}

printf("算式的答案是:%d\n", n1);

}

验证了1+2*10-10/2这个式子,结果为10。如果有疑问,还可以继续讨论。