本篇文章给大家谈谈c语言程序设计实验答案,以及c语言搜题神器对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
一、c语言程序设计题。实验报告。高分。
车票系统,与你的第2题要求略有不同,你自己修改吧
/**********************************************/
int ShowMessage(void);//载入原始数据
void InsertMessage(void);//录入班次信息
void SearchMenu(void);//查询路线子菜单
void SearchByNumber(void);//按班次号查询
void SearchByAddress(void);//按终点站查询
void TicketManagement(void);//车票售出与退回
void TicketDelete(void);//退票
/********************************************/
system("mode con: cols=140 lines=130");
printf("车票管理系统\n\n");
printf("制作:hmm182007\n");
printf("日期:2007/11/25/19:57\n");
printf("============================================================================\n");
printf(" 1.录入班次信息\t\n");
printf(" 2.浏览班次信息\t\n");
printf(" 3.查询行车路线\t\n");
printf(" 4.售票与退票系统\t\n");
printf(" 5.退出该系统\t\n");
printf("============================================================================\n");
printf("请选择你所需要的功能:");
printf("\n按任意键回主菜单......\n");
printf("\n按任意键回主菜单......\n");
printf("\n按任意键回主菜单......\n");
case'5':FLAG=TRUE;exit();break;
printf("输入错误,请确保你的输入为1--5.\n");
printf("按任意键回主菜单......\n");
printf("请输入文件名或者文件路径名:");
if((fp=fopen(filename,"r"))==NULL)
printf("文件%s不可读,请确认文件%s存在或者文件路径正确.\n\n",filename,filename);
for(i=RecordNumber;!feof(fp)&&!ferror(fp);i++)
fscanf(fp,"%d%d%d",&car[i].SerialNumber,&car[i].SetOut.hour,&car[i].SetOut.minutes);
fscanf(fp,"%s%s%f%d%d",&car[i].DeparturePoint,&car[i].TerminalPoint,&car[i].LastTime,&car[i].FixNumber,&car[i].FixedNumber);
printf("班次\t发车时间\t起点\t终点\t行车时间(小时)\t额定载量\t已定票人数\n");
printf("%d\t%d:%d\t\t",car[i].SerialNumber,car[i].SetOut.hour,car[i].SetOut.minutes);
printf("%s\t%s\t\t%.1f\t%d\t\t%d\n",car[i].DeparturePoint,car[i].TerminalPoint,car[i].LastTime,car[i].FixNumber,car[i].FixedNumber);
if((fp=fopen("add.txt","r"))==NULL)
printf("读取数据失败,请检查文件add.txt是否存在.\n");
for(i=0;!feof(fp)&&!ferror(fp);i++)
fscanf(fp,"%d%d%d",&car[i].SerialNumber,&car[i].SetOut.hour,&car[i].SetOut.minutes);
fscanf(fp,"%s%s%f%d%d",&car[i].DeparturePoint,&car[i].TerminalPoint,&car[i].LastTime,&car[i].FixNumber,&car[i].FixedNumber);
printf("班次\t发车时间\t起点\t终点\t行车时间(小时)\t额定载量\t已定票人数\n");
printf("%d\t%d:%d\t\t",car[i].SerialNumber,car[i].SetOut.hour,car[i].SetOut.minutes);
printf("%s\t%s\t\t%.1f\t%d\t\t%d\n",car[i].DeparturePoint,car[i].TerminalPoint,car[i].LastTime,car[i].FixNumber,car[i].FixedNumber);
system("mode con: cols=140 lines=130");
printf("============================================================================\n");
printf(" 1.按班次号查询\t\n");
printf(" 2.按终点站查询\t\n");
printf(" 3.返回主菜单\t\n");
printf("============================================================================\n");
printf("请选择你所需要的功能:");
scanf("%*c%c",&functionNumber);
case'1':SearchByNumber();break;
case'2':SearchByAddress();break;
printf("输入错误,请确保你的输入为1--3.\n");
printf("按任意键回查询子菜单......\n");
printf("请输入要查询的班次号:");
printf("班次\t发车时间\t起点\t终点\t行车时间(小时)\t额定载量\t已定票人数\n");
printf("%d\t%d:%d\t\t",car[SearchNumber-1].SerialNumber,car[SearchNumber-1].SetOut.hour,car[SearchNumber-1].SetOut.minutes);
printf("%s\t%s\t\t%.1f\t%d\t\t%d\n",car[SearchNumber-1].DeparturePoint,car[SearchNumber-1].TerminalPoint,car[SearchNumber-1].LastTime,car[SearchNumber-1].FixNumber,car[SearchNumber-1].FixedNumber);
printf("请输入终点站的名称:");
printf("班次\t发车时间\t起点\t终点\t行车时间(小时)\t额定载量\t已定票人数\n");
for(i=0;i<RecordNumber;i++)
if((strcmp(Address,car[i].TerminalPoint))==0)
printf("%d\t%d:%d\t\t",car[i].SerialNumber,car[i].SetOut.hour,car[i].SetOut.minutes);
printf("%s\t%s\t\t%.1f\t%d\t\t%d\n",car[i].DeparturePoint,car[i].TerminalPoint,car[i].LastTime,car[i].FixNumber,car[i].FixedNumber);
system("mode con: cols=140 lines=130");
printf("订票与退票菜单\n");
printf("============================================================================\n");
printf(" 1.订票\t\n");
printf(" 2.退票\t\n");
printf(" 3.返回主菜单.\n");
printf("============================================================================\n");
scanf("%*c%c",&functionNumber);
case'2':TicketDelete();break;
printf("输入错误,请确保你的输入为1--3.\n");
printf("按任意键回主菜单......\n");
printf("请输入要订购的车票的班次:");
printf("对不起,今天没有这趟车,请明天再来,谢谢使用!\n");
printf("按任意键回主菜单......\n");
if((now->tm_hour==car[i].SetOut.hour&&now->tm_min<car[i].SetOut.minutes)||(now->tm_hour<car[i].SetOut.hour))
if(car[i].FixedNumber<car[i].FixNumber)
printf("你的订票成功,请按时上车,谢谢使用!\n");
else printf("对不起,今天的这趟车的票已卖完,请明天再来,谢谢合作!\n");
else printf("对不起,今天的这趟车已发出,请明天再来,谢谢合作!\n");
printf("班次\t发车时间\t起点\t终点\t行车时间(小时)\t额定载量\t已定票人数\n");
printf("%d\t%d:%d\t\t",car[i-1].SerialNumber,car[i-1].SetOut.hour,car[i-1].SetOut.minutes);
printf("%s\t%s\t\t%.1f\t%d\t\t%d\n",car[i-1].DeparturePoint,car[i-1].TerminalPoint,car[i-1].LastTime,car[i-1].FixNumber,car[i-1].FixedNumber);
//printf("按任意键回主菜单......\n");
printf("请输入要退购的车票的班次:");
printf("对不起,今天没有这趟车,无法完成退票.谢谢使用!\n");
if((now->tm_hour==car[i].SetOut.hour&&now->tm_min<car[i].SetOut.minutes)||(now->tm_hour<car[i].SetOut.hour))
printf("退订车票成功,谢谢使用!\n");
else printf("对不起,今天的这趟车的票尚未卖出,无法完成退票!\n");
else printf("对不起,今天的这趟车已发出,无法完成退票!\n");
printf("班次\t发车时间\t起点\t终点\t行车时间(小时)\t额定载量\t已定票人数\n");
printf("%d\t%d:%d\t\t",car[i-1].SerialNumber,car[i-1].SetOut.hour,car[i-1].SetOut.minutes);
printf("%s\t%s\t\t%.1f\t%d\t\t%d\n",car[i-1].DeparturePoint,car[i-1].TerminalPoint,car[i-1].LastTime,car[i-1].FixNumber,car[i-1].FixedNumber);
printf("\n\n*********************谢谢使用本系统,欢迎下次继续使用***********************\n");
二、求山东理工大学C语言实验答案(在线等、求速度)
熟悉在VC的运行环境下,编辑调试C语言程序的一般步骤。掌握编写与调试简单C语言程序的基本方法。
1.仔细阅读下列实验内容,并编写出相应的C语言源程序。
2.在VC运行环境下,编辑录入源程序。
3.调试运行源程序,并记录下调试运行过程中出现的所有错误及改正方法。
4.掌握如何根据出错信息查找语法错误。
1.从键盘输入一个以秒为单位的时间值(如10000秒),将其转化为以时、分、秒表示的时间值并输出。
printf("请输入时间,以秒为单位\n");
printf("时间转换为:%d h%d min%d s\n",h,min,sec);
2.已知如下二元一次方程组的系数值,求该方程组的解。
{float a1,b1,c1,a2,b2,c2,m,n,p;
printf("请输入二元一次方程组的各项参数:");
scanf("%f%f%f%f%f%f",&a1,&b1,&c1,&a2,&b2,&c2);
m=(b2*c1-b1*c2)/(a1*b2-a2*b1);
n=(a1*c2-a2*c1)/(a1*b2-a2*b1);
printf("%fx+%fy=%f\n%fx+%fy=%f\n",a1,b1,c1,a2,b2,c2);
printf("解为:\n x=%f\n y=%f\n",m,n);
掌握顺序程序设计的基本思想和顺序程序设计的基本方法
1.仔细阅读下列实验内容,并编写出相应的C语言源程序。
2.在VC运行环境下,编辑录入源程序。
3.调试运行源程序,并记录下调试运行过程中出现的所有错误及改正方法。
4.掌握如何根据出错信息查找语法错误。
5.掌握如何通过动态跟踪程序运行过程查找逻辑错误。
1.编程序实现:输入一个年份y,求出从公元1年1月1日到y年的1月1日,总共有多少天(提示:400年97闰)。
printf("please enter a year:");
days=365*(year-1)+97*((year-1)/400)+24*(((year-1)%400)/100)+(((year-1)%400)%100)/4+1;
printf("公元1年1月1日到公元%d年1月1日有%d天。\n",year,days);
掌握选择结构程序设计的一般方法及选择结构程序的调试方法。
1.仔细阅读下列实验内容,并编写出相应的C语言源程序。
2.在VC运行环境下,编辑录入源程序。
3.调试运行源程序,并记录下调试运行过程中出现的所有错误及改正方法。
4.掌握如何根据出错信息查找语法错误。
5.掌握如何通过动态跟踪程序运行过程查找逻辑错误。
1.编程序实现:输入一个年份和月份,求出这个月的天数并输出。
printf("please enter a date like 2010/4\n");
if(year%4==0&&year%100!=0||year%400==0&&month==2)
printf("%d年%d月有%d天。、\n",year,month,n);
2.编程序实现:输入一个年份y,求出y年的1月1日是星期几(提示:公元1年1月1日是星期一)。
printf("please enter a year");
n=365*(year-1)+97*((year-1)/400)+24*(((year-1)%400)/100)+(((year-1)%400)%100)/4+1;
case 0: printf("星期天\n");
case 1:printf("星期一\n");break;
case 2:printf("星期二\n");break;
case 3:printf("星期三\n");break;
case 4:printf("星期四\n");break;
case 5:printf("星期五\n");break;
case 6:printf("星期六\n");break;
3.(拓展题,选做)编程序实现:输入任意一个日期的年、月、日的值,求出是星期几并输出。
printf("please enter a date like 2010/4/16\n");
scanf("%d/%d/%d",&year,&month,&day);
n=365*(year-1)+97*((year-1)/400)+24*(((year-1)%400)/100)+(((year-1)%400)%100)/4;
if(year%4==0&&year%100!=0||year%400==0&&month>2)
case 0: printf("星期天\n");
case 1:printf("星期一\n");break;
case 2:printf("星期二\n");break;
case 3:printf("星期三\n");break;
case 4:printf("星期四\n");break;
case 5:printf("星期五\n");break;
case 6:printf("星期六\n");break;
掌握循环结构程序设计的一般方法及循环结构程序的调试方法,能够综合运用顺序、选择和循环结构解决一般难度的实际应用问题。
1.仔细阅读下列实验内容,并编写出相应的C语言源程序。
2.在VC运行环境下,编辑录入源程序。
3.调试运行源程序,并记录下调试运行过程中出现的所有错误及改正方法。
4.掌握如何根据出错信息查找语法错误。
5.掌握如何通过动态跟踪程序运行过程查找逻辑错误。
1.编程序实现如下功能:输入任意一个年份的值,按以下格式输出该年份一月份的公历日历。
printf("please enter a year:");
days=365*(year-1)+97*((year-1)/400)+24*(((year-1)%400)/100)+(((year-1)%400)%
printf("%d年日历\n一月\n",year);
printf("日一二三四五六\n");
2.(拓展题,选做)编程序实现如下功能:输入任意一个年份的值,输出该年份全年的公历日历。#include<stdio.h>
int year,days,i,m,n,k=0,j,day,month;
printf("please enter a year:");
printf("%d年日历\n",year);
days=365*(year-1)+97*((year-1)/400)+24*(((year-1)%400)/100)+(((year-1)%400)%100)/4+1;
for(month=1;month<=12;month++)
if(year%4==0&&year%100!=0||year%400==0&&month==2)
if(year%4==0&&year%100!=0||year%400==0&&month>2)
printf("日一二三四五六\n");
最后两题米看到答案,我的方法不大对,就不给你了。
三、急求===《C语言程序设计实验·设计·习题》的答案
这是谭浩强版习题题答案,看与你的是否一致
1.5请参照本章例题,编写一个C程序,输出以下信息:
1.6编写一个程序,输入a b c三个值,输出其中最大者。
printf("请输入三个数a,b,c:\n");
3.3请将下面各数用八进制数和十六进制数表示:
(1)10(2)32(3)75(4)-617
(5)-111(6)2483(7)-28654(8)21003
3.5字符常量与字符串常量有什么区别?
解:字符常量是一个字符,用单引号括起来。字符串常量是由0个或若干个字符
而成,用双引号把它们括起来,存储时自动在字符串最后加一个结束符号'\0'.
char c1='a',c2='b',c3='c',c4='\101',c5='\116';
printf("a%c b%c\tc%c\tabc\n",c1,c2,c3);
printf("\t\b%c%c\n",c4,c5);
3.7将"China"译成密码.密码规律:用原来的字母后面第4个字母代替原来的字母,
例如,字母"A"后面第4个字母是"E",用"E"代替"A".因此,"China"应译为"Glmre".
请编一程序,用赋初值的议程使c1,c2,c3,c4,c5分别变成'G','1','m','r','e',并
{char c1="C",c2="h",c3="i",c4='n',c5='a';
printf("密码是%c%c%c%c%c\n",c1,c2,c3,c4,c5);
解:可以.因为在可输出的字符范围内,用整型和字符型作用相同.
(1)x+a%3*(int)(x+y)%2/4=2.5(x=2.5,a=7,y=4.7)
(2)(float)(a+b)/2+(int)x%(int)y=3.5(设a=2,b=3,x=3.5,y=2.5)
printf("%d,%d,%d,%d\n",i,j,m,n);
4.4.a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1='a',c2='b'.想得
到以下的输出格式和结果,请写出程序要求输出的结果如下:
x=1.200000,y=2.400000,z=-3.600000
c1='a';c2='b';
printf("a=%2d b=%2d c=%2d\n",a,b,c);
printf("x=%8.6f,y=%8.6f,z=%9.6f\n",x,y,z);
printf("x+y=%5.2f y=z=%5.2f z+x=%5.2f\n",x+y,y+z,z+x);
printf("u=%6ld n=%9ld\n",u,n);
printf("c1='%c' or%d(ASCII)\n",c1,c2);
printf("c2='%c' or%d(ASCII)\n",c2,c2);
67.86,-789.12,67.856400,-789.123962,67.856400,-789.123962
4.6用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1='A',c2='a',
scanf(" c1=%c c2=%c",&c1,&c2);
说明:在边疆使用一个或多个scnaf函数时,第一个输入行末尾输入的"回车"被第二
个scanf函数吸收,因此在第二\三个scanf函数的双引号后设一个空格以抵消上行
入的"回车".如果没有这个空格,按上面输入数据会出错,读者目前对此只留有一
初步概念即可,以后再进一步深入理解.
4.7用下面的scanf函数输入数据使a=10,b=20,c1='A',c2='a',x=1.5,y=-
scanf("%5d%5d%c%c%f%f%*f%f",&a,&b,&c1,&c2,&y,&z);
scanf("%5d%5d%c%c%f%f",&a,&b,&c1,&c2,&x,&y,&z);
注解:按%5d格式的要求输入a与b时,要先键入三个空格,而后再打入10与20。%*f
是用来禁止赋值的。在输入时,对应于%*f的地方,随意打入了一个数1.5,该值不
4.8设圆半径r=1.5,圆柱高h=3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积,
用scanf输入数据,输出计算结果,输出时要求有文字说明,取小数点后两位数字.请编
printf("请输入圆半径r圆柱高h:\n");
printf("圆周长为:=%6.2f\n",l);
printf("圆面积为:=%6.2f\n",s);
printf("圆球表面积为:=%6.2f\n",sq);
printf("圆球体积为:=%6.2f\n",vz);
4.9输入一个华氏温度,要求输出摄氏温度,公式为C=5/9(F-32),输出要有文字说明,
printf("请输入一个华氏温度:\n");
printf("摄氏温度为:%5.2f\n",c);
5.4有三个整数a,b,c,由键盘输入,输出其中最大的数.
printf("A=%d,B=%d,C=%d\n",a,b,c);
printf(" A,B,C中最大数是%d,",max);
printf("X-%d,Y=X=%d\n",x,y);
printf(" X=%d, Y=2*X-1=%d\n",x,y);
printf("X=5d, Y=3*x-11=%d\n",x,y);
(习题5-6:)自己写的已经运行成功!不同的人有不同的算法,这些答案仅供参考! 818pp.com
5.7给一个不多于5位的正整数,要求:1.求它是几位数2.分别打印出每一位数字3.
按逆序打印出各位数字.例如原数为321,应输出123.
int indiv,ten,hundred,housand,tenthousand,place;
printf("请输入一个整数(0-99999):");
printf("place=%d\n",place);
thousand=(num-tenthousand*10000)/1000;
hundred=(num-tenthousand*10000-thousand*1000)/100;
ten=(num-tenthousand*10000-thousand*1000-hundred*100)/10;
indiv=num-tenthousand*10000-thousand*1000-hundred*100-ten*10;
{case 5:printf("%d,%d,%d,%d,%d",tenthousand,thousand,hundred,ten,indiv);
printf("%d%d%d%d%d\n",indiv,ten,hundred,thousand,tenthousand);
case 4:printf("%d,%d,%d,%d",thousand,hundred,ten,indiv);
printf("%d%d%d%d\n",indiv,ten,hundred,thousand);
case 3:printf("%d,%d,%d\n",hundred,ten,indiv);
printf("%d%d%d\n",indiv,ten,hundred);
case 2:printf("%d,%d\n",ten,indiv);
printf("%d%d\n",indiv,ten);
case 1:printf("%d\n",indiv);
float bonus,bon1,bon2,bon4,bon6,bon10;
else if(i<=2e5)bonus=bon1+(i-100000)*0.075;
else if(i<=4e5)bonus=bon2+(i-200000)*0.05;
else if(i<=6e5)bonus=bon4+(i-400000)*0.03;
else if(i<=1e6)bonus=bon6+(i-600000)*0.015;
else bonus=bon10+(i-1000000)*0.01;
float bonus,bon1,bon2,bon4,bon6,bon10;
case 1:bonus=bon1+(i-100000)*0.075;break;
case 3:bonus=bon2+(i-200000)*0.05;break;
case 5:bonus=bon4+(i-400000)*0.03;break;
case 9:bonus=bon6+(i-600000)*0.015;break;
case 10:bonus=bon10+(i-1000000)*0.01;
5.9输入四个整数,按大小顺序输出.
scanf("%d,%d,%d,%d",&a,&b,&c,&d);
printf("\n\n a=%d,b=%d,c=%d,d=%d\n",a,b,c,d);
printf("\n排序结果如下:\n");
printf("%d%d%d%d\n",a,b,c,d);
float x,y,x0=2,y0=2,d1,d2,d3,d4;
d1=(x-x0)*(x-x0)+(y-y0)(y-y0);
d2=(x-x0)*(x-x0)+(y+y0)(y+y0);
d3=(x+x0)*(x+x0)+(y-y0)*(y-y0);
d4=(x+x0)*(x+x0)+(y+y0)*(y+y0);
if(d1>1&& d2>1&& d3>1&& d4>1)
文章到此结束,如果本次分享的c语言程序设计实验答案和c语言搜题神器的问题解决了您的问题,那么我们由衷的感到高兴!