)。直接编"og:type" content="webpage">)。直接编" /> )。直接编"> 经典C语言程序例子_软件运维_内存溢出

阅读 3

经典C语言程序例子,第1张

题目01:在一个已知的字符串中查找最长单词,假定字符串中只含字母和空格,空格用来分隔不同的单词。

直接编译,程序执行结果如下图所示:

题目02:编写一个int string_len(char *s),返回字符串s的字符长度(不包括\0)。

直接编译,程序执行结果如下图所示:

扩展资料:

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

#include<stdio.h>

#include<string.h>

struct student

{

int id //学号 char name[10]//姓名

int brithday

char sub[10]

int banji

char adress[20]

int dom

}stud[3]

void save()

{

FILE *p

int i

if((p=fopen("aa","wb"))==NULL)

{

printf("cannot open file")

return

}

for(i=0i<3i++)

if(fwrite(&stud[i],sizeof(struct student),1,p)!=1)

printf("file write error\n")

fclose(p)

}

void message()//输学生的基本信息

{

int i

for(i=0i<=2i++) { printf("请输入

第%d位学生的信息,",i+1)

printf("请输入学号:")

scanf("%d",&stud[i].id)

printf("姓名:")

scanf("%s",stud[i].name)

printf("请输入生日:")

scanf("%d",&stud[i].brithday)

printf("请输入专业:")

scanf("%s",stud[i].sub)

printf("请输入班级:")

scanf("%d",&stud[i].banji)

printf("请输入地址:")

scanf("%s",stud[i].adress)

printf("请输入寝室号:")

scanf("%d",&stud[i].dom)

}

}

void main()

{

message()

save()

int i,t=0,m=0,j=0

FILE *p

if((

p=fopen("aa","rb"))==NULL)

{

printf("cannot open file\n")

return

}

printf("*******************************************************\n")

for(i=0i<=2i++)

{fread(&stud[i],sizeof(struct student),1,p)}

printf("请输入要查询的姓名:")

char a[10]

scanf("%s",&a)

for(i=0i<3i++)

if(strcmp(stud[i].name,a)==0)

printf("姓名%s、学号%d、出生年月%d、专业%s、班级%d、家庭地址%s、宿舍号码%d\n",stud[i].name,stud[i].id,stud[i].brithday,stud[i].sub,stud[i].banji,stud[i].adress,stud[i].dom)

}

第一题:

#include <iostream>

using namespace std

void main()

{ int i, j, k, count=0

for( i=1i<=9i++)

for( j=0j<=9j++)

if ( i==j )

continue

else

for( k=0k<=9k++)

if ( k!=i&&k!=j)

{count++

cout<<i<<j<<k<<ends

}

cout<<endl

cout<<"所有这样的三位数个数有:"<<count<<" 个"<<endl

}

第二题

#include <iostream>

using namespace std

int fun(char*s,int n)

{

int flag=1

for(int i=0i<ni++)//比较前n个字符是否为*

if(s[i]!='*')

{

flag=0

break

}

if(flag==0)

return 0

else

{

int k=n

while(s[k]!='\0')//移动到非*字符

{

if(s[k]=='*')

k++

else

break

}

int j=0

while(s[k]!='\0')//向前复制

{

s[n+j]=s[k]

k++

j++

}

s[n+j]='\0'

}

return 1

}

void main()

{

static char str[15]

int m

cout<<"请输入一个只含*和字母的字符串:"<<endl

cin>>str

cout<<"请输入n值:"<<endl

cin>>m

fun(str,m)

cout<<str<<endl

}

第三题

#include "iostream"

#include "string"

#include "list"

#include "cassert"

using namespace std

/*

编号、姓名、部门、应付工资、保险、税金、实付工资。

其中实付工资由公式计算得到:实付工资=应付工资 - 保险- 税金

*/

struct employee{

string m_num//编号

string m_name//姓名

string m_dep//部门

double m_salary//应付工资

double m_insurance//保险

double m_tax//税金

}

/*

(1)录入:输入职工数据,其中“实付工资”通过计算得到;

(2)删除:删除指定的职工信息(输入姓名,若找到则删除该信息)

(3) 修改:允许对已经录入的数据重新进行编辑、修改;

(4) 显示:显示全体职工数据;

(5)查询:

a. 输入职工姓名,显示该职工的全部数据;

b. 输入某部门值,显示该部门职工的数据、工资总额、平均工资。

(6) 退出程序。

*/

list<employee>emps

int main(int argc, char argv[])

{

void print(const employee &e)

void input()

void del()

void mod()

void show_all()

void show_name()

void show_dep() cout<<"请选择 *** 作:1.录入 2.删除 3.修改 4.查询 5.显示所有员工

6.退出 :"<<endl

int choose=0

cin>>choose

assert(!cin.fail())

while (choose!=6)

{

if (choose==1) input()

if (choose==2) del()

if (choose==3) mod()

if (choose==4)

{

int choice=0

cout<<"请选择 *** 作 1.按姓名查询 2.按部门查询 3.退出:"<<endl

cin>>choice

if (choice==1) show_name()

if (choice==2) show_dep()

if (choice==3)

{

cout<<"请选择 *** 作:1.录入 2.删除 3.修改 4.查询 5.显示所有员工 6.退出 :"<<endl

cin>>choose

assert(!cin.fail())

continue

}

}

if (choose==5) show_all()

cout<<"请选择 *** 作:1.录入 2.删除 3.修改 4.查询 5.显示所有员工 6.退出 :"

cin>>choose

assert(!cin.fail())

}

return 0

}

void print(const employee &e)

{

cout<<"编号:"<<e.m_num<<endl

cout<<"姓名:"<<e.m_name<<endl

cout<<"部门:"<<e.m_dep<<endl

cout<<"保险:"<<e.m_insurance<<endl

cout<<"税金:"<<e.m_tax<<endl

cout<<"应付工资:"<<e.m_salary<<endl

cout<<"实付工资:"<<e.m_salary-e.m_insurance-e.m_tax<<endl

}

void input()

{

string num,name,dep

double salary,ins,tax

cout<<"请输入员工编号:"<<endl

cin>>num

cout<<"请输入员工姓名:"<<endl

cin>>name

cout<<"请输入员工部门:"<<endl

cin>>dep

cout<<"请输入员工保险:"<<endl

cin>>ins

assert(!cin.fail())

cout<<"请输入员工税金:"<<endl

cin>>tax

assert(!cin.fail())

cout<<"请输入员工应付工资:"<<endl

cin>>salary

assert(!cin.fail())

employee temp

temp.m_dep=dep

temp.m_insurance=ins

temp.m_name=name

temp.m_num=num

temp.m_salary=salary

temp.m_tax=tax

emps.push_back(temp)

cout<<"员工录入 *** 作完毕."<<endl

}

void del()

{

if (emps.size()==0)

{

cout<<"没有员工记录."<<endl

return

}

string name

bool isfind=false

cout<<"请输入要删除的员工姓名:"<<endl

cin>>name

list<employee>::iterator iter

for (iter=emps.begin()iter!=emps.end()iter++)

{

if (iter->m_name==name)

{

isfind=true

emps.erase(iter)

cout<<"姓名为"<<name<<"的员工记录已删除."<<endl

return

}

}

if (!isfind)

{

cout<<"没有找到姓名为"<<name<<"的员工."<<endl

return

}

}

void mod()

{

if (emps.size()==0)

{

cout<<"员工记录为空."<<endl

return

}

bool isfind=false

string name

cout<<"请输入要修改的员工姓名:"<<endl

cin>>name

list<employee>::iterator iter

for (iter=emps.begin()iter!=emps.end()iter++)

{

if (iter->m_name==name)

{

isfind=true

cout<<"姓名为"<<name<<"的员工记录已找到."<<endl

break

}

}

if (isfind)

{

string num,name,dep

double tax,ins,salary

print(*iter)

cout<<endl

cout<<"请输入新的员工编号:"<<endl

cin>>num

cout<<"请输入新的员工姓名:"<<endl

cin>>name

cout<<"请输入新的员工部门:"<<endl

cin>>dep

cout<<"请输入新的员工保险:"<<endl

cin>>ins

assert(!cin.fail())

cout<<"请输入新的员工税金:"<<endl

cin>>tax

assert(!cin.fail())

cout<<"请输入新的员工工资:"<<endl

cin>>salary

assert(!cin.fail())

iter->m_dep=dep

iter->m_insurance=ins

iter->m_name=name

iter->m_num=num

iter->m_salary=salary

iter->m_tax=tax

cout<<"1 员工记录被成功修改."<<endl

}

else

{

cout<<"没有找到姓名为"<<name<<"的员工记录."<<endl

}

}

void show_all()

{

if (emps.size()==0)

{

cout<<"员工记录为空."<<endl

return

}

cout<<"显示全体员工数据:"<<endl

cout<<"--------------------"<<endl

list<employee>::iterator iter

for(iter=emps.begin()iter!=emps.end()iter++)

{

cout<<endl

print(*iter)

cout<<endl

}

cout<<"--------------------"<<endl

}

void show_name()

{

if (emps.size()==0)

{

cout<<"员工记录为空."<<endl

return

}

bool isfind=false

string name

cout<<"请输入要查询的员工姓名:"<<endl

cin>>name

list<employee>::iterator iter

for(iter=emps.begin()iter!=emps.end()iter++)

{

if (iter->m_name==name)

{

isfind=true

cout<<"姓名为"<<name<<"的员工记录已找到."<<endl

print(*iter)

break

}

}

if (!isfind)

{

cout<<"没有找到姓名为"<<name<<"的员工."<<endl

return

}

}

void show_dep()

{

if (emps.size()==0)

{

cout<<"员工记录为空."<<endl

return

}

double isfind=0.00

double total_salary=0.00

string dep

cout<<"请输入要查询的部门名称:"<<endl

cin>>dep

cout<<"部门["<<dep<<"]的员工信息:"<<endl

cout<<"--------------------"<<endl

list<employee>::iterator iter

for(iter=emps.begin()iter!=emps.end()iter++)

{

if (iter->m_dep==dep)

{

isfind++

total_salary+=iter->m_salary

print(*iter)

cout<<endl

continue

}

}

cout<<"--------------------"<<endl

if (isfind==0)

{

cout<<"没有找到名称为["<<dep<<"]的部门."<<endl

}

else

{

cout<<"部门["<<dep<<"]工资统计:"<<endl

cout<<"工资总额:"<<total_salary<<endl

cout<<"平均工资:"<<total_salary/isfind<<endl

}

}


好了 我都运行过的

欢迎分享,转载请注明来源:

内存溢出

原文地址:

http://outofmemory.cn/yw/11095286.html
部门
(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
皮肤衣 皮肤衣 一级用户组
spark远程debug之调试spark on yarn 程序
上一篇
2023-05-13
怎么向arm9开发板下载程序
2023-05-13

发表评论
请登录后评论... 登录
提交

    评论列表(0条)
保存
{label} {label}