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语言实训题及参考答案

C语言实训题及参考答案
browse() { int i,j,n; n=load(); printf_face(); for(i=0;i<n;i++) { if((i!=0)&&(i%10==0)) { printf("\n\nPass any key to continue ...."); getch(); puts("\n\n"); } printf_one(i) ; } printf("\tThere are %d record.\n",n); printf("\nPass any key to back ..."); getch(); menu(); }
printf("\t\t *** choose function ************\n\n"); printf("\t\t *** 1 Enter new data ************\n\n"); printf("\t\t *** 2 Modify data ************\n\n"); printf("\t\t *** 3 Search by people.xueli and num*****\n\n");
# include <stdio.h>
enter() { int i,n; printf("How many people(0-%d)?:",N-1); scanf("%d",&n); printf("\n Enter data now\n\n"); for(i=0;i<n;i++) { printf("\n Input %dth people record.\n",i+1); input(i); } if(i!=0)save(n); printf_back(); }

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

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语言实训练习题

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-推荐下载

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 语言实训作业

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中各处的格式)。

c语言实习作业

c语言实习作业

高级语言上机训练学院:_ 通信学院__ 班级:___通信133__姓名:___郑立鑫_____ 学号:__208130338___ 成绩:______________1、编程题:数组point中存放着9个人的成绩,调用函数fun,其函数原型为int fun(int point[],int n,int high[]);函数功能是:返回高于平均分的人数,并将高于平均分的分数放在high所指的数组中,例如,当point数组中的数据为50、60、65、70、75、80、88、90、95时,函数返回的人数应该是5,high中的数据应为75、80、88、90、95。

要求:主函数调用函数fun(point,9,high),在主函数中初始化point数组,显示point数组个数和内容、high数组元素个数和内容,并调用fprintf()函数将high数组内容存放到outfile.dat文件中。

程序代码:#include<stdio.h>int fun(int point[],int n,int high[]);/*函数声明*/void main(){int point[9]={1,2,3,4,5,6,7,8,9};int num,high[9],i;FILE *fp;fp=fopen("outfile.dat","w");printf("the data of point[]:\n");for(i=0;i<9;i++)printf("%d ",point[i]);printf("\n");num=fun(point,9,high);/*调用函数*/printf("the number of high[]'s data: %d\n",num);printf("the data of high[]:\n");for(i=0;i<num;i++)printf("%d ",high[i]);printf("\n");/*调用fprintf()函数将high数组内容存放到outfile.dat文件中*/for(i=0;i<num;i++)fprintf(fp,"%d ",high[i]);}/*返回高于平均分的人数*/int fun(int point[],int n,int high[]){double ave;int i,j,k=0,s=0;for(i=0;i<9;i++)s+=point[i];ave=s/9.0;for(j=0;j<9;j++)if(ave<point[j]){high[k]=point[j];k++;}return k;}程序运行结果(截屏)调试遇到的问题和感想:本题难度不大,遇到的问题几乎没有,主要问题在于将high数组内容存放到outfile.dat文件中,还有就是for语句来实现函数的功能,由于sum的值不定。

C语言程序设计综合实训题目

C语言程序设计综合实训题目

一、参考题目及选题(1)学生信息管理系统设计问题描述:学生信息包括:学号, 姓名, 年龄, 性别, 出生年月, 政治面貌, 籍贯, 家庭住址, 电话, E-mail等。

试设计一学生信息管理系统, 使之能提供以下功能:(1)系统以菜单方式工作(2)学生信息录入功能(学生信息用文件保存)(3)学生信息浏览功能(4)学生信息排序、查询功能对信息进行排序, 可以按学号, 按姓名, 按性别, 按出生年月日, 按籍贯进行查询(5)信息统计a) 可以按性别, 按出生年, 按籍贯统计学生人数b) 可以按班级统计学生人数c) 可以按政治面貌统计学生人数按班级统计学生党员人数, 团员人数, 以及所占比例, 设计并输出统计报表。

(6)学生信息的删除与修改●设计要求:●界面比较美观;有一定的容错能力, 比如输入的成绩不在0~100之间, 就提示不合法, 要求重新输入;●最好用链表的方式实现。

算法分析:首先, 一个学生包括这么多的属性, 应该考虑定义一个结构, 其次, 我们应该考虑数据的存储形式:是定义一个数组来存储, 还是定义一个链表呢?在这里假如我们以数组的方式来存储, 当然可以, 但是我们知道, 假如我们定义一个数组的话, 我们首先必须知道学生人数大概是多少, 以便我们确定数组的大小, 但是题目中没有给出, 而且题目要求中有大量的删除、插入操作, 所以用链表的方式比较方便。

对于菜单的实现, 其实也比较简单, 首先我们用printf语句把程序的功能列出来, 然后等待用户输入而执行不同的函数, 执行完了一个功能后又回到菜单。

文件的读写操作大家参照书中的有关文件的章节。

(2)、学生综合测评系统每个学生的信息为: 学号、姓名、性别、家庭住址、联系电话、语文、数学、外语三门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评总分、综合测评名次。

考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%, 10%, 10%, 20%。

C语言项目实验作业_学生版

C语言项目实验作业_学生版

C语言项目实验作业系(部)机电与汽车工程学院姓名(学号) 40 庞文胤 25 梁志坚专业(班级) 13电子2班电子教研室编制实验一数据类型、运算符和表达式应用一、实验目的1.掌握C语言数据类型的种类和作用;2.熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,3.掌握不同的类型数据之间赋值的规律;4.灵活运用各种运算符及其表达式;二、实验步骤(一)阅读程序1. 输入并运行以下程序,观察运行结果。

#include <stdio.h>main(){ char c1,c2;c1=97;c2=98;printf("%c,%c\n",c1,c2); }(1)在第五行后面加入以下printf语句,并运行。

printf("%d,%d\n",c1,c2);(2)在(1)的基础上,将第三行改为以下语句,并运行。

int c1,c2;(3)在(1)的基础上,将第四行改为以下语句,并运行。

c1=321;c2=400;2. 分析并运行此程序,当输入的数据为10时,下面程序的运行结果。

#include <stdio.h>main(){ float x,y;scanf("%f",&x);printf("\n2.4*x-1/2=%f",2.4*x-1.0/2);printf("\nx%%2/5-x=%f",(int)(x)%2/5-x);printf("\n(x-=x*10,x/=10)=%d\n",(x-=x*10,x/=10)); }3.分析以下程序运行的结果#include <stdio.h>main(){ int i,j,m,n ;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d\n",i,j,m,n);}(2) 将第6、7行改为:m=i++;n=++j;(3)程序改为:#include <stdio.h>main(){ int i , j , m=0 , n=0 ;i=8; j=10;m+=i++;n-=--j;printf(“%d,%d,%d,%d\n”,i,j,m,n);}要求:依据题目要求,分析已给出的语句,填写空白。

C语言实训大作业

C语言实训大作业

C语言实训大作业As a person, we must have independent thoughts and personality.
1.基于链表的“学生信息管理系统”
实验内容:编写并调试程序,实现学校各专业班级学生信息的管理。

定义学生信息的链表结点类型,包括:学号、姓名、班级、专业、3门成绩。

实验要求:
(1)main函数:以菜单形式将各项功能提供给用户,根据用户的选择,调用
相应的函数。

(2)定义函数CreateList:按学号由小到大,建立有序的链表。

逆序输入 n
个学生信息(调用n次input),学号大的先输入,建立带头结点的单
链表。

(3)定义函数Output:以指向某个学生结点的指针为参数,将学生信息格式
化输出。

(4)定义函数Save:将某个学生信息存入文件。

(5)定义函数Fetch:从文件中随机读取某个学生的信息。

(6)定义函数Search_num:查找指定学号的学生,返回指向该学生结点的指
针。

(7)定义函数InsertList:在函数中输入一个学生的信息,将该学生信息插
入到链表中的相应位置,并保持此链表按学号的有序性。

(8)定义函数Delete_num:从链表中删除指定学号的学生。

(9)定义函数Search_major _subject_score:查找某个专业的、某门课程
的成绩小于某个分数的学生,返回指向该学生结点的指针。

(10)定义函数Delete_ major _subject:从链表中删除某个专业的、某
门课程的成绩小于某个分数的学生。

C语言作业实训

C语言作业实训

实验2 数据输入输出与分支结构程序设计1、掌握基本输入输出语句的使用2、掌握条件控制运算符及其语句的使用规则二、实验内容1、简单条件语句和复杂条件语句的用法编程。

2、开关语句switch的用法编程三、实验项目1、键盘输入一个不多于5位的正整数,要求:1)求出它是几位数并分别输出每一位数字;2)输出它的逆序数,例如原数为321,应输出123。

2、编写一加密程序,对6字符的密码进行加密,加密要求:1)如果该位密码为字母,则用该字母后面第4个字母代替原来的字母,例如若该位密码为A,则其后面第4个字母是“E”,所以用“E”来代替“A”;如果字母是“Z”,后面则要再转回“ABCD”,其后第4个字母是“D”,则用“D”来代替。

小写字母也遵循此原则。

2)如果该位密码为数字和其他字符,则该位密码保持不变。

3)要求分别用6个变量保存这6位密码,用scanf()输入六位密码,用printf ()输出加密后的密码。

如:输入的各位密码是“China1”,则加密后密码为:“Glmre1”。

3、运输公司对用户计算运费。

路程(s)越远,每公里运费越低。

s<250km 没有折扣250≤s<500 2%折扣500≤s<1000 5%折扣1000≤s<2000 8%折扣2000≤s<3000 10%折扣3000≤s 15%折扣设每公里每吨货物的基本运费为p(price的首字母),货物重为w(weight的首字母),距离为s,折扣为d(discount的首字母),则总运费f(freight的首字母)的计算公式为f=p*w*s*(1-d)要求使用switch编程实现:用户输入基本运费、货物重量和距离,输出该货物的运费。

三、实验步骤与运行结果(要求写出详细的步骤,包括文件的建立、保存、程序的编译、连接和运行,贴出程序代码,程序运行结果截图。

)项目1:1.打开VC++62.点击新建文本文件,保存文件至E盘命名为“331王橹森报告2.c”3.开始编写程序:#include<stdio.h>main(){int x;printf("请输入一个不多于5位的正整数: \n");scanf("%d",&x);if(x/10<=0){printf("它是一个个位数,个位是%d。

C语言实训作业6

C语言实训作业6

C通识课单元测验报告姓名:谭浩强学号:2012001学院:电信学院专业:软件设计第4次实训课内容一.选择题3.1 若a,b,c,d都是int型变量且初值为0,以下选项中不正确的赋值语句是A a=b=c=100;B d++;C c+b;D d=(c=22)-(b++);3.2 下列选项中不是C语句的是A {int i; i++; printf(“%d\n”i);}B ;C a=5,c=10D { ; }3.3 合法的C语言赋值语句是A a=b=58B k=int(a+b);C a=58,b=58D - -i;3.4 有以下程序#include <stdio.h>main(){int x=10,y=3;printf("%d\n",y=x/y);}执行后的输出结果是A 0B 1C 3D 不确定的值3.5 若变量已正确定义为int型,要给a,b,c输入数据,正确的输入语句是A read(a,b,c);B scanf(“%d%d%d”,a,b,c);C scanf(“%D%D%D”,&a,%b,%c);D scanf(“%d%d%d”,&a,&b,&c);3.6 若变量已正确定义为float类型,要通过输入语句:scanf (“%f %f %f”,&a,&b,&c);给a赋值11.0,b赋值22.0,c赋值33.0,不正确的输入形式是A 11B 11.0,22.0,33.0C 11.0 D11 2222 22.0 33.0 33333.7 若变量a,b,t已正确定义,要将a和b中的数进行交换,以下选项中不正确的语句组是A a=a+b,b=a-b,a=a-b;B t=a,a=b,b=t;C a=t;t=b;b=aD t=b;b=a;a=t;3.8 若有正确定义语句double x=5.16894;语句printf(“%f\n”,(int)(x*1000+0.5)/(double)1000);的输出结果是A 输出格式说明与输出项不匹配,输出无定值B 5.170000B 5.168000D 5.1690003.9 若有以下程序段:int c1=1,c2=2,c3;c3=c1/c2;printf(“%d\n”,c3);执行后的输出结果是A 0B 1/2C 0.5D 13.10 若有以下程序段int a=0,b=0,c=0;c=(a-=-5),(a=b,b+3);printf(“%d,%d,%d\n”,a,b,c);执行后的输出结果是A 3,0,-10B 0,0,5C -10,3,-10D 3,0,3二.填空题3.11 若有以下定义,请写出以下程序段中输出语句执行后的输出结果________. int i=-200,j=2500;printf("(1)%d,%d",i,j);printf("(2)i=%d,j=%d\n",i,j);printf("(3)i=%d\nj=%d\n",i,j);3.12 变量i,j,k已定义为int类型并均有初值0,用以下语句进行输入时:scanf("%d",&i);scanf("%d",&j);scanf("%d",&k);从键盘输入:12.3<CR>则变量i,j,k的值分别是______._______._______.3.13 复合语句在语法上被认为是_________.空语句的形式是_________.3.14 C语句的最后用________结束.3.15 以下程序段要求通过scanf语句给变量赋值,然后输出变量的值.写出运行时给k输入100,给a输入15.81,给x输入1.89234时的三种可能的输入形式________.___________.___________.int k;float a;double x;scanf("%d%f%lf",&k,&a,&x);printf("k=%d,a=%f,x=%f\n",k,a,x);3.16 以下程序多处有错误.若指定必须按下面的形式输入数据,并且必须按下面指定的形式输出数据,请对该程序做相应的修改.main{double a,b,c,s,v;printf(input a,b,c:\n);scanf("%d%d%d",a,b,c);s=a*b;v=a*b*c;printf("%d %d %d",a,b,c);printf("s=%f\n",s,"v=%d\n",v);}当程序执行时,屏幕的显示和要求输入形式如下: input a,b,c:2.0 2.0 3.0a=2.000000,b=2.000000,c=3.000000s=4.000000,v=12.000000三.编程实现题3.17编写程序,从终端输入两个整数给变量x和y,输出显示x和y;然后在交换x和y中的值后,再输出x和y。

C语言实训指导习题(全)

C语言实训指导习题(全)

C语言实训指导习题(全)第1章习题1. C语言程序的基本结构是【】。

A) 函数B) 语句C) 字符D) 程序行2. 下列四个叙述中,正确的是【】A)在C程序中,主函数必须位于其他函数的最前面B)在C程序中,一行只能写一条语句C)C程序的基本结构是程序行D)C语句是完成程序功能的最小单位3. C语言规定,在一个C程序中,main()函数的位置是【】A)必须在开始B) 必须在最后C) 可以任意D) 必须在系统调用的库函数之后4. 以下叙述中,正确的是【】。

A) C语言程序总是从第一个定义的函数开始执行 .B) C语言程序中,要调用的函数必须在main()函数中定义C) C语言程序总是从main()函数开始执行D) C语言程序中的main()函数必须放在程序的开始部分5. 在C语言提供的合法的关键字是【】A)switch B)cher C)Case D)FLOAT6. 以下用户标识符,其中合法的是【】A) For B) 4d C) f2.G3 D) _f#第2章习题C语言所提供的五种基本数据类型包括:字符型、整型、双精度型、浮点型和【D】。

A) 指针型B)结构型C)数组型D)无值类型2. 列四组数据类型中,C语言允许的一组是【B 】A) 整型、实型、逻辑型,双精度型B) 整型、实型、字符型,无值类型C) 整型、双精度型、布尔型,无值类型D) 整型、实型、复型、字符型3. 下面均是合法整型常量的是【A 】。

A) 160 B) -0xcdf C) -01 D) -0x48a-0xffff 01a 986.12 2e5012 0xe 0668 0x4. 在C语言中,合法的字符常量是【B 】A)'\084' B)'\x43' C)'ab' D)"\0"5. 下面错误的转义字符是【A】A) '\091' B) '\\' C) '\0' D) '\''6.下面不正确的字符串常量是【A 】。

C语言程序设计实训练习

C语言程序设计实训练习

C语言程序设计实训练习:第一章1、使用公式℃=(5/9) (℉-32),打印下列华氏温度与摄氏温度对照表:0 -1720 -640 460 1580 26100 37120 48140 60160 71…300 148#include<stdio.h>int main(){int c,f;for(f=0;f<=300;f++){c=(int)((1.0*5/9)*(f-32));printf("\t%d\t%d\n",f,c);f+=19;}return 0;}2、编写一个统计空格、制表符与换行符个数的程序。

#include<stdio.h>int main(){int c,Num_space=0,Num_tab=0,Num_enter=0;while ((c = getchar()) != EOF){switch(c){case ' ':Num_space++;break;case '\t':Num_tab++;break;case '\n':Num_enter++;break;}}printf("The number of Space is %d\n",Num_space);printf("The number of Tab is %d\n",Num_tab);printf("The number of Enter is %d\n",Num_enter);return 0;}3、编写一个将输入复制到输出的程序,并将其中连续的多个空格用一个空格代替。

4、编写一个程序,统计输入的行数、单词数与字符数。

5、编写一个程序,统计各个数字、空白符(包括空格符、制表符及换行符)以及所有其他字符出现的次数。

6、重写标准库中的求幂函数:int pow(int x, int y)。

C语言实验作业

C语言实验作业

实验一C语言的运行环境和运行过程【目的与要求】1.了解Dos、Windows环境下C语言的运行环境,了解所用的计算机系统的基本操作方法,学会独立使用该系统。

2.了解在该系统上如何编辑、编译、连接和运行一个C程序。

3.通过运行简单的C程序,初步了解C源程序的特点。

【上机内容】1.熟悉调试C程序的的方法与步骤。

2.写出一个C程序的构成。

3.参照例题,编写一个C程序,输出以下信息:****************************Hello,World!****************************4.编写一个C程序,输入a、b、c三个数,输出其中最大者。

试想,如果求四个数中的最大者,则程序该如何编写。

实验二C语言的基础知识【目的与要求】1.掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。

2.学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。

3.进一步熟悉C程序的编辑、编译、连接和运行的过程。

【上机内容】1.要讲“China”译成密码,密码规律是:用原来的字母后面第5个字母代替原来的字母。

例如,字母“A”后面第5个是“F”,用“F”代替“A”。

因此,“China”应译为“Hmnsf”。

请编一程序,用赋初值的方法使c1、c2、c3、c4、c5五个变量的值分别为’C’、’h’、’i’、’n’、’a’,经过运算,使其分别变为’H’、’m’、’n’、’s’、’f’,并输出。

2.求下面算术表达式的值。

(1)x+a%3*(int)(x+y)%2/4 =2.500000设x=2.5,a=7,y=4.7(2)(float)(a+b)/2+(int)x%(int)y设a=2,b=3,x=3.5,y=2.5 3.5先自己分析,再试着用程序求解,看得到的结果是否一致。

3.写出下面表达式运算后a的值,设原来a=10。

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

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

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

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

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

整个教学和实验中,采用VC++6.0 作为实验环境,强调学生切实培养动手实践能力,掌握调试程序的方法,通过调试理解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语句的形式。

四、实验内容
注意该程序中的条件判断表达式a++<3 && c--!=0是一个逻辑表达式,关系表达式
分别从键盘上输入1、3、5,写出程序运行的结果。

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

求根公式为:
a ac
b
b
x
2
4 2
1
-
+
-
=
a
b
p
2
-
=
令a ac
b q
24
2-
=
,a ac
b q
24
2-
=
则x1=p+q x2=p-q
参考源程序如下:
#include<math.h>
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=%5.2f\nx2=%5.2f\n”,x1,x2);
}
五、实验注意事项
(一)C程序中表示比较运算的等号用“==”表示,赋值运算符用“=”表示,不能将赋值号“=”用于比较运算。

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

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

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

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

六、思考题。

相关文档
最新文档