广州大学c语言实验报告五,数据类型、运算符和表达式实验报告.doc

本次实验主要目标是掌握C语言中函数的定义和使用,理解值传递方式,以及全局变量和局部变量的区别。实验内容包括编写程序,接收用户输入的单词并找出最长的单词。通过check_letter函数判断字母是否在有效范围内,longest_letter_start函数找出最长单词的起始位置。此外,实验还涉及到了处理多个学生多门课程成绩的计算与输出。
摘要由CSDN通过智能技术生成

数据类型、运算符和表达式实验报告.doc

广 州 大 学

实 验 报 告

学 院 工商管理学院 专业、班级 电子商务131班 姓名、学号 余鹏 1365800011 课程名称 C语言程序设计 项目名称 函数

实验时间: 2014 年 10 月 28 日开课实验室:社会科学仿真实验室数据类型、运算符和表达式实验报告2014年10月28日学院工商管理年级、专业、班13电子商务1班姓名余鹏成绩课程名称C语言程序设计实验项目名 称函数指导教师签名一、实验目的①掌握定义函数的方法;②掌握函数实参与形参的对应关系以及“值传递”的方式;③掌握全局变量和局部变量,动态变量、静态变量的概念和使用方法。

二、实验原理(算法分析(包括流程图))开始请输入需要比较大小的单词,以空格隔开

1.输入单词str输出:其中最长的单词为i=longest_letter_start(str)check_letter(str[i])=1?输出str[i]输出/n/n结束

定义函数check_letter(char c)65>=c<=90或97<=c<=122?check_letter=0

结束

check_letter=1

开始定义longest_letter_start函数word=0;max_length=0;length=0,i=0;str[i]!=”\0”?check_letter(str[i]==1)?结束return:longest_letter_start;

length=0;end=0;max_length=length;longest_letter_start=letter_start;end==1?length>max_length?end=0;word=1;letter_start=i;length++word=0end=1word==1?str[i+1]==”\0”?word=0?word=1?

2.开始输出请分别输入10个学生的5门课的成绩j<=9?i=0;j<=4?j=0;aver(socre);输出”\n\n”;aver_subject(score);

输入”%f”,&score[i][j;]j++;结束

三、实验过程原始记录(数据、图表、计算等)问题一:程序代码如下#include "stdafx.h"#include void main() {char str[100] ;

int check_letter(char);int longest_letter_start(char[]);int i;printf("请输入需要比较大小的单词,以空格隔开:\n\n");gets(str);printf("\n");printf("其中最长的单词为:\n\n");

for(i=longest_letter_start(str); check_letter(str[i]); i++) {printf("%c", str[i]);}

printf("\n\n");}

int check_letter(char c) //定义判断单词{if((c <= 90 && c >= 65) || (c <= 122 && c >= 97)) {return 1;}return 0;}

int longest_letter_start(char str[]) //定义最长单词从何处开始{

int i, word=0, end=0;int letter_start, longest_letter_start;int max_length=0, length=0;for(i=0; str[i]!='\0'; i++) //判断单个单词长度{

if(check_letter(str[i])==1){if(word==0){end = 0;word = 1;

letter_start = i;}if(word==1)length++;if(str[i+1] == '\0') end=1;} else //和if(check_letter(str[i]))配对{if(word==1){end=1;}word = 0;

}

if(end==1)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值