C语言实训作业

合集下载

C语言实训作业(含教务处管理系统)

C语言实训作业(含教务处管理系统)

{
int i,j;
float sum[3],max,avg;
struct student stud[3];
printf("input 3 student message\n");
10、打印 100 之内的自然数。
#include "stdio.h" #include "conio.h" #define n 100
main() { int i; for(i=0;i<n;i++) {
printf("%d\t",i); } getch(); }
11、任意输入 10 个数据,对其进行排序。 #include "stdio.h" #include "conio.h"
for(j=0;j<n;j++) { scanf("%d",&a[i][j]);
sum+=a[i][j]; } } printf("%d\n",sum); getch(); }
15、编程实现利用指针实现数组元素的输出。
#include "stdio.h" #include "conio.h"
main() { int a[3]={1,2,3}; int *pt; int i; pt=&a;
}
12、某学习小组有 4 名同学,学习了 5 门课程,编程求出最高分和最低分及其对应的行号和
列号。
#include "stdio.h" #include "conio.h"
main() { int a[4][5]; int i,j,min,max,m=0,n=0,c,d; printf("input the four student score\n"); for(i=0;i<4;i++) {

C语言实训题及参考答案

C语言实训题及参考答案

C语言实训题及参考答案第一题:编写一个程序,将输入的两个整数进行加法运算,并输出结果。

参考答案:```c#include <stdio.h>int main() {int num1, num2, result;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);result = num1 + num2;printf("加法结果:%d", result);return 0;}```第二题:编写一个程序,判断输入的整数是否为偶数,并输出“是”或“否”。

参考答案:```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("是");} else {printf("否");}return 0;}```第三题:编写一个程序,计算输入字符串的长度,并输出结果。

参考答案:```c#include <stdio.h>#include <string.h>int main() {char str[100];int length;printf("请输入一个字符串:");scanf("%s", str);length = strlen(str);printf("字符串长度:%d", length);return 0;}```第四题:编写一个程序,将输入的字符串反转,并输出结果。

参考答案:```c#include <stdio.h>#include <string.h>int main() {char str[100];int i, length;printf("请输入一个字符串:");scanf("%s", str);length = strlen(str);for (i = length - 1; i >= 0; i--) {printf("%c", str[i]);}return 0;}```第五题:编写一个程序,将输入的数组元素按从小到大的顺序排序,并输出结果。

c语言实验作业(截屏)

c语言实验作业(截屏)

数组与函数一.实验目的1.掌握一维数组和二维数组的定义、赋值和输入输出方法。

2.掌握与数组有关的算法。

3.掌握字符数组和字符串函数的使用方法。

4.能正确定义数组的指针,熟练使用指针访问数组元素。

5.学会使用字符串的指针和指向字符串的指针变量。

6.学会使用指针数组处理多个字符串数据。

7.了解函数的基本结构。

8.理解函数参数传递的机制,理解过程程序设计思想。

9. 理解函数调用的过程。

10. 理解函数的嵌套调用和递归调用。

11.了解局部变量和全局变量的作用范围。

二.实验内容:6—2:<1>.编程求出一维数组其中最小元素的值,以及它所在的下标号。

该程序的变量说明和输出语句如下所示,根据所描述的步骤,补充完成该程序。

#include "stdio.h"main(){int i,index=0,MIN,a[10]; for(i=0;i<10;i++)scanf("%d",&a[i]);MIN=a[0];for(i=1;i<10;i++)if(MIN>a[i]){MIN=a[i];index=i;}printf("MIN=%d,index=%d\n",MIN,i ndex);}<2>.模仿第二题对一个三行四列的矩阵,求出其中最大的那个元素值以及他所在的行号和列号,补充完成下面的程序。

#include "stdio.h"main(){inti,j,row,colum,a[3][4],max;for(i=0;i<3;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]);max=a[0][0],row=0,colum=0;for(i=0;i<3;i++)for(j=0;j<4;j++)if(max<a[i][j]){max=a[i][j];row=i;colum=j;}printf("MAX=%d,row=%d,colum=% d\n",max,row,colum);}4.有下面一个矩阵: 10 -1 9 811 14 7 23 4 6 194 2 7 13编写程序,分别求出矩阵的主次对角线之和,周边元素之和,主对角线及下方之和。

(完整word版)单片机C语言程序设计实训100例

(完整word版)单片机C语言程序设计实训100例

《单片机C语言程序设计实训100例—基于8051+Proteus仿真》案例第 01 篇基础程序设计01 闪烁的LED/*名称:闪烁的LED说明:LED按设定的时间间隔闪烁*/#include<reg51.h〉#define uchar unsigned char#define uint unsigned intsbit LED=P1^0;//延时void DelayMS(uint x){uchar i;while(x-—){for(i=0;i〈120;i++);}}//主程序void main(){while(1){LED=~LED;DelayMS(150);}}02 从左到右的流水灯/* 名称:从左到右的流水灯说明:接在P0口的8个LED从左到右循环依次点亮,产生走马灯效果*/#include〈reg51。

h〉#include<intrins。

h>#define uchar unsigned char #define uint unsigned int//延时void DelayMS(uint x){uchar i;while(x—-){for(i=0;i〈120;i++);}}//主程序void main(){P0=0xfe;while(1){P0=_crol_(P0,1); //P0的值向左循环移动DelayMS(150);}}03 8只LED左右来回点亮/*名称:8只LED左右来回点亮说明:程序利用循环移位函数_crol_和_cror_形成来回滚动的效果*/#include<reg51.h>#include〈intrins.h>#define uchar unsigned char #define uint unsigned int//延时void DelayMS(uint x){uchar i;while(x——){for(i=0;i〈120;i++);}}//主程序void main(){uchar i;P2=0x01;while(1){for(i=0;i〈7;i++){P2=_crol_(P2,1); //P2的值向左循环移动DelayMS(150);}for(i=0;i<7;i++){P2=_cror_(P2,1); //P2的值向右循环移动DelayMS(150);}}}04 花样流水灯/* 名称:花样流水灯说明:16只LED分两组按预设的多种花样变换显示*/#include<reg51。

C语言实训题目

C语言实训题目

C语言实训题目
以下是几个C语言实训题目:
1. 编写一个C程序,使用for循环计算所有100以内的奇数的和。

2. 编写一个C程序,读取用户输入的两个数字,计算它们的和、差、积和商,并输出结果。

3. 编写一个C程序,使用while循环读取用户输入的数字,直到用户输入0为止,并计算输入数字之和,最后输出结果。

4. 编写一个C程序,读取用户输入的一段英文文字,将其中的每个单词首字母大写,并输出结果。

5. 编写一个C程序,使用指针实现一个简单的链表,完成添加节点、删除节点、搜索节点等基本操作。

6. 编写一个C程序,实现一个简单的计算器,支持加、减、乘、除等基本运算。

7. 编写一个C程序,读取用户输入的一段文章,统计其中每个字母出现的次数,并按照字母表顺序输出。

8. 编写一个C程序,实现一个简单的学生信息管理系统,包括添加、修改、查询、删除等功能。

9. 编写一个C程序,读取用户输入的一个整数N,使用递归实现N 的阶乘计算,并输出结果。

10. 编写一个C程序,使用函数指针实现菜单式交互,用户可以通过输入数字选择想要执行的操作,例如计算器、学生信息管理系统等。

C语言实验作业1-7

C语言实验作业1-7

printf("请输入日期(用空格分隔年月日):\n");
scanf("%d%d%d",&year,&month,&day);
if(year%400==0||((year%4==0)&&(year%100!=0)))
{a[1]=29;}
for(i=0;i<month-1;i++)
scanf("%f%f%f%f%f",&r1,&r2,&r3,&r4,&r5);
z1=((r4+r5)*r3)/(r3+r4+r5);
z2=((z1+r2)*r1)/(z1+r1+r2);
printf("总电阻=%5.2f欧姆\n",z2);
}
4
#include<stdio.h>
int Count(int avg, int n, int s[]);
int a[30];
int i;
for(i=0;;i++)
{
printf("请输入一组整数:\n");
int n=input(a);
printf("%d %d %d\n",n,aver,co);
}
}
return 0;
}
//输入数据
int input(int s[])
{
int i=0;
for(i=0;;i++)
int numbers2;
int i;

C语言综合实践参考题1

综合实践作业题目11.数学计算函数集成。

功能要求:各计算功能单独编写成函数,在主函数中通过选项菜单调用函数。

可以返复运行,当输入0时退出。

(1)选项菜单集成各个计算功能函数(2)求任意数的阶乘积、累加和。

(3)求任意正整数的N次方。

(4)求任意两个整数的最大公约数和最小公倍数(5)判断任意数是否是素数(6)输出菲波拉契数列的前N项(7)…2.C语言练习函数调用演示。

功能要求:各练习函数单独编写成函数,在主函数中通过选项菜单调用各函数。

可以返复运行,当输入0时退出。

(1)主函数有菜单选择功能。

(2)温度转换函数(3)水仙花数。

(4)求最大数(5)冒泡法排序(6)乘法表(7)打印菱形(8)…3、求多种几何图形及几何体的面积或体积。

功能要求:求各几何图形的面积或体积单独编写成函数(边长或半径从键盘输入),在主函数中通过选项菜单调用各函数。

可以返复运行,当输入0时退出。

(1)求扇形面积及周长。

(2)求正5边型面积及周长。

(3)求正6边型面积及周长。

(4)求球冠表面积及体积。

(5)求正4面体的表面积及体积。

(6)求正圆面积及周长。

(7)…(计算公式可查数学手册)4、成绩管理习题设计编写程序处理若干个学生的信息,每个学生的信息包括:学号、姓名、三门成绩及平均分。

要求从键盘输入的学生数据用一个函数实现,并存入文件,用一个函数打开此文件后,求出各位同学的平均分,输出函数可以输出所有同学的成绩表(包括每个学生的学号、姓名、三门成绩及平均分数)也可以输出平均分在前3名的学生姓名及平均分。

主函数可以方便地调用以上函数。

5、职工信息管理系统设计职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。

试设计一职工信息管理系统,使之能提供以下功能:系统以菜单方式工作职工信息录入功能(职工信息用文件保存)--输入职工信息浏览功能--输出查询和排序功能:(至少一种查询方式)l 按工资查询2 按学历查询等6、Bank Card(银行卡系统)1)Card Management Module(卡管理)Application for a card(卡申请)Entry(登录)Change Code(修改密码)2)Saving and Drawing Management Module(存取管理)Saving(存款)Drawing(取款)3)Inquire Module(查询)Balance Inquire (余额查询)6、Library Management(图书馆管理)1) Card Management Module(借书证管理)Application for a card(借书证办理)2) Borrowing Management Module(借阅管理)3)Returning Management Module(还书管理)4)Inquire Module(查询)根据书号查询。

C语言实训练习题

C语言实训练习题项目1:输入三角形边长,求面积。

设三角形的三个边分别为a、b、c,周长一半为s,面积为area,则s=1/2*(a+b+c), area=sqrt(s*(s-a)*(s-b)*(s-c))。

项目2:从键盘输入大写字母,用小写字母输出项目3:输入一个三位整数,依次输出该数的正(负)号和百位、十位、个位数字。

项目4:输入两个整数a、b,将它们交换,例如a为3,b为5,交换后a为5,b为3。

项目5:输入一个华氏温度,输出对应的摄氏温度。

输出取1位小数。

转换公式为c=5/9*(f-32)项目6:鸡兔同笼问题。

已知鸡兔总头数为H,总脚数为F,求鸡兔各有多少只?分析:依题意设鸡有x只,兔有y只。

项目1:根据圆柱体的半径和高,计算圆周长、圆面积、圆柱体表面积、圆柱体体积。

项目2:从键盘输入两个整数a和b,如果a大于b则交换两数,否则不交换,最后输出两个数。

项目3:将任意三个整数按从大到小的顺序输出。

项目4:给一个不多于4位的正整数,求出它是几位数,逆序打印出各位数字。

项目5:求分段函数的值,如果x≥0, y=2x+1,否则, y=0 。

项目6:模拟自动饮料机。

按屏幕所示功能,输入所选择的合法数字,输出可获得的相应饮料名称。

运行效果:=============自动饮料机============== 1.可口可乐 2.雪碧 3.芬达 4.百事可乐5.非常可乐请按1-5按钮选择饮料:3 你获得一听芬达项目7:当企业利润P等于或低于0.5万元时,奖金为利润的1%;当0.5<P≤1万元时,超过0.5万元部分的奖金为利润的1.5%,0.5万元以下仍按1%计算;当1<P≤2万元时,1万元以下部分仍按前面的方法计算,超过1万元的部分其奖金按利润的2%计算;当2<P≤5万元时,2万元以下部分仍按前面的方法计算,超过2万元部分的奖金按利润的2.5%计算;当5<P≤10万元时,5万元以下部分仍按前面的方法计算,超过5万元部分的奖金按利润的3%计算;当P>10万元时,10万元以下部分仍按前面的方法计算,超过10万元部分按3.5%计算。

C语言实习作业1-推荐下载


ii+1
a[j]与 a[j+1]互换
算结果法及运行: /* 课题一 01 */
#include "stdio.h"
void sort(int a[10])
{
int i,j,t;
for(i=1;i<=9;i++)
}
for(j=0;j<=10-i-1;j++)
main()
{
if(a[j]<a[j+1])
/* 课题一 02 */ #include "stdio.h" void sort(int a[10],int n) { int i,j,t; for(i=1;i<=n;i++)
for(j=0;j<=n-i-1;j++) if(a[j]<a[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; }
三、实习内容与步骤 1.在函数中进行 10 个学生成绩从高到低排名 sort(int a[10]) 2.改进第一步的函数为 sort(int a[],int n),进行 n 个学生成绩从高到低排名, 3.改进第二步的函数为 sort(int a[],int n, char style), 将 n 个学生成绩从高到低 排名,排名方式根据 sort()函数的 style 参数进行,如 style 为‘a’按升序排,style 为’d’按降序排。(a:ascending 升,d:descending 降)
课题一:根据条件进行学生成绩排名
一、目的 1 1.熟悉变量、数组定义、使用、输入、输出等基本操作 2.进行选择、循环结构程序设计练习 3.掌握冒泡法排序的算法 4.掌握函数的定义、调用、声明,以及参数的两种传递方式

C 语言实训作业

加法成绩: 5 / 折扣: 0.8Description请输入两个整数a 和b ,计算a+b ,并将计算得到的两个整数的和输出。

Input两个整数 a 和bOutput 一个整数a+bSample Input 1 2Sample Output 3 Hint在我们的在线教学平台中要求主函数的返回类型必须是整形,即必须是 int main() 下面是这道题目的源程序int main() { inta,b;scanf("%d%d",&a, &b); printf("%d\n",a+b); return 0; }计算2×4×6×…×10,并将得到的积输出。

Input无Output连乘积的值Hint可以修改下面程序得到:#include <stdio.h>int main(){inti,t ;t=1;i=2;while(i<=5){t=t*i;i=i+1;}printf ( "%d\n",t );return 0;}圆柱体计算成绩: 5 / 折扣: 0.8输入圆柱体的底面直径和高,编程计算该圆柱体底面圆的周长、圆的面积,以及圆柱体的体积(PI 值为 3.14, 要求输入数据用空格分隔,输出数据保留小数点后两位,且输出出格式严格遵守sample Output中各处的格式)。

Input输入为两个float型的数据,用空格分隔Output输出分三行,均为float型数据,且小数点后保留两位,每行中文按照sample output中给出Sample Input10 10Sample Output周长为:31.40面积为:78.50体积为:785.00交换两个变量的值成绩: 5 / 折扣: 0.8Description由键盘输入两个整数给变量x和y,输出x和y的值,然后交换x和y的值后再输出x和y的值( 要求输入数据用空格分隔,输出格式严格遵守sample Output中各处的格式)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《C语言通识教育》实训指导书
(实训课)
(2学时)
指导教师:何天成
2016 年月日
前言
C 语言是现代最流行的通用程序设计语言之一,它既具有高级程序设计语言的优点,又具有低级程序设计语言的特点,既可以用来编写系统程序,又可以用来编写应用程序。

因此,C 语言正在被迅速地推广和普及。

上机实验是该课程教学的一个重要环节,因此要求学生做一定数量的上机实验。

本指导书可增强同学上机实验的针对性。

整个教学和实验中,采用VC++ 作为实验环境,强调学生切实培养动手实践能力,掌握调试程序的方法,通过调试理解C语言程序运行的过程以及C 语言的语法规则,为后续的课程设计,计算机等级考试及其他应用做好充分的准备。

本实验指导书通过大量的实例,循序渐进地引导学生做好各章的实验。

共计约14次实训课,其中每一讲内容分1、2两次上课。

每个实验内容结构如下:
(1)实验学时
(2)实验目的
(2)预习要求
(4)实验内容
(5)实验注意事项
(6)思考题
其中思考题属于扩展应用部分,学生可以根据自己的学习情况选择完成。

在实验之前,要求学生对实验作好预习工作。

在实验中,学生根据实验指导中的内容进行验证与总结,然后再去完成实验内容中安排的任务。

一般要求准备好相关代码,实验课中最好以调试和讨论为主。

实验结束后,应及时先以电子版的形式填写实验报告,然后再以A4纸打印。

第3次实训课上交前2次实训报告,要求源程序要以标准格式打印实验报告上都必须粘贴上每个程序的运行结果截图,并在每个程序的输出截图中添加上自己的姓名/学号/专业等信息,以表示程序执行结果确是自己调试,而不是copy别人的运行结果。

通报告具体内容可根据实验内容和实验要求进行增删。

实验报告一般要求包含:
(1)实验题目
(2)设计思路或算法分析
(3)流程图
(4)程序源代码
(5)程序运行结果及分析
实训课:选择结构程序设计实训
一、实验学时
2学时
二、实验目的
(一)掌握C语言关系表达式和逻辑表达式的运算和使用;
(二)正确使用条件控制语句(if语句、switch语句)进行选择结构程序设计。

三、预习要求
(一)关系运算符和关系表达式、逻辑运算符和逻辑表达式;
(二)if语句的三种形式(单分支、双分支、多分支),以及if语句的嵌套;
(三)switch语句的形式。

四、实验内容
(一)分析下面程序,掌握关系及逻辑表达式的运算规则。

/* 关系及逻辑表达式运算规则*/
#include ""
void main( )
{ int a=3,b=5,c=8;
if(a++<3 && c--!=0) b=b+1;
printf("a=%d\tb=%d\tc=%d\n",a,b,c);
}
注意该程序中的条件判断表达式a++<3 && c--!=0是一个逻辑表达式,关系表达式a++<3的值为假,因此后一部分c--!=0就不再计算。

试比较下列各部分运行结果。

#include ""
void main( )
{ int a=3,b=5,c=8;
if(a++<3 && c--!=0) b=b+1;
printf("a=%d\tb=%d\tc=%d\n",a,b,c);
int a=3,b=5,c=8;
if(c--!=0 && a++<3) b=b+1;
printf("a=%d\tb=%d\tc=%d\n",a,b,c);
int a=3,b=5,c=8;
if(a++<3 || c--!=0) b=b+1;
printf("a=%d\tb=%d\tc=%d\n",a,b,c);
int a=3,b=5,c=8;
if(c--!=0 || a++<3) b=b+1;
printf("a=%d\tb=%d\tc=%d\n",a,b,c); }
(二)输入下面两段程序并运行,掌握case语句中break语句的作用。

1./* */ /* */
/* 不含break的switch */ /* 含break的switch */
#include "" #include ""
void main( ) void main( )
{ int a,m=0,n=0,k=0; { int a,m=0,n=0,k=0;
scanf("%d",&a); scanf("%d",&a);
switch(a) switch(a)
{ case 1: m++; { case 1: m++; break;
case 2: case 2:
case 3: n++; case 3: n++; break;
case 4: case 4:
case 5: k++; case 5: k++;
} }
printf("%d,%d,%d\n",m,n,k); printf("%d,%d,%d\n",m,n,k);
} }
分别从键盘上输入1、3、5,写出程序运行的结果。

(三)编写程序:
求ax 2+bx+c=0方程的根,a,b,c 由键盘输入,设b 2-4ac>0。

求根公式为:
令 ,
则x 1=p+q x 2=p-q
参考源程序如下:
#include<>
main()
{
float a,b,c,disc,x1,x2,p,q;
scanf(“a=%f,b=%f,c=%f”,&a,&b,&c);
disc=b*b-4*a*c;
p=-b/(2*a);
q=sqrt(disc)/(2*a);
x1=p+q;x2=p-q;
printf(“\nx1=%\nx2=%\n”,x1,x2);
} 五、实验注意事项
(一)C 程序中表示比较运算的等号用“==”表示,赋值运算符用“=”表示,不能将赋值号“=”用于比较运算。

(二)控制表达式是指任何合法的C 语言表达式(不只限于关系或逻辑表达式),只要表达式的值为“非零”,则为“真”,“零”则为“假”
a ac
b q 242-=a a
c b q 242-=
(三)在if语句的嵌套结构中,else与if的配对原则是:每个else总是与同一个程序中、在前面出现的、而且距它最近的一个尚未配对的if构成配对关系。

(四)case及后面的常量表达式,实际仅是起标号作用。

控制表达式的值与某个情况常量一旦匹配,那么,在执行下面语句的过程中,只要不遇到break语句,就一直执行下去,而不再判别是否匹配。

允许出现多个“case”与一组语句相对应的情况。

六、思考题
(一)下面程序的功能是实现表达式z=(x>=y x : y),请将程序填写完整。

/* 分支结构的程序*/
#include ""
void main( )
{ int x, y, z;
printf("Please input x,y:");
scanf("%d%d",&x,&y);
if (__x>y_) z=x; 答:如果x>y则z=x;否则z=y;
else z=y;
printf("z=%d ",z);
}
(二)下面程序的运行结果为____a=2,b=6,c=7
/* 分支结构的程序*/
#include ""
void main( )
{ int a=1,b=5,c=8;
if(a++<3 && c--!=0) b=b+1;
printf("a=%d,b=%d,c=%d \n",a,b,c);
}
(三)下面程序运行时从键盘上输入15,20,运行结果为____20_________。

/* 分支结构的程序*/
#include ""
void main( )
{ int a,b,t;
t = 0;
scanf("%d,%d",&a,&b);
if (a>b)
{ t = a ;
a =
b ;
b = t ;
}
printf("b=%d\n",b) ;
}。

相关文档
最新文档