㈠ 跪求c语言程序设计课后习题答案及C语言程序设计习题解答与实验指导答案。
第一部分习题解答
第1章引言习题解答1
第2章基本的程序语句习题解答2
第3章程序的简单算法制定习题解答6
第4章分支结构习题解答11
第5章循环结构习题解答19
第6章函数和宏定义习题解答30
第7章数组习题解答38
第8章指针习题解答48
第9章构造数据类型习题解答56
第10章文件操作习题解答65
第11章位运算习题解答73
第二部分实验
第1章引言实验79
1.1目的和要求79
1.2实验练习79
1.3综合练习83
第2章基本的程序语句实验83
2.1目的和要求83
2.2相关知识83
2.3实验练习84
2.4综合练习90
第3章程序的简单算法制定实验91
3.1目的和要求91
3.2实验练习91
第4章分支结构实验96
4.1目的和要求96
4.2相关知识96
4.3实验练习97
4.4综合练习105
第5章循环结构实验107
5.1目的和要求107
5.2相关知识107
5.3实验练习108
5.4综合练习118
第6章函数和宏定义实验120
6.1目的和要求120
6.2相关知识121
6.3实验练习122
6.4综合练习126
第7章数组实验127
7.1目的和要求127
7.2相关知识128
7.3实验练习129
7.4综合练习134
第8章指针实验136
8.1目的和要求136
8.2相关知识136
8.3实验练习137
8.4综合练习144
第9章构造数据类型实验145
9.1目的和要求145
9.2相关知识145
9.3实验练习147
9.4综合练习153
第10章文件操作实验155
10.1目的和要求155
10.2相关知识156
10.3实验练习157
10.4综合练习164
第11章位运算实验165
11.1目的和要求165
11.2相关知识165
11.3实验练习166
11.4综合练习168
第三部分其他
第12章集成开发环境介绍170
12.1Turbo C的安装及使用170
12.1.1Turbo C的安装170
12.1.2Turbo C简介170
12.1.3Turbo C的使用173
12.2Borland C++的安装及使用175
12.2.1Borland C++的安装175
12.2.2编辑、编译和运行程序175
第13章常见编译错误信息176
13.1致命错误177
13.2一般错误177
13.3警告185
㈡ c语言实验,求解
#include "stdio.h"
typedef struct Student
{
int ChineseScore;//语文成绩
int MathScore; //数学成绩
int EnglishScore; //英语成绩
}student[10];
void SumScore(Student student[]) //求每个学生的总分
{
int i;
for(i=0;i<10;i++)
{
int sum=0;
sum=student[i].ChineseScore+student[i].MathScore+student[i].EnglishScore;
printf("第%d个学生的总成绩为:%d\n",i+1,sum);
}
}
void MaxAndMinScore(Student student[]) //求每门课程最低和最高分数
{
int i;
int max,min;
max=min=student[0].ChineseScore;
for(i=0;i<10;i++)
{
if(max<student[i].ChineseScore)
{
max=student[i].ChineseScore;
}
if(min>student[i].ChineseScore)
{
min=student[i].ChineseScore;
}
}
printf("语文成绩中最高分数为:%d,最低分数为:%d\n",max,min);
max=min=student[0].MathScore;
for(i=0;i<10;i++)
{
if(max<student[i].MathScore)
{
max=student[i].MathScore;
}
if(min>student[i].MathScore)
{
min=student[i].MathScore;
}
}
printf("数学成绩中最高分数为:%d,最低分数为:%d\n",max,min);
max=min=student[0].EnglishScore;
for(i=0;i<10;i++)
{
if(max<student[i].EnglishScore)
{
max=student[i].EnglishScore;
}
if(min>student[i].EnglishScore)
{
min=student[i].EnglishScore;
}
}
printf("英语成绩中最高分数为:%d,最低分数为:%d\n",max,min);
}
void StuAverScore(Student student[]) //求每个学生的平均成绩
{
int i;
int sum;
float aver;
for(i=0;i<10;i++)
{
sum=0;
aver=0;
sum=student[i].ChineseScore+student[i].MathScore+student[i].EnglishScore;
aver=sum/3.0;
printf("第%d个学生的平均成绩为:%.1f\n",i+1,aver);
}
}
void CourAverScore(Student student[]) //求每门课程的平均成绩
{
int i;
int sum=0;
float aver=0.0;
for(i=0;i<10;i++)
{
sum+=student[i].ChineseScore;
}
aver=sum/10.0;
printf("语文平均成绩为:%.1f\n",aver);
sum=0;
aver=0;
for(i=0;i<10;i++)
{
sum+=student[i].MathScore;
}
aver=sum/10.0;
printf("数学平均成绩为:%.1f\n",aver);
sum=0;
aver=0;
for(i=0;i<10;i++)
{
sum+=student[i].EnglishScore;
}
aver=sum/10.0;
printf("英语平均成绩为:%.1f\n",aver);
}
void insert(Student student[]) //录入10个学生的成绩
{
int i;
for(i=0;i<10;i++)
{
printf("请输入第%d个学生语文成绩:",i+1);
scanf("%d",&student[i].ChineseScore);
printf("请输入第%d个学生数学成绩:",i+1);
scanf("%d",&student[i].MathScore);
printf("请输入第%d个学生英语成绩:",i+1);
scanf("%d",&student[i].EnglishScore);
}
}
void main()
{
/*Student student[10]={{90,98,76},{56,85,98},{23,56,78},{67,87,59},{90,90,90},
{87,65,45},{76,67,89},{56,90,98},{67,69,80},{78,90,93}};*/ //可以直接初始化
Student student[10];
insert(student);
SumScore(student);
MaxAndMinScore(student);
StuAverScore(student);
CourAverScore(student);
}
希望你看的明白,不明白的地方可以联系我。
㈢ c语言综合实验报告 帮我弄一个
姓名 ***
**学 院 ** 专业 052 班
2007 年 11 月 24 日
实验内容实验五 指导老师 陈老师
一、实验内容及要求:
编译运行习题5-3,观察x、y变量的值。
实现客户机类(类名为CLIENT),其中包含的成员有:字符型静态数据成员ServerName,用来保存服务器名称;整型静态数据成员ClientNum,记录已定义的客户数量;静态函数ChangeServerName(),用来改变服务器名称。在头文件client.h中声明这个类,在文件client.cpp中实现,在文件test.cpp中测试这个类,观察相应的成员变量取值的变化情况。二、实验目的:
1、复习类的声明和使用、掌握对象的声明和使用;
2、学习构造函数和析构函数的使用,观察构造函数和析构函数的执行过程。
三、程序:
//client.h
class Client
{
public:
Client();
~Client();
static ChangeServerName(char *); //改变服务器名称
char * GetServerName(); //返回服务器名称
int GetClientNum (); //返回客户机数量
protected:
static char ServerName[20]; //服务器名称
static int ClientNum; //存放服务器数量
};
/////////////////////////////////////////////////////
//client.cpp
# include <iostream>
# include <cstring>
# include "client.h"
using namespace std;
static char *ServerName = "";
int Client::ClientNum = 0;
Client::Client()
{ClientNum ++;}
Client::~Client(){}
void Client::ChangeServerName(char * names) //改变服务器名称
{strcpy(ServerName,names);}
char * GetServerName() //返回服务器名称
{return ServerName;}
int GetClientNum () //返回服务器数量
{return ClientNum;}
////////////////////////////////////////////////////////
//test.cpp
# include <iostream>
# include "client.cpp"
using namespace std;
void main() //用于测试的主函数
{
Client threeclient[3];
char namestr[20]; //临时存放服务器名称
cout<<"定义了3个客户"<<endl;
cout<<"请输入新服务器名称:"<<endl;
cin>> namestr;
CC.ChangeServerName(namestr);
cout<<"服务器的名称是"<<Client::GetServerName()<<endl;
cout<<"客户数量为"<<CC.GetClientNum ();
}
思考题:
(1)C语言有五种基本数据类型:字符、整型、单精度实型、双精度实型和空类型。结构体可以定义自己所需特殊类型.其他类型是已经定义好,不可修改的,而结构体是根据自己的需要定义的特殊的类型.
(3)采用了循环,复合语句.
㈣ 数据结构实验(C语言): 顺序表实验
//线性表函数操作
#include <stdio.h>
#include <string.h>
#define MaxSize 30
#define Error 0
#define True 1
typedef char ElemType;
typedef struct
{
ElemType elem[MaxSize];
int length;
}SqList; /*顺序表类型定义*/
void InitList(SqList * &L) /*初始化顺序表L*/
{
L = (SqList *)malloc(sizeof(SqList));
L -> length = 0;
}
void DestroyList( SqList *L ) /*释放顺序表L*/
{
free(L);
}
int ListEmpty( SqList *L ) /*判断顺序表L是否为空表*/
{
return( L -> length == 0);
}
int ListLength( SqList *L ) /*返回顺序表L的元素个数*/
{
return( L -> length);
}
void DispList( SqList *L ) /*输出顺序表L*/
{
int i;
if( ListEmpty(L))
return;
for( i = 0; i < L -> length; i++ )
printf("%c", L -> elem[i]);
printf("\n");
}
int GetElem( SqList *L, int i, ElemType &e) /*获取顺序表中的第i个元素*/
{
if( i < 1 || i > L -> elem[i])
return Error;
e = L -> elem[i - 1];
return True;
}
int LocateElem( SqList *L, ElemType e) /*在顺序表中查找元素e*/
{
int i = 0;
while( i < L -> length && L -> elem[i] != e)
i++;
if(i >= L -> length)
return Error;
else
return i+1;
}
int ListInsert( SqList * &L, int i, ElemType e) /*在顺序表L中第i个位置插入元素e*/
{
int j;
if( i < 1 || i > L -> length + 1)
return 0;
i--; /*将顺序表位序转化为elem下标*/
for( j = L -> length; j > i; j--) /*将elem[i]及后面元素后移一个位置*/
L -> elem[j] = L -> elem[j - 1];
L -> elem[i] = e;
L -> length++; /*顺序表长度增1*/
return True;
}
int ListDelete( SqList * &L, int i, ElemType &e) /*顺序表L中删除第i个元素*/
{
int j;
if( i < 1 || i > L -> length)
return Error;
i--; /*将顺序表位序转化为elem下标*/
e = L -> elem[i];
for(j = i; j < L -> length - i; j++)
L -> elem[j] = L -> elem[j + 1];
L -> length--; /*顺序表长度减1*/
return True;
}
void main()
{
SqList *L;
ElemType e;
printf("(1)初始化顺序表L\n");
InitList(L);
printf("(2)依次采用尾插法插入a,b,c,d,e元素\n");
ListInsert(L, 1, 'a');
ListInsert(L, 2, 'b');
ListInsert(L, 3, 'c');
ListInsert(L, 4, 'd');
ListInsert(L, 5, 'e');
printf("(3)输出顺序表L:");
DispList(L);
printf("(4)顺序表L长度 = %d\n", ListLength(L));
printf("(5)顺序表L为%s\n", (ListEmpty(L) ?"空" :"非空"));
GetElem(L, 3, e);
printf("(6)顺序表L的第3个元素 = %c\n", e);
printf("(7)元素a的位置 = %d\n", LocateElem(L,'a'));
printf("(8)在第4个元素位置上插入f元素\n");
ListInsert(L, 4, 'f');
printf("(9)输出新的顺序表L:");
DispList(L);
printf("(10)删除L的第3个元素\n");
ListDelete(L, 3, e);
printf("(11)输出新的顺序表L:");
DispList(L);
printf("(12)释放顺序表L\n");
DestroyList(L);
}
㈤ C语言 编程!!!二、实验题目: 有10个学生,每个学生的数据包括学号,姓名,及三门课成绩,总,平均。
#include(stdio.h)
float score[4];
}person[10];
int i;
printf("请输入10名学生的学号、姓名、及三门成绩:");
for(i=0;i<10;i++)
printf("学号:%d 姓名:%s 成绩:%d %d %d 平均成绩:%d ",person[i]->number,person[i]->name[20],person->score[0],person->score[1],person->score[2],person->score[3]);
}
(5)c语言吉顺如答案实验扩展阅读:
在C语言家族程序中,头文件被大量使用。一般而言,每个C++/C程序通常由头文件和定义文件组成。头文件作为一种包含功能函数、数据接口声明的载体文件,主要用于保存程序的声明,而定义文件用于保存程序的实现。
不像 COBOL、Fortran 和 PL/I等编程语言,在 C 语言的工作任务里不会包含嵌入的关键字,所以几乎所有的 C 语言程序都是由标准函数库的函数来创建的。
㈥ C语言实验题——求级数值
照这下面改:
scanf("%f%f",&n); ————>scanf("%d",&n);
sum=sum-float(1/i); ————>sum=sum-(1.0/i);
sum=sum+float(1/i); ————>sum=sum+(1.0/i);
其他就没有问题了:完整如下
#include<stdio.h>
int main()
{
int n,i;
float sum=0.0;
scanf("%d",&n);
for(i=1;i<=n&&n<=100;i++)
{
if(i%2==0)
sum=sum-(1.0/i);
else
sum=sum+(1.0/i);
}
printf("%f",sum);
return 0;
}
最后结果:0.688172
㈦ C语言实验设计 实验六 数组
main()
{ int a[10],n,i,j,_________________; /*定义,下面出现了min
printf("input n=");
scanf("%d",&n);
printf("input array a[0]a[l]… a[%d]:\n",n-1);
for(i=0;i<n;i++)
scanf("%d",______________________); /*依次存储数据a[i]
printf("before sort:array\n");
for(i=0;i<n;i--)
printf("%d",a[i]);
printf("\n");
for(i=0;i<_______________________;i++) /*最大为n-2,倒数第二个
{min=i;
for(j=___________________;j<n;j++) /*从第二个开始 j=i+1
if(a[j]<a[min])_________________; /*a[i]=a[j]交换小的到前面
ax=____________________;
a[i]=a[min];
____________________=ax;} /*a[min],
printf("after sort:array\n");
for(i=0;i<n;i++)
printf("%d", a[i]);
printf("\n");
}
这份代码有比较大问题,我觉得不科学
我修改了下
main()
{ int a[10],n,i,j,min;
printf("input n=");
scanf("%d",&n);
printf("input array a[0]a[l]… a[%d]:\n",n-1);
for(i=0;i<n;i++)
scanf("%d",a[i]);
printf("before sort:array\n");
for(i=0;i<n;i--)
printf("%d ",a[i]);
printf("\n");
for(i=0;i<n-2;i++)
{min=i;
for(j=i+1;j<n;j++)
if(a[j]<a[min])
{ a[i]=a[j];
a[i]=a[min]; }
}
printf("after sort:array\n");
for(i=0;i<n;i++)
printf("%d ", a[i]);
printf("\n");
}