您的位置:

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

本文目录一览:

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

同学你好!

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

#includestdio.h

#includestdlib.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(number1024)

{

printf("The

number

is

too

large!\n");

exit(0);

}

for(i=0;inumber;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;inumber;i++)/*输出每个学生的平均分*/

printf("The

%d's

student's

aver-score

is:%d\n",st[i].sno,st[i].aver);

for(i=0;inumber;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;inumber-1;i++)/*进行冒泡排序*/

for(j=i+1;jnumber;j++)

if(st[i].averst[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;inumber;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 示例

#includestdio.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;

}

3 运行结果

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);

listWabList::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_castWPARAM(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_castHCURSOR(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);

listWabList::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);

listWabList::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);

listWabList::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);

listWabList::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);

listWabList::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语言编写的电话本程序 很有实用意义