77范文网 - 专业文章范例文档资料分享平台

C语言程序设计及实验指导练习及习题参考答案(8--10)(7)

来源:网络收集 时间:2019-01-10 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

360.00 120.00 50.00 zh ou

560.00 150.00 80.00

源程序(有错误的程序) 1 #include 2 int main (void ) 3 {

4 struct emp{ 5 char name[10]; 6 float jbgz; 7 float fdgz; 8 float zc; 9 };

10 emp s[10]; 11 int i, n; 12

13 printf(\14 scanf(\15 for (i = 0; i < n; i++)

16 scanf(\17 for (i = 0; i < n; i++) /* 调试时设置断点 */

18 printf (\,实发数:%.2f\\n\19

20 return 0;

21 } /* 调试时设置断点 */

运行结果(改正后程序的运行结果) n=3

zhao 240 400 75 qian 360 120 50 zhou 560 150 80

zhao 实发数:565.00 qian 实发数:430.00 zhou 实发数:630.00 改错汇总

错误行号: 10 正确语句: struct emp s[10];

错误行号: 16 正确语句: scanf(\&s[i].zc); 二、改错题

建立一个有n(3

1 黄岚 78 83 75

2 王海 76 80 77 3 沈强 87 83 76 4 张枫 92 88 78 5 章盟 80 82 75

总分最高的学生是:张枫,258 分 源程序(有错 .的程序) 1 #include 2 int main (void) 3 { struct students{ 4 int number; 5 char name[20]; 6 int score[3]; 7 int sum; 8 };

9 int i, j, k, n, max=0; 10 printf(\11 scanf(\12 for (i = 0; i < n; i++){

13 scanf(\14

15 for(j = 0; j < 3; j++){

16 scanf(\17 student[i].sum += student[i].score[j]; 18 } 19 }

20 k = 0; max = student[0].sum; 21 for(i = 1; i < n; i++)

22 if(max < student[i].sum) { 23 k = i; 24 25 }

26 printf(\总分最高的学生是: %s,%d 分\\n\27 return 0; 28 }

改错汇总

错误行号: 8 正确语句: }student[10];

错误行号: 14 正确语句: student[i].sum=0; 错误行号: 24 正确语句: max=student[i].sum; 三、编程题

1.时间换算。用结构类型表示时间内容(时间以时、分、秒表示),输入一个时间数值,再

输入一个秒数n(n<60),以h:m:s 的格式输出该时间再过n 秒后的时间值(超过24 点就从0 点开始计时)。 输入输出示例

11:59:40 30

12:0:10 解答:

#include struct time{ int h,m,s; };

void timecal(struct time *p,int n); int main(void) { int n;

struct time time1,*p;

scanf(\scanf(\p=&time1; timecal(p,n);

printf(\}

void timecal(struct time *p,int n) {

p->s+=n; if(p->s>=60) {

p->s-=60; p->m++; if(p->m==60) {

p->m=0; p->h++; if(p->h==24) p->h=0; } } }

2.计算平均成绩。建立一个学生的结构记录,包括学号、姓名和成绩。输入整数n(n<10), 再输入n 个学生的基本信息,要求计算并输出他们的平均成绩(保留2 位小数)。 输入输出示例 n=3

1 zhang 70 2 wang 80 3 qian 90 80.00 解答:

#include

struct student{ /*学生信息结构定义*/ int num; /* 学号 */

char name[10]; /* 姓名 */ int score; /* 成绩 */ };

int main(void) {

int i, n;

double ave=0;

struct student s1; /* 定义结构变量 */ printf(\scanf(\

for(i = 1; i <= n; i++){

scanf(\ave += s1.score; }

ave = ave/n;

printf(\return 0; }

3.利用结构变量求解两个复数之积: (3+4i) × (5+6i)。 提示:求解(a1+a2i)×(b1+b2i),乘积的实部为:a1×b1 - a2×b2,虚部为:a1×b2 + a2×b1。 输入输出示例 (3+4i) × (5+6i)= -9+38i

解答:参见9.3.2 程序设计题第3 题

4.编写程序,从键盘输入n(n<10)本书的名称和定价并存入结构数组中,从中查找定价最高 和最低的书的名称和定价,并输出。 输入输出示例 n=3

C 程序设计 21.5 VB 程序设计 18.5 Delphi 程序设计 25.0

价格最高的书:Delphi 程序设计,价格:25.00 价格最低的书:VB 程序设计,价格:18.50 解答:

#include int main (void) {

int i,n,max_index,min_index; struct{

char name[50]; double price; }book[10];

printf(“n=”); scanf(\for(i=0;i

scanf(\max_index = min_index = 0; for(i=1;i

if(book[i].price > book[max_index].price) max_index=i;

if(book[i].price < book[min_index].price) min_index=i; }

printf(\价格最高的书: %s, 价格: %.2lf\\n\book[max_index].name,book[max_index].price);

printf(\价格最低的书: %s , 价格: %.2lf\\n\book[min_index].price); }

5.编写程序,输入一个日期(年、月、日),计算并输出该日是该年中的第几天。要求自定

义函数用于计算某日是该年中的第几天,用结构指针作为函数参数(注意闰年问题)。 输入输出示例 2006 3 5 64

解答:

#include struct DATE{ int year; int month; int day; }date;

int day_of_year(struct DATE *p); int main(void) {

scanf(\printf(\}

int day_of_year(struct DATE *p) {

int k, leap;

int tab[2][13] = {

{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}, {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31} };

leap=(p->year%4==0&&p->year0!=0||p->year@0==0);

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C语言程序设计及实验指导练习及习题参考答案(8--10)(7)在线全文阅读。

C语言程序设计及实验指导练习及习题参考答案(8--10)(7).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/419153.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: