㈠ 跪求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");
}