c语言实例设计,c语言开发实例大全

发布时间:2022-11-23

本文目录一览:

  1. c语言程序设计实例(关于成绩输入问题)
  2. 经典C语言程序例子
  3. C语言简单例子
  4. c语言程序设计实例

c语言程序设计实例(关于成绩输入问题)

同学你好! 这是我自己写的,肯定不是最好的,但是已经能够满足你的要求了,后面附有注释,若有不懂的话请留言。

#include<stdio.h>
#include<stdlib.h>
#define N 1024
typedef struct node
{
    int sno;/*这里分别是学号(便于最后列表时统计),四门课的分数,总分,平均分*/
    int course1;
    int course2;
    int course3;
    int course4;
    int aver;
}student;
void main()
{
    int i,j,number;
    int total1,total2,total3,total4;
    total1=total2=total3=total4=0;/*total指的是四门课程的平均分*/
    student st[N],temp;
    printf("Please input the student's number:");/*确定学生人数*/
    scanf("%d",&number);
    if(number>1024)
    {
        printf("The number is too large!\n");
        exit(0);
    }
    for(i=0;i<number;i++)/*进行成绩输入*/
    {
        printf("Please input the %dth student's sno:",i+1);
        scanf("%d",&st[i].sno);
        printf("Please input the %d's student's course1:",st[i].sno);
        scanf("%d",&st[i].course1);
        printf("Please input the %d's student's course2:",st[i].sno);
        scanf("%d",&st[i].course2);
        printf("Please input the %d's student's course3:",st[i].sno);
        scanf("%d",&st[i].course3);
        printf("Please input the %d's student's course4:",st[i].sno);
        scanf("%d",&st[i].course4);
        st[i].aver=(st[i].course1+st[i].course2+st[i].course3+st[i].course4)/4;
    }
    for(i=0;i<number;i++)/*输出每个学生的平均分*/
        printf("The %d's student's aver-score is:%d\n",st[i].sno,st[i].aver);
    for(i=0;i<number;i++)/*输出每科目平均分*/
    {
        total1+=st[i].course1;
        total2+=st[i].course2;
        total3+=st[i].course3;
        total4+=st[i].course4;
    }
    total1/=number;
    total2/=number;
    total3/=number;
    total4/=number;
    printf("The averscore of course1 is:%d\n",total1);
    printf("The averscore of course2 is:%d\n",total2);
    printf("The averscore of course3 is:%d\n",total3);
    printf("The averscore of course4 is:%d\n",total4);
    for(i=0;i<number-1;i++)/*进行冒泡排序*/
        for(j=i+1;j<number;j++)
            if(st[i].aver<st[j].aver)
            {
                temp=st[i];
                st[i]=st[j];
                st[j]=temp;
            }
    printf("The list of the student's course:\n");
    printf("==========\n");/*列表公布成绩*/
    for(i=0;i<number;i++)
    {
        printf("%d.",i+1);
        printf("%dth student:%d\n",st[i].sno,st[i].aver);
    }
}

上级运行成功,希望对你有所帮助! 祝你的成绩步步高升!

经典C语言程序例子

题目01:在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,空格用来分隔不同的单词。 直接编译,程序执行结果如下图所示: 题目02:编写一个int string_len(char *s),返回字符串s的字符长度(不包括\0)。 直接编译,程序执行结果如下图所示: 扩展资料: C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。 尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

C语言简单例子

  1. c语言是面向过程的语言,可以理解为一个函数调用另一个函数的语言,其中程序的入口是main函数
  2. 示例
#include<stdio.h> //包含要用到的函数的头文件,如printf
int max(int a, int b);//函数声明
int main(){//程序入口函数
    int a = 12, b = 9;
    int m = max(a, b);//函数调用
    printf("max=%d\n", m);
    getchar();
    return 0;
}
int max(int a, int b){//函数定义
    return a > b ? a : b;
}
  1. 运行结果

c语言程序设计实例

// 电话本Dlg.cpp : 实现文件
//
#include "stdafx.h"
#include "电话本.h"
#include "电话本Dlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// C电话本Dlg 对话框
C电话本Dlg::C电话本Dlg(CWnd* pParent /*=NULL*/)
    : CDialog(C电话本Dlg::IDD, pParent)
{
    m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void C电话本Dlg::DoDataExchange(CDataExchange* pDX)
{
    CDialog::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(C电话本Dlg, CDialog)
    ON_WM_PAINT()
    ON_WM_QUERYDRAGICON()
    //}}AFX_MSG_MAP
    ON_EN_CHANGE(IDC_EDIT1, C电话本Dlg::OnName)
    ON_EN_CHANGE(IDC_EDIT2, C电话本Dlg::OnPhoto)
    ON_EN_CHANGE(IDC_EDIT3, C电话本Dlg::OnAddress)
    ON_EN_CHANGE(IDC_EDIT4, C电话本Dlg::OnShow)
    ON_BN_CLICKED(IDC_BUTTON1, C电话本Dlg::OnFill)
    ON_BN_CLICKED(IDC_BUTTON2, C电话本Dlg::OnInsert)
    ON_BN_CLICKED(IDC_BUTTON3, C电话本Dlg::OnFind)
    ON_BN_CLICKED(IDC_BUTTON4, C电话本Dlg::OnDelete)
    ON_BN_CLICKED(IDC_BUTTON5, C电话本Dlg::OnEdit)
    ON_BN_CLICKED(IDC_BUTTON7, C电话本Dlg::OnSave)
END_MESSAGE_MAP()
// C电话本Dlg 消息处理程序
BOOL C电话本Dlg::OnInitDialog()
{
    CDialog::OnInitDialog();
    // 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
    // 执行此操作
    SetIcon(m_hIcon, TRUE);  // 设置大图标
    SetIcon(m_hIcon, FALSE); // 设置小图标
    // TODO: 在此添加额外的初始化代码
    ifstream InFile("Wab.fsd",ios::in);
    list<WabList>::iterator ItWab;
    char Tmp1[8],Tmp2[16],Tmp3[32];
    Wab.clear();
    while(InFile >> Tmp1 >> Tmp2 >> Tmp3)
    {
        OutWab.Name=Tmp1;
        OutWab.Photo=Tmp2;
        OutWab.Address=Tmp3;
        Wab.push_front(OutWab);
    }
    C电话本Dlg::OnFill();
    return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE
}
// 如果向对话框添加最小化按钮,则需要下面的代码
// 来绘制该图标。对于使用文档/视图模型的 MFC 应用程序,
// 这将由框架自动完成。
void C电话本Dlg::OnPaint()
{
    if (IsIconic())
    {
        CPaintDC dc(this); // 用于绘制的设备上下文
        SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
        // 使图标在工作矩形中居中
        int cxIcon = GetSystemMetrics(SM_CXICON);
        int cyIcon = GetSystemMetrics(SM_CYICON);
        CRect rect;
        GetClientRect(&rect);
        int x = (rect.Width() - cxIcon + 1) / 2;
        int y = (rect.Height() - cyIcon + 1) / 2;
        // 绘制图标
        dc.DrawIcon(x, y, m_hIcon);
    }
    else
    {
        CDialog::OnPaint();
    }
}
//当用户拖动最小化窗口时系统调用此函数取得光标显示。
HCURSOR C电话本Dlg::OnQueryDragIcon()
{
    return static_cast<HCURSOR>(m_hIcon);
}
void C电话本Dlg::OnName()
{
    CEdit *pMaxLen=(CEdit*)GetDlgItem(IDC_EDIT1);
    pMaxLen->SetLimitText(6);
    GetDlgItemText(IDC_EDIT1,InWab.Name);
}
void C电话本Dlg::OnPhoto()
{
    CEdit *pMaxLen=(CEdit*)GetDlgItem(IDC_EDIT2);
    pMaxLen->SetLimitText(11);
    GetDlgItemText(IDC_EDIT2,InWab.Photo);
}
void C电话本Dlg::OnAddress()
{
    CEdit *pMaxLen=(CEdit*)GetDlgItem(IDC_EDIT3);
    pMaxLen->SetLimitText(30);
    GetDlgItemText(IDC_EDIT3,InWab.Address);
}
void C电话本Dlg::OnShow()
{
    // TODO: 如果该控件是 RICHEDIT 控件,则它将不会
    // 发送该通知,除非重写 CDialog::OnInitDialog()
    // 函数并调用 CRichEditCtrl().SetEventMask(),
    // 同时将 ENM_CHANGE 标志“或”运算到掩码中。
    // TODO: 在此添加控件通知处理程序代码
}
void C电话本Dlg::OnFill()
{
    CString OutAll,OutTemp,Space,Enter;
    Space=_T(" ");
    Enter=_T("\r\n");
    list<WabList>::iterator ItWab;
    for(ItWab=Wab.begin();ItWab!=Wab.end();ItWab++)
    {
        OutWab=*ItWab;
        OutTemp=OutWab.Name + Space + OutWab.Photo + Space + OutWab.Address;
        OutAll=OutAll + OutTemp + Enter;
    }
    SetDlgItemText(IDC_EDIT4,OutAll);
}
void C电话本Dlg::OnInsert()
{
    Wab.push_front(InWab);
    C电话本Dlg::OnFill();
}
void C电话本Dlg::OnFind()
{
    CString OutAll,OutTemp,Space,Enter;
    Space=_T(" ");
    Enter=_T("\r\n");
    list<WabList>::iterator ItWab;
    for(ItWab=Wab.begin();ItWab!=Wab.end();ItWab++)
    {
        if(ItWab->Name==InWab.Name)
        {
            OutTemp=ItWab->Name + Space + ItWab->Photo + Space + ItWab->Address;
            OutAll=OutAll + OutTemp + Enter;
        }
    }
    SetDlgItemText(IDC_EDIT4,OutAll);
}
void C电话本Dlg::OnDelete()
{
    CString OutAll,OutTemp,Space,Enter;
    Space=_T(" ");
    Enter=_T("\r\n");
    list<WabList>::iterator ItWab;
    for(ItWab=Wab.begin();ItWab!=Wab.end();ItWab++)
    {
        if(ItWab->Name==InWab.Name)
        {
            OutTemp=ItWab->Name + Space + ItWab->Photo + Space + ItWab->Address;
            OutAll=OutAll + OutTemp + Enter;
            break;
        }
    }
    SetDlgItemText(IDC_EDIT4,OutAll);
    if(ItWab!=Wab.end()) Wab.erase(ItWab);
}
void C电话本Dlg::OnEdit()
{
    CString OutAll,OutTemp,Space,Enter;
    Space=_T(" ");
    Enter=_T("\r\n");
    list<WabList>::iterator ItWab;
    for(ItWab=Wab.begin();ItWab!=Wab.end();ItWab++)
    {
        if(ItWab->Name==InWab.Name)
        {
            OutTemp=ItWab->Name + Space + ItWab->Photo + Space + ItWab->Address;
            OutAll=OutAll + OutTemp + Enter;
            break;
        }
    }
    SetDlgItemText(IDC_EDIT4,OutAll);
    if(ItWab!=Wab.end())
    {
        Wab.erase(ItWab);
        Wab.push_front(InWab);
    }
}
void C电话本Dlg::OnSave()
{
    CString Tmp1,Tmp2,Tmp3;
    ofstream OutFile("Wab.fsd",ios::out);
    list<WabList>::iterator ItWab;
    for(ItWab=Wab.begin();ItWab!=Wab.end();ItWab++)
    {
        Tmp1=ItWab->Name;
        Tmp2=ItWab->Photo;
        Tmp3=ItWab->Address;
        OutFile << Tmp1 << ' ' << Tmp2 << ' ' << Tmp3 << endl;
    }
}

只是个用C语言编写的电话本程序 很有实用意义