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

发布时间:2023-01-03

本文目录一览:

  1. 求几个C语言小程序。。
  2. 用c语言编写小程序
  3. 有什么好玩的C语言小程序
  4. 用C语言写一个小程序,麻烦大家了
  5. C语言小程序

求几个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==b&&b!=c)||(a==c&&c!=b)||(b==c&&a!=c))
        printf("是等腰直角三角形.\n");
    else 
        printf("是直角三角形\n");
}
else if(a==b&&b==c)
    printf("是等边三角形.\n");
else if(a==c||b==c||a==b)
    printf("是等腰三角形.\n");
else 
    printf("是一般三角形.\n");
  1. 这个程序其实也不难,我也只写主体部分,其余部分楼主自己写下。
int i,sign=1;double s=0;
for(i=1;i<=1000;i++)
{
    s=s+1.0*sign/i;
    sign=-sign;
}
  1. 这个程序我全部写下来吧,我写的是从键盘键入a,b,然后判断出a,b区间的素数,然后每行五个输出.
#include <stdio.h>
#include <math.h>
main()
{
    long i,j,a,b;
    int k,n=0;
    printf("Input a b(a<b):\n");
    scanf("%d%d",&a,&b);
    k=(int)sqrt(b);
    for(i=2;i<=k;i++)
    {
        for(j=a;j<=b;j++)
        {
            if(j%i==0)
                break;
        }
        if(j<=k)
        {
            printf("%10d",j);
            n++;
            if(n%5==0)
                printf("\n");
        }
    }
}

用c语言编写小程序

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

#include <iostream.h>
#define MaxSize 100
int data[MaxSize][MaxSize];
void func(char str[],int n)// str 是字符串,n是串长度
{
    int i,j;
    i=0;
    for(i=0;i<n;i++)
    {
        j=0;
        while(str[j]!='\0')
        {
            data[i][j]=(int)(str[(j+i)%n]-'0');
            j++;
        }
    }
}
void main()
{
    char str[]="123";
    /*也可以自己输入串并检测串长度,这只是个测试程序*/
    int n=3;
    func(str,3);
    for(int i=0;i<n;i++)
    {
        int j=0;
        while(j!=n)
        {
            cout<<data[i][j]<<' ';
            j++;
        }
        cout<<endl;
    }
}

有什么好玩的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;i<W-2;i+=2) {gtxy(zlx+i,zly); printf("═"); } //打印上横框
    for(i=2;i<W-2;i+=2) {gtxy(zlx+i,zly+H-1); printf("═"); } //打印下横框
    for(i=1;i<H-1;i++) { gtxy(zlx,zly+i); printf("║"); } //打印左竖框
    for(i=1;i<H-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;i<H-2;i++)
        for(j=0;j<W-4;j++)
        {
            gtxy(zlx+2+j,zly+1+i);
            printf(" ");
        }
}
void feiji() //飞机移动函数
{
    int i,j;
    for(i=21;i>=0;i--) //从底行往上是为了避免敌机直接冲出数组
        for(j=0;j<22;j++)
        {
            if(i==21 && jiem[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]==3 && jiem[21][wj]==1)
        death++;
}
void zidan() //子弹移动函数
{
    int i,j;
    for(i=0;i<22;i++)
        for(j=0;j<22;j++)
        {
            if(i==0 && jiem[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;i<22;i++)
        for(j=0;j<22;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;i<22;i++)
        for(int j=0;j<22;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(wj>0) jiem[21][wj]=0,jiem[21][--wj]=1; break;
                case 77: if(wj<20) 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。如果有疑问,还可以继续讨论。