c语言程序设计实验答案(c语言搜题神器)

admin 309 0

本篇文章给大家谈谈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语言搜题神器的问题解决了您的问题,那么我们由衷的感到高兴!