c程序设计实验指导与测试(第四版)所有示例代码
- 格式:doc
- 大小:1.45 MB
- 文档页数:52
C程序设计第四版实验报告材料实验1C程序地运行环境和运行C程序地方法实用标准文案1.输入下面的程序:#includeint main{printf(This is a c program.\n);return 0;}编译连接无错误,检查得知输出结果无错误。
2.输入错误程序:#includeint main{int a,b,suma=123;b=456;sum=a+bprint (sum is d\n,sum);return 0;}错误提醒:12.cppe:\visual c\12.cpp(4) : error C2146: synta error : missing #;;#; before identifier #;a#;e:\visual c\12.cpp(6) : error C2146: synta error : missing #;;#; before identifier #;print#;e:\visual c\12.cpp(6) : error C2065: #;print#; : undeclared identifier执行 cl.ee 时出错.精彩文档.实用标准文案12.ee - 1 error(s), 0 warning(s)输入正确程序#includeint main{int a,b,sum;a=123;b=456;sum=a+b;printf(sum is d\n,sum);return 0;}输出结果3.输入下面的程序:#includeint main{int ma(int ,int y);int a,b,c;printf(input ab:);scanf(d,d,a,b);c=ma(a,b);printf(ma=d\\n,c);精彩文档.实用标准文案return 0;}int ma(int ,int y);{int z;if(>y) z=;else z=y;return(z);}输出结果将第ma函数中的第3,4两行合并写为一行#includeint main{int ma(int ,int y);int a,b,c;printf(input ab:);scanf(d,d,a,b);c=ma(a,b);printf(ma=d\\n,c);return 0;}int ma(int ,int y){int z;精彩文档.实用标准文案if(>y) z=;else z=y;return (z);}运行结果实验二1.输入如下程序:#includeint main{char c1,c2;c1=97;c2=98;printf(c,c\nc1,c2);printf(d,d\n,c1,c2);return 0;} 运行错误,因为c1前面没有字符将它隔开如果将程序第4,5行改成c1=197;c2=198;输出结果如果将程序第3行改成int c1,c2;精彩文档.实用标准文案)为整形数据(因为int运行时会输出函数输入数据:2.用下面的scanf#includeint main{int a,b;float ,y;char c1,c2;scanf(a=?=d,a,b);scanf(fe,,y);scanf(cc,c1,c2);printf (a=d,b=d,=5.1f,y=5.2f,c1=c,c2=c,a,b,,y,c1,c2);return 0;}a=3,b=7,=8.5,y=71.82,A,a输入a=3 b=7 =8.5 y=71.82 A a输入a=3 b=7 8.5 71.82 A a输入a=3 b=7 8.5 71.82Aa输入精彩文档.实用标准文案3 7 8.5 71.82Aa输入a=3 b=7输入8.5 71.82Aaa=3 b=7 输入8.5 71.82 Aaa=3 b=7 输入8.5 71.82Aa 3.输入以下程序:#includeint main{精彩文档.实用标准文案int i,j,m,n;i=8;j=10;m=++i;n=j++;printf(d,d,d,d\n,i,j,m,n); return 0;}输出结果:行改成,将第67m=i++;n=++j;输出结果:精彩文档.。
C语言实验指导书的程序编码C语言实验程序编码1.平面上两点间的距离#include#includeint main(){double a1,a2;double b1,b2;double distance;printf("please input value a1 and a2:\n"); scanf("%lf%lf",&a1,&a2);printf("please input value b1 and b2:\n"); scanf("%lf%lf",&b1,&b2);distance=sqrt((a1-a2)*(a1-a2)+(b1-b2)*(b1-b2));printf("%lf\n",distance);return 0;}2.#include#includeint main(){double a1,a2;double b1,b2;double distance;printf("please input value a1 and a2:\n");scanf("%lf%lf",&a1,&a2);printf("please input value b1 and b2:\n");scanf("%lf%lf",&b1,&b2);distance=sqrt((a1-a2)*(a1-a2)+(b1-b2)*(b1-b2));printf("%lf\n",distance);return 0;}3.#include//int 占用四字节的32位机#define LOW16 0xFFFFint main(){unsigned int A=0,B=0,C=0,t=0;char hex[33]={0};printf("Please input two unsigned int A and B: "); scanf("%u%u",&A,&B);C=A & LOW16;C<<=16;C |= (B>>16) & LOW16;printf("A=0x%08x\n",A);printf("B=0x%08x\n",B);printf("C=0x%08x\n",C);return 0;}4.#include#includemain(){double x1,y1;double x2,y2;double s;printf("please input a point a:\n");scanf("x1=%lf,y1=%lf\n",&x1,&y1);printf("please input the orther point b:\n");scanf("x2=%lf,y2=%lf\n",&x2,&y2);s=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));printf("平面上任意两点间的距离:%lf\n",s);return 0;}5.#includevoid main(){int i,head,foot,rabbit,chick;printf("Enter the 2 numbers :");scanf("%d%d",&head,&foot);printf("head=%d,foot=%d\n",head,foot);for(i=0;i<=head;i++){rabbit=i;chick=head-rabbit;if(rabbit*4+chick*2==foot)printf("rabbit=%d,chick=%d\n",rabbit,chick);}}6.#include//int 占用四字节的32位机#define LOW16 0xFFFFint main(){unsigned int A=0,B=0,C=0,t=0;char hex[33]={0};printf("Please input two unsigned int A and B: \n"); scanf("%u%u",&A,&B);C=A & LOW16;C<<=16;C |= (B>>16) & LOW16;printf("A=0x%08x\n",A);printf("B=0x%08x\n",B);printf("C=0x%08x\n",C);return 0;}7.#include "stdio.h"main()long int rmb,a,b,c,d,e,f,gw,sw,i;printf("Please enter a number:");scanf("%d",&rmb);if(rmb>0 && rmb<=2147483647){sw=rmb%100;gw=rmb%10;a=rmb/100;b=sw/50;c=(sw-b*50)/20;d=(sw-b*50-c*20)/10;e=gw/5;f=(gw-e*5)/1;printf("$100=%d\n$50=%d\n$20=%d\n$10=%d\n$5=%d\n $1=%d\n",a,b,c,d,e,f);}else printf("Error of money!");return 0;}8.#includevoid main(){float a;printf("请输入成绩a:\n");scanf("%f",&a);if (a>=0&&a<=100){switch((int)(a/10)){case 10:case 9:printf("优\n");break;case 8:printf("良\n");break;case 7:printf("中\n");break;case 6:printf("及格\n");break;default:printf("差\n");break;}}elseprintf("输入错误\n");printf("a=%f\n",a);}9.#include//int 占用四字节的32位机int main(){unsigned int A,B,C;printf("Please input two unsigned int A and B: \n"); scanf("%u%u",&A,&B);A=A<<16;B=B>>16;C=A|B;printf("A=0x%08x\n",A);printf("B=0x%08x\n",B);printf("C=0x%08x\n",C);return 0;}10.#includemain(){unsigned int a,b,c;a=65;b=66;c=67;printf( "a=%c,b=%c,c=%c\n",a,b,c); } 11.#includeint main(){int h,f,x,y;printf( "Input h and f:\n ");scanf( "h=%d,f=%d",&h,&f);y=(f-h-h)/2;x=h-y;printf( "x=%d,y=%d\n ",x,y); return 0;}12.#includevoid main(){int x,y;printf("please enter x,y:");scanf("%d%d",&x,&y);printf("\nx+y=%d\n",x+y);printf("x-y=%d\n",x-y);printf("x*y=%d\n",x*y);printf("x/y=%d\n",x/y);printf("x%y=%d\n",x%y);}13.#includemain(){int h,f,x,y;printf("please input values h and f:\n"); scanf("%d,%d",&h,&f);if (h>0 && f>0){x=(4*h-f)/2;y=(f-2*h)/2;printf("x=%d,y=%d\n",x,y);}elseprintf("input error!\n");return 0;}14.#includeint main(){int i,j,k;for(i=0;i<=100/3;i++){for(j=0;j<=100/2;j++){for(k=0;k<=100;k+=2){if(((i+j+k)==100)&&((3*i+2*j+k/2 )== 100)) printf("%d ,%d ,%d\n", i,j,k);}}}return 0;}15.#includeint main(){int i,j,k;for(i=100/3;i>0;i--){for(j=100/2;j>0;j--){for(k=100;k>0;k-=2){if(((i+j+k)==100)&&((3*i+2*j+k/2 )== 100)) printf("%d ,%d ,%d\n", i,j,k);}}}return 0;}16.#include#include#include//模拟一次投骰子的函数,返回值为0~5,表示骰子的六个面int get_number(void){int num = 0;num = rand() % 6;return num;}main(){int data[6];int i=0;srand(time(NULL));//设置随机数种子for( i=0 ; i < 6 ; i++)//数据初始化{data[i]=0;}for( i=0 ; i<1000; i++)//进行1000次试验{data[get_number()]++;}for( i=0 ; i < 6 ; i++)//统计结果输出{printf("点数为%d的次数为: %d\n",i+1,data[i]);}return 0;}16.1. #include#include#include#includevoid main(){srand(time(NULL));double p1=0,p2=0,p3=0,p4=0,p5=0,p6=0; floati1=0,i2=0,i3=0,i4=0,i5=0,i6=0;for(int i=0;i<1000;i++){if(rand()%6+1==1){i1++;}if(rand()%6+1==2){i2++;}if(rand()%6+1==3){i3++;}if(rand()%6+1==4){i4++;}if(rand()%6+1==5){i5++;}if(rand()%6+1==6){i6++;}}p1=i1/1000;p2=i2/1000;p3=i3/1000;p4=i4/1000;p5=i5/1000;p6=i6/1000;printf("出现1的概率%f:\n",p1); printf("出现2的概率%f:\n",p2); printf("出现3的概率%f:\n",p3);printf("出现4的概率%f:\n",p4);printf("出现5的概率%f:\n",p5);printf("出现6的概率%f:\n",p6);}17.#includemain( ){har string[81];int i,num=0,word=0;char c;gets(string);for(i=0;(c=string[i])!=′\0′;i++)if(c==' '||c==' ')word=0;else if(word= =0){word=1;num++;}printf(″There are %d words in the line.\n″,num);}18.#include#define N 5void main(){int i,j;float max,min,t,a[N];float pjf,sum=0;printf("please input value a[i]:\n");for(i=0;i<n;i++)< p="">scanf("%f",&a[i]);for (i=0;i<n;i++)< p="">{sum=sum+a[i];pjf=sum/N;}max=min=a[0];for(i=1;i<n;i++)< p="">{if(max<a[i])< p="">{max=a[i];}if(min>a[i]){min=a[i];}}printf("大于平均值的数是:\n"); for(i=0;i<n;i++)< p=""> {if(a[i]>pjf)printf("a[%d]=%5.2f\t",i,a[i]); }printf("\n");printf("排列后的数是:\n");for(i=0;i<n-1;i++)< p=""> {for(j=i;j<n;j++)< p=""> {</n;j++)<></n-1;i++)<></n;i++)<></a[i])<></n;i++)<></n;i++)<></n;i++)<>。
C语言程序设计实验及代码随着计算机技术的快速发展,C语言作为一种高效且强大的编程语言,被广泛应用于软件开发、嵌入式系统以及科学计算等领域。
在学习C语言编程的过程中,进行实验并编写相应的代码是非常重要的一部分,可以帮助我们巩固所学的知识并提高编程能力。
本文将介绍几个常见的C语言程序设计实验,并给出相应的代码示例。
一、实验一:Hello, World!实验目的:熟悉C语言编程环境,掌握简单的编译和运行操作。
实验内容:编写一个简单的程序,在屏幕上输出"Hello, World!"。
代码示例:```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```二、实验二:求两个整数的和与差实验目的:学习C语言中的基本数据类型和算术运算符的使用。
实验内容:编写一个程序,输入两个整数并计算它们的和与差,然后输出结果。
代码示例:```c#include <stdio.h>int main() {int num1, num2, sum, diff;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;diff = num1 - num2;printf("两数之和:%d\n", sum);printf("两数之差:%d\n", diff);return 0;}```三、实验三:判断一个数是奇数还是偶数实验目的:学习C语言中的分支语句的使用。
实验内容:编写一个程序,输入一个整数,并判断它是奇数还是偶数,然后输出结果。
代码示例:```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("%d是偶数。
目录实验一熟悉Visual C++开发环境及上机过程错误!未定义书签。
实验二类的定义和对象的使用............. 错误!未定义书签。
实验三多文件结构及静态成员和对象数组的使用错误!未定义书签。
实验四类的继承和派生................... 错误!未定义书签。
实验五多继承 .......................... 错误!未定义书签。
实验六虚函数的使用..................... 错误!未定义书签。
实验七抽象类的使用..................... 错误!未定义书签。
实验八运算符重载和友元................. 错误!未定义书签。
实验九 STL的使用....................... 错误!未定义书签。
实验十 STL的使用....................... 错误!未定义书签。
实验十一利用AppWizard向导生成Windows应用程序错误!未定义书签。
C++实验上机指导实验一熟悉Visual C++开发环境及上机过程一、实验目的1、了解和使用VC集成开发环境;2、熟悉VC环境的基本命令和功能键;3、熟悉常用的功能菜单命令;4、学习使用VC++环境的帮助;5、学习完整的C++程序开发过程;6、理解简单的C++程序结构。
二、实验内容使用Visual C++ 6.0集成环境来编辑、编译并运行程序1:#include <iostream>using namespace std;class TAdd{public:TAdd(int a,int b){x=a;y=b;cout<<"constructor."<<endl;cout<<x<<","<<y<<endl;}~TAdd(){cout<<"destructor."<<endl;cout<<x<<","<<y<<endl;}int add(){return x+y;}private:int x,y;};int main(){TAdd p1(3,4);cout<<"x+y="<<p1.add()<<endl;TAdd p2(30,40);cout<<"x+y="<<p2.add()<<endl;return 0;}三、实验步骤启动Visual C++ 6.0——选择菜单“开始/程序/Microsoft Visual Studio6.0/Microsoft Visual C++ 6.0”,启动后的用户界面如图1-1所示。
目录实验一熟悉Visual C++开发环境及上机过程 (1)实验二类的定义和对象的使用 (6)实验三多文件结构及静态成员和对象数组的使用 (7)实验四类的继承和派生 (9)实验五多继承 (11)实验六虚函数的使用 (13)实验七抽象类的使用 (16)实验八运算符重载和友元 (18)实验九 STL的使用 (19)实验十利用AppWizard向导生成Windows应用程序 (21)实验一熟悉Visual C++开发环境及上机过程一、实验目的1、了解和使用VC集成开发环境;2、熟悉VC环境的基本命令和功能键;3、熟悉常用的功能菜单命令;4、学习使用VC++环境的帮助;5、学习完整的C++程序开发过程;6、理解简单的C++程序结构。
二、实验内容使用Visual C++ 6.0集成环境来编辑、编译并运行程序1:#include <iostream>using namespace std;class TAdd{public:TAdd(int a,int b){x=a;y=b;cout<<"constructor."<<endl;cout<<x<<","<<y<<endl;}~TAdd(){cout<<"destructor."<<endl;cout<<x<<","<<y<<endl;}int add(){return x+y;}private:int x,y;};int main(){TAdd p1(3,4);cout<<"x+y="<<p1.add()<<endl;TAdd p2(30,40);cout<<"x+y="<<p2.add()<<endl;return 0;}三、实验步骤启动Visual C++ 6.0——选择菜单“开始/程序/Microsoft Visual Studio6.0/Microsoft Visual C++ 6.0”,启动后的用户界面如图1-1所示。
C语言程序设计实验指导书目录实验1 运行简单的C程序................... 错误!未定义书签。
实验2 练习使用算术运算符 ............... 错误!未定义书签。
实验3 使用输入、输出函数 ............... 错误!未定义书签。
实验4 模拟ATM取款机界面............. 错误!未定义书签。
实验5 循环语句的使用——猜数字游戏错误!未定义书签。
实验6 一维数组的应用 ....................... 错误!未定义书签。
实验7 二维数组的应用 ....................... 错误!未定义书签。
实验8 函数参数的传递 ....................... 错误!未定义书签。
实验9 嵌套与递归调用的实现 ........... 错误!未定义书签。
实验10 结构体和共用体 ..................... 错误!未定义书签。
实验11 文件.......................................... 错误!未定义书签。
课程设计:单链表的操作 ...................... 错误!未定义书签。
实验1 运行简单的C程序一.实训目的:1、熟悉TC运行环境2、练习简单C程序的编写3、熟练掌握C程序的上机运行步骤二.实训内容:1.实验要求:编程求37+29的值,熟悉TC运行环境2.分析与设计:编写一个main()函数,将数据37和29分别用变量保存,然后用另一个变量存放两个变量的和,最后将和变量的值输出。
3.源代码:main(){int a,b,sum;a=37;b=29;sum=a+b;printf(“sum=%d”,sum);}在TC环境中输入上面的代码后,先编译、连接,再保存,然后再运行。
具体操作步骤如下所示:(1)编译(2)连接C语言程序设计实验指导书(3)保存F2(4)运行CTRL+F9(5)运行结果ALT+F5按任意键返回注意:1、第(1)步和第(2)步可以合起来操作,使用快捷键F92、程序比较大时,最好边输入代码,边保存,以防止意外情况的发生。
C 语言程序设计上机实验指导与习题参考答案(第四版)(学生改编)实验 1:C语言程序初步一、实验目的(1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。
(2)了解在该系统上如何编辑、编译、连接和运行一个 C程序。
(3)通过运行简单的 C 程序,初步了解 C程序的特点。
(4)在教师的指导下,学会使用在线评判系统。
二、实验内容1.运行第一个 C 程序题目:ThefirstCProgram将下列程序输入visualc ,编译、连接和运行该程序。
includequotstdio.hquotmain printfquotThefirstCProgramnquot具体操作步骤(1)在编辑窗口中输入程序。
(2)保存程序,取名为a1.c。
(3)按照第一章中介绍的方法,编译、连接和运行程序。
,则该题完成。
4按照第三章介绍的方法,将代码提交到在线评判系统,系统返回“通过”2.在在线评判系统中提交实现了计算 ab 功能的程序题目 1001:计算ab由键盘输入两个整数,计算并输出两个整数的和。
实现该功能的程序如下,inclu dequotstdio.hquotmain int ab scanfquotddquotampaampbprintfquotdquotab(1)在程序编辑窗口中输入程序。
(2)保存程序,取名为a2.c。
(3)按照前二章中介绍的方法,编译、连接和运行程序。
(4)在程序运行过程中,输入 15 30↙↙表示输入回车符(5)如果看到如下输出结果,则表明1530 的结果正确,如果得不到如下结果,则需检查并更正程序。
45(6)按照第三章中介绍的方法进入在线评判系统。
(7)显示题目列表,点击题号为 1001,题名为“计算ab”的题目。
(8)查看完题目要求后,点击页面下端的“sumbit” ,参照第二章提交程序的方法提交程序a2.c。
(9)查看评判结果,如果得到“accepted”则该题通过,否则返回第一步检查程序是否正确。
C语言程序设计部分实验参考答案实验22-1-2#include <stdio.h>int main(){int c,f=150;c=f*5/9-32*5/9;printf("fahr=%d, celsius=%d\n",f, c);return 0;}思考:不一样结果变为65 因为取整过程不同造成误差2-1-3#include <stdio.h>int main(){int c=26,f;f=c*9/5+32;printf("celsius=%d, fahr=%d\n",c, f);return 0;}#include <stdio.h>int main(){//2-1-4int math=87,eng=72,comp=93;printf("math=%d, eng=%d, comp=%d, average=%d\n",math, eng, comp,(math+eng+comp)/3);return 0;}#include <stdio.h>int main(){//2-1/5int n=152,a,b,c;c=n%10;b=(n/10)%10;a=n/100;printf("整数%d 的个位数字是%d, 十位数字是%d, 百位数字是%d\n",n, c, b, a);return 0;}#include <stdio.h>int main(){//2-1-6int x=3,y;y=x*x;printf("%d=%d*%d\n",y,x,x);printf("%d*%d=%d\n",x,x,y);return 0;}#include <stdio.h>int main(){//2-2-1double x, y;printf("Enter x:");scanf_s("%lf",&x);if(x!=0){y=1/x;}else{y=0;}printf("f(%.2f)=%.1f\n",x,y);return 0;}#include <stdio.h>int main(){//2-2-2int celsius, fahr;fahr=100;celsius=5*(fahr-32)/9;printf("fahr=%d, celsius=%d\n",fahr,celsius);return 0;}#include <stdio.h>int main(){//2-2-3double money, rate,x=1.0;int i,year;printf("Enter money, year and rate:");scanf("%lf %d %lf",&money,&year,&rate);for(i=1;i<=year;i++)x=x*(1+rate);printf("intrest=%.2f\n",money*x-money);return 0;}#include <stdio.h>#include<math.h>int main(){//2-2-4double x, y;printf("Enter x");scanf_s("%lf",&x);if(x<0.0)y=pow(x+1,2)+2*x+1/x;elsey=sqrt(x);printf("f(%.2f)=%.2f\n",x,y);return 0;}#include <stdio.h>#include<math.h>int main(){//2-2-5double x, y;printf("Enter x:");scanf_s("%lf",&x);if(x==10)y=1/x;elsey=x;printf("f(%.2f)=%.1f\n",x,y);return 0;}#include <stdio.h>int main(){//2-2-6int x, y;printf("Enter num1:");scanf_s("%d",&x);printf("Enter num2:");scanf_s("%d",&y);printf("%d+%d=%d\n",x,y,x+y);printf("%d-%d=%d\n",x,y,x-y);printf("%d*%d=%d\n",x,y,x*y);printf("%d/%d=%d\n",x,y,x/y);printf("%d%%d=%d\n",x,y,x%y);return 0;}#include <stdio.h>int main(){//2-3-1int i,sum=0;for(i=1;i<=100;i++){sum=sum+i;}printf("sum=%d\n",sum);return 0;}#include <stdio.h>int main(){//2-3-2int i,m,s=0;printf("Enter m:");scanf("%d",&m);for(i=m;i<=100;i++)s=s+i;printf("sum=%d\n",s);return 0;}#include <stdio.h>int main(){//2-3-3int i,m,n;double s=0.0;printf("Enter m:");scanf("%d",&m);printf("Enter n:");scanf("%d",&n);for(i=m;i<=n;i++)s=s+1.0/i;printf("sum=%f\n",s);return 0;}#include <stdio.h>int main(){//2-3-4int i,n;double s=0.0;printf("Enter n:");scanf("%d",&n);for(i=1;i<=n;i++)s=s+1.0/(2*i-1);printf("sum=%f\n",s);return 0;}#include <stdio.h>int main(){//2-3-5int i,n;double s=1.0,t=1.0,sign=1.0;printf("Enter n:");scanf("%d",&n);for(i=1;i<n;i++){sign=-sign;t=(t+3);s=s+1/t*sign;}printf("sum=%.3f\n",s);return 0;}#include <stdio.h>int main(){//2-3-6int low, uper;double fahr,celsius;printf("Enter low:");scanf_s("%d",&low);printf("Enter uper:");scanf_s("%d",&uper);printf("fahr celsius\n");for(fahr=low;fahr<=uper;fahr+=2){celsius=5.0/9.0*(fahr-32.0);printf("%3.0f %6.1f\n",fahr,celsius);}return 0;}#include <stdio.h>int main(){//2-3-7int m, n, i;double p,sum=0.0;printf("Enter m:");scanf("%d",&m);printf("Enter n:");scanf("%d",&n);p=1.0;for(i=1;i<=m;i++)p=p*i;sum=sum+p;p=1.0;for(i=1;i<=n;i++)p=p*i;sum=sum+p;printf("sum=%.0f\n",sum);return 0;}#include <stdio.h>int main(){//2-3-8int x, n,i;double p=1.0;printf("Enter x:");scanf("%d",&x);printf("Enter n:");for(i=1;i<=n;i++)p=p*x;printf("%d的%d次方是%.0f\n",x, n,p);return 0;}#include <stdio.h>#include<math.h>int main(){//2-4-1int n,i;printf("Enter n:");scanf("%d",&n);for(i=0;i<=n;i++)printf("pow(3,%d)=%.0f\n",i,pow(3.0,i));return 0;}#include <stdio.h>#include<math.h>int main(){//2-4-4double sum=0.0,i;for(i=100;i<=1000;i++){sum+=sqrt(i);}printf("sum=%.2f\n",sum);return 0;}// return 0;}#include <stdio.h>#include<math.h>int main(){//2-2-5double x, y;printf("Enter x:");scanf_s("%lf",&x);if(x==10)y=1/x;elsey=x;printf("f(%.2f)=%.1f\n",x,y);return 0;}#include <stdio.h>int main(){//2-2-6int x, y;printf("Enter num1:");printf("Enter num2:");scanf_s("%d",&y);printf("%d+%d=%d\n",x,y,x+y);printf("%d-%d=%d\n",x,y,x-y);printf("%d*%d=%d\n",x,y,x*y);printf("%d/%d=%d\n",x,y,x/y);printf("%d%%d=%d\n",x,y,x%y);return 0;}#include <stdio.h>int main(){//2-3-1int i,sum=0;for(i=1;i<=100;i++){sum=sum+i;}printf("sum=%d\n",sum);return 0;}#include <stdio.h>int main(){//2-3-2int i,m,s=0;printf("Enter m:");scanf("%d",&m);for(i=m;i<=100;i++)s=s+i;printf("sum=%d\n",s);return 0;}#include <stdio.h>int main(){//2-3-3int i,m,n;double s=0.0;printf("Enter m:");scanf("%d",&m);printf("Enter n:");scanf("%d",&n);for(i=m;i<=n;i++)s=s+1.0/i;printf("sum=%f\n",s);return 0;}#include <stdio.h>int main(){//2-3-4int i,n;double s=0.0;printf("Enter n:");scanf("%d",&n);for(i=1;i<=n;i++)s=s+1.0/(2*i-1);printf("sum=%f\n",s);return 0;}#include <stdio.h>int main(){//2-3-5int i,n;double s=1.0,t=1.0,sign=1.0;printf("Enter n:");scanf("%d",&n);for(i=1;i<n;i++){sign=-sign;t=(t+3);s=s+1/t*sign;}printf("sum=%.3f\n",s);return 0;}#include <stdio.h>int main(){//2-3-6int low, uper;double fahr,celsius;printf("Enter low:");scanf_s("%d",&low);printf("Enter uper:");scanf_s("%d",&uper);printf("fahr celsius\n");for(fahr=low;fahr<=uper;fahr+=2){celsius=5.0/9.0*(fahr-32.0);printf("%3.0f %6.1f\n",fahr,celsius);}return 0;}#include <stdio.h>int main(){//2-3-7int m, n, i;double p,sum=0.0;printf("Enter m:");scanf("%d",&m);printf("Enter n:");scanf("%d",&n);p=1.0;for(i=1;i<=m;i++)p=p*i;sum=sum+p;p=1.0;for(i=1;i<=n;i++)p=p*i;sum=sum+p;printf("sum=%.0f\n",sum);return 0;}#include <stdio.h>int main(){//2-3-8int x, n,i;double p=1.0;printf("Enter x:");scanf("%d",&x);printf("Enter n:");scanf("%d",&n);for(i=1;i<=n;i++)p=p*x;printf("%d的%d次方是%.0f\n",x, n,p);return 0;}#include <stdio.h>#include<math.h>int main(){//2-4-1int n,i;printf("Enter n:");scanf("%d",&n);for(i=0;i<=n;i++)printf("pow(3,%d)=%.0f\n",i,pow(3.0,i));return 0;}#include <stdio.h>#include<math.h>int main(){//2-4-4double sum=0.0,i;for(i=100;i<=1000;i++){sum+=sqrt(i);}printf("sum=%.2f\n",sum);return 0;}实验3#include<stdio.h>#include<math.h>int main(){//3-1double a, b, c, d;printf("Enter a, b, c: ");scanf("%lf%lf%lf",&a,&b,&c);d=b*b-4*a*c;if(a==0)if(b==0)if(c==0)printf("系数均为,方程无意义!\n");elseprintf("a、b为,c不为,方程不成立!\n");elseprintf("x=%.2f\n",c/b);elseif(d>=0){printf("x1=%.2f\n",(-b+sqrt(d))/(2*a));printf("x1=%.2f\n",(-b-sqrt(d))/(2*a));}else{printf("x1=%.2f+%.2fi\n",-b/(2*a),sqrt(-d)/(2*a));printf("x1=%.2f-%.2fi\n",-b/(2*a),sqrt(-d)/(2*a));}return 0;}#include<stdio.h>int main(){//3-2int x,y;printf("Enter x: ");scanf("%d",&x);if(x<0)y=-1;else if(x==0)y=0;elsey=1;printf("sign(%d)=%d\n",x,y);return 0;}#include<stdio.h>int main(){//3-3int letter=0,blank=0,digit=0,other=0,i;char ch;printf("Input 10 characters: ");for(i=0;i<10;i++){ch=getchar();if(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z')letter++;else if(ch==' '||ch=='\n')blank++;else if(ch<='9'&&ch>='0')digit++;elseother++;}printf("letter=%d, blank=%d, digit=%d,other=%d\n",letter,blank,digit,other);return 0;}#include<stdio.h>int main(){//3-4char grade;printf("Input Grade: ");grade=getchar();switch(grade){case 'A':;case 'a':printf("%c对应的百分制成绩区间是~100\n",grade);break;case 'B':;case 'b':printf("%c对应的百分制成绩区间是~90\n",grade);break;case 'C':;case 'c':printf("%c对应的百分制成绩区间是~79\n",grade);break;case 'D':;case 'd':printf("%c对应的百分制成绩区间是~69\n",grade);break;case 'E':;case 'e':printf("%c对应的百分制成绩区间是~59\n",grade);break;default:printf("数据输入错误\n");}return 0;}#include<stdio.h>int main(){//3-5int choice,count;for(count=0;count<5;count++){printf("[1]apple\n");printf("[2]pear\n");printf("[3]orange\n");printf("[4]grape\n");printf("[0]exit\n");printf("Enter your choice:");scanf("%d",&choice);switch(choice){case 0: return 0;case 1:printf("price is %.2f\n",3.0);break;case 2:printf("price is %.2f\n",2.5);break;case 3:printf("price is %.2f\n",4.1);break;case 4:printf("price is %.2f\n",10.2);break;default:printf("price is %.2f\n",0.0);}}return 0;}#include<stdio.h>int main(){//3-6int i;double grade;for(i=0;i<5;i++){printf("Enter grade: ");scanf("%lf",&grade);if(grade<60.0)printf("Fail\n");elseprintf("Pass\n");}return 0;}#include<stdio.h>#include<math.h>int main(){//3-7double a,b,c,s;printf("Enter 3 sides of the triangle: ");scanf("%lf %lf %lf",&a,&b, &c);if(a+b>c&&a+c>b&&b+c>a){s=(a+b+c)/2;printf("area=%.2f; perimeter=%.2f\n",sqrt(s*(s-a)*(s-b)*(s-c)),a+b+c);}elseprintf("These sides do not correspond to a valid triangle\n");return 0;}#include<stdio.h>int main(){//3-8double salary,rate;printf("Enter the salary: ");scanf("%lf",&salary);if(salary<=850)rate=0.0;else if(salary<=1350.0)rate=0.05;else if(salary<=2850.0)rate=0.1;else if(salary<=5850.0)rate=0.15;elserate=0.2;printf("tax=%.2f\n",rate*(salary-850));return 0;}#include<stdio.h>int main(){//3-9int i,n,grade,a=0,b=0,c=0,d=0,e=0;printf("Enter n: ");scanf("%d",&n);for(i=0;i<n;i++){printf("Enter grade %d: ",i+1);scanf("%d",&grade);switch(grade/10){case 9:case 10:a++;break;case 8:b++;break;case 7:c++;break;case 6:d++;break;case 5:case 4:case 3:case 2:case 1:case 0:e++;break;}}printf("The number of A(90~100):%d\n",a);printf("The number of B(80~89):%d\n",b);printf("The number of C(70~79):%d\n",c);printf("The number of D(60~69):%d\n",d);printf("The number of E(0~59):%d\n",e);return 0;}#include<stdio.h>int main(){//3-10char sign;int x,y;printf("输入x运算符y:");scanf("%d%c%d",&x,&sign, &y);if(sign=='*')printf("%d * %d = %d\n",x,y,x*y);else if(sign=='/')printf("%d / %d = %d\n",x,y,x/y);else if(sign=='%')printf("%d Mod %d = %d\n",x,y,x%y);elseprintf("运算符输入错误!\n");return 0;}实验4#include<stdio.h>#include<cmath>int main(){//4-1-2int flag,denominator;double s,eps,item;printf("Input eps:");scanf("%lf",&eps);s=0.0;flag=1;denominator=1;item=1.0;while(fabs(item)>eps){item=flag*1.0/denominator;s=s+item;flag=-flag;denominator=denominator+3;}printf("s=%.6f\n",s);return 0;}#include<stdio.h>int main(){//4-1-3int x,sum;sum=0;printf("Input integers:");scanf("%d",&x);while(x>0){if(x%2!=0)sum=sum+x;scanf("%d",&x);}printf("The sum of the odd numbers is %d\n",sum);return 0;}#include<stdio.h>int main(){//4-1-4int num,count;printf("Input an integer:");scanf("%d",&num);count=0;do{num=num/10;count++;}while(num!=0);printf("count=%d\n",count);return 0;}#include<stdio.h>int main(){//4-1-5int n,x,min,i;printf("Input n:");scanf("%d",&n);printf("Input numbers:");scanf("%d",&x);min=x;for(i=1;i<n;i++){scanf("%d",&x);if(x<min)min=x;}printf("min=%d\n",min);return 0;}int main(){//4-1-6int n,s=0,c=0;printf("Input an integer:");scanf("%d",&n);do{s+=n%10;n/=10;c++;}while(n);printf("count=%d, sum=%d\n",c,s);return 0;}#include<stdio.h>int main(){//4-1-7double a,b,c,s=0.0;int i,n;printf("Input n:");scanf("%d",&n);for(a=1.0,b=1.0,i=0;i<n;i++,c=a+b,a=b,b=c) s+=(1.0+a/b);printf("s=%.2f\n",s);return 0;}#include<stdio.h>int main(){//4-1-8int a,n,i,s=0,t=0;printf("Input a, n:");scanf("%d%d",&a,&n);for(i=0;i<n;i++){t=10*t+a;s+=t;}printf("s=%d\n",s);return 0;}#include<stdio.h>int main(){//4-1-9int n,i;double h,sum=0.0;printf("Input height: ");scanf("%lf",&h);printf("Input n: ");scanf("%d",&n);sum+=h;for(i=1;i<=n;i++){sum+=h;h/=2.0;}printf("distance=%.1f\n",sum);printf("height=%.1f\n",h);return 0;}#include<stdio.h>#include<math.h>int main(){//4-2-2int m,n,i,j,st,c=0;printf("Input m: ");scanf("%d",&m);if(m==1)m++;printf("Input n: ");scanf("%d",&n);for(i=m;i<=n;i++){st=sqrt((double)i);for(j=2;j<=st;j++)if(!(i%j))break;if(j>st){printf("%d ",i);c++;if(!(c%6))printf("\n");}}return 0;}#include<stdio.h>int main(){//4-2-3int money,f1,f2,f5,count=0;printf("Input money: ");scanf("%d",&money);for(f1=1;f1<=money-7;f1++)for(f2=1;f2<=money-6;f2++)for(f5=1;f5<=money-3;f5++)if(f1+2*f2+5*f5==money)count++;printf("count=%d\n",count);for(f1=1;f1<=money-7;f1++)for(f2=1;f2<=money-6;f2++)for(f5=1;f5<=money-3;f5++)if(f1+2*f2+5*f5==money)printf("fen5: %d fen2: %d fen1: %d\n",f5,f2,f1);return 0;}#include<stdio.h>int main(){//4-2-4int m,n,k,a,b,c,tmp;printf("Input m: ");scanf("%d",&m);printf("Input n: ");scanf("%d",&n);for(k=m;k<=n;k++){tmp=k;a=tmp%10;tmp/=10;b=tmp%10;tmp/=10;c=tmp;if(a*a*a+b*b*b+c*c*c==k)printf("%d\t(%d*%d*%d+%d*%d*%d+%d*%d*%d=%d)\n",k,c,c,c,b,b,b,a,a,a,k);}return 0;}#include<stdio.h>int main(){//4-2-5int i,j,s;for(i=1;i<=200;i++){s=1;for(j=2;j<=i/2;j++)if(i%j==0)s=s+j;if(s==i){printf("%d=1",i);for(j=2;j<=i/2;j++)if(i%j==0)printf("+%d",j);printf("\n");}}return 0;}#include<stdio.h>//5-2int sign(int x){if(x>0)return 1;if(x==0)return 0;return -1;}int main(){int x;printf("Enter x:");scanf("%d",&x);printf("sign(%d)=%d\n",x,sign(x));return 0;}#include<stdio.h>//5-3int even(int x){return (x%2==0);}int main(){int x,s=0;printf("Input integers: ");scanf("%d",&x);while(x>0){if(!even(x))s+=x;scanf("%d",&x);}printf("The sum of the odd is %d\n",s);return 0;}#include<stdio.h>//5-4#include<math.h>double distance(double x1,double y1, double x2, double y2){ return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));}int main(){double x1, y1, x2, y2;printf("Input (x1, y1):");scanf("%lf%lf",&x1,&y1);printf("Input (x2, y2):");scanf("%lf%lf",&x2,&y2);printf("distance=%.2f\n",distance(x1,y1,x2, y2));return 0;}#include<stdio.h>//5-5#include<math.h>int prime(int m){int k,sqrtm=sqrt((double)m);for(k=2;k<=sqrtm;k++)if(m%k==0)return 0;return 1;}int main(){int m,n,c=0,s=0,k;printf("Input m:");scanf("%d",&m);printf("Input n:");scanf("%d",&n);for(k=(m==1?2:m);k<=n;k++)if(prime(k)){c++;s+=k;}printf("count=%d, sum=%d\n",c,s);return 0;}#include<stdio.h>//5-6int countdigit(int number, int digit){int c=0;if(number<0)number=-number;do{if(number%10==digit)c++;number/=10;}while(number);return c;}int main(){int n;printf("Enter an integer:");scanf("%d",&n);printf("Number of digit 2: %d\n",countdigit(n,2));return 0;}#include<stdio.h>//5-7int is(int n){int s=0,x,m=n;do{x=m%10;s+=x*x*x;m/=10;}while(m);if(s==n)return 1;return 0;}int main(){int m,n,i;printf("Input m:");scanf("%d",&m);printf("Input n:");scanf("%d",&n);for(i=m;i<=n;i++)if(is(i))printf("%d\n",i);return 0;}#include<stdio.h>//5-8double fact(int n);int main(void){int i;double sum=0.0;/*需要初始化为*/for(i=1;i<=10;i++)/*上界是*/sum=sum+fact(i);printf("1!+2!+...+10!=%f\n",sum);return 0;}double fact(int n){int i;double result=1.0;for(i=1;i<=n;i++)result=result*i;/*result中累积n!*/ return result;}实验7#include<stdio.h>int main(){//7-2-4int a[6][6],n,i,j,flag=1;printf("Input n:");scanf("%d",&n);printf("Input array:\n");for(i=0;i<n;i++)for(j=0;j<n;j++)scanf("%d",&a[i][j]);for(j=0;j<n-1;j++){for(i=j+1;i<n;i++)if(a[i][j]){flag=0;break;}if(flag==0)break;}if(flag==0)printf("No\n");elseprintf("Yes\n");return 0;}#include<stdio.h>int main(){//7-2-6int a[6][6],n,i,j,row,col;printf("Input n:");scanf("%d",&n);printf("Input array:\n");for(i=0;i<n;i++)/*输入矩阵*/for(j=0;j<n;j++)scanf("%d",&a[i][j]);for(i=0;i<n;i++){/*对矩阵的每一行*/row=i;col=0;for(j=0;j<n;j++)/*找当前行的最大值元素a[row][col]*/if(a[i][j]>a[row][col]){col=j;}for(j=0;j<n;j++)/*检测a[row][col]是否为第col列的最小元素*/ if(a[j][col]<a[row][col])break;if(j>=n){//找到鞍点元素a[row][col]printf("a[%d][%d]=%d\n",row,col,a[row][col]);break;}}if(i>=n)/*所有行都检测过没有找到鞍点*/printf("NO\n");return 0;}#include<stdio.h>int main(){//7-3-2char c,s[80];int i,index=-1;printf("Input a character:");c=getchar();getchar();printf("Input a string:");gets(s);i=0;while(s[i]!='\0'){if(s[i]==c)index=i;i++;}if(index>-1)printf("index=%d\n",index);elseprintf("Not found\n");return 0;}#include<stdio.h>int main(){//7-3-3char s[80];int i,upcase=0,count=0;printf("Input a string:");gets(s);i=0;while(s[i]!='\0'){if(s[i]>='A'&&s[i]<='Z'){upcase++;switch(s[i]){case 'A':case 'E':case 'I':case 'O':case 'U':count++;}}i++;}if(upcase)count=upcase-count;printf("count=%d\n",count);return 0;}#include<stdio.h>int main(){//7-3-4char s[80];int i;printf("Input a string:");gets(s);i=0;while(s[i]!='\0'){if(s[i]>='A'&&s[i]<='Z')s[i]='Z'-(s[i]-'A');i++;}printf("After replaced: %s\n",s);return 0;}#include<stdio.h>int main(){//7-3-5char s[80];int i,n=0;printf("Input a string:");gets(s);i=0;while(s[i]!='\0'){if(s[i]>='0'&&s[i]<='9'){n=n*16+s[i]-'0';i++;continue;}switch(s[i]){case 'a':case 'A':n=n*16+10;break;case 'b':case 'B':n=n*16+11;break;case 'c':case 'C':n=n*16+12;break;case 'd':case 'D':n=n*16+13;break;case 'e':case 'E':n=n*16+14;break;case 'f':case 'F':n=n*16+15;break;}i++;}printf("Hex=%d\n",n);return 0;}实验8#include<stdio.h>//8-1-1void move(int *, int, int);int main(){int m, n, i, a[80], *p;printf("Input n, m:");scanf("%d%d",&n, &m);for(p=a,i=0;i<n;i++)scanf("%d",p+i);/*将&p++换成p+i*/ move(a,n,m);printf("After moved:");for(i=0;i<n;i++)printf("%5d",a[i]);return 0;}void move(int *x,int n, int m){int i,j,k;for(i=0;i<m;i++){k=x[n-1];/*暂存x[n-1],因为它将被覆盖*/for(j=n-1;j>0;j--)x[j]=x[j-1];/*设置断点*/x[0]=k;}}#include<stdio.h>//8-1-2#include<stdlib.h>int search(int *, int, int);int main(){int *a,n,i,x,index;printf("Input n:");scanf("%d",&n);if((a=(int*)malloc(n*sizeof(int)))!=NULL) exit(1);printf("Input %d integers:",n);for(i=0;i<n;i++)scanf("%d",a+i);printf("Input x:");scanf("%d",&x);index=search(a,n,x);if(index==-1)printf("Not found\n");elseprintf("index=%d\n",index+1);free(a);return 0;}int search(int *a,int n,int x){int i;for(i=0;i<n;i++)if(a[i]==x)return i;return -1;}#include<stdio.h>//8-1-3#include<stdlib.h>void sort(int*,int);int main(){int i,n,*a;printf("Input n:");scanf("%d",&n);if((a=(int*)malloc(n*sizeof(int)))!=NULL) exit(1);printf("Input %d integers:",n);for(i=0;i<n;i++)scanf("%d",a+i);sort(a,n);printf("After sorted the array is:");for(i=0;i<n;i++)printf("%d ",a[i]);printf("\n");return 0;}int max(int *a,int n){int i,index=0;for(i=1;i<n;i++)if(a[i]>a[index])index=i;return index;}void swap(int *x,int *y){int t=*x;*x=*y;*y=t;}void sort(int *a,int n){int i,j;for(i=n;i>0;i--){j=max(a,i);swap(a+i-1,a+j);}}#include<stdio.h>//8-1-4#include<stdlib.h>int main(){int n,i,total,token,*a;printf("Input n:");scanf("%d",&n);if((a=(int*)malloc(n*sizeof(int)))==NULL) exit(1);for(i=0;i<n;i++)a[i]=i+1;total=n;i=0;while(total>1){token=0;/*报数的当前值*/while(token<3){/*未出队的依次报数*/if(a[i]!=0)token++;if(token<3)/*未满m继续报数*/i=(i+1)%n;}a[i]=0;/*报到的出队*/i=(i+1)%n;total--;/*队中人数减*/}for(i=0;i<n;i++)if(a[i]!=0)break;printf("Last No. is: %d\n",a[i]);free(a);return 0;}#include<stdio.h>//8-2-2#include<string.h>int main(){char s[80],m[80];int length,max=0,i;printf("Input 5 strings: ");for(i=0;i<5;i++){scanf("%s",s);length=strlen(s);if(length>max){max=length;strcpy(m,s);}}printf("The longest is: %s\n",m);return 0;}#include<stdio.h>//8-2-3#include<string.h>void delchar(char *s,char c){int i=0;while(*s!='\0'){if(*s==c)/*遇到字符c*/strcpy(s,s+1);/*将该字符后的部分拷贝成从当前位置开始的串*/ s++;}}int main(){char s[80],c;printf("Input a string: ");gets(s);printf("Input a char: ");scanf("%c",&c);delchar(s,c);printf("After deleted, the string is: %s\n",s);return 0;}#include<stdio.h>//8-2-4#include<string.h>void strmcpy(char *s, char *t, int m){strcpy(s,t+m-1);}int main(){char s[80],t[80];int m;。
(1)检查所用的计算机系统是否已安装了c编译系统并确定它所在的子目录。
(2)进入所用的c编译集成环境。
(3)熟悉集成环境的界面和有关菜单的使用方法。
(4)输入并运行一个简单的正确的程序。
①输入下面的程序:#include <stdio.h>int main(){printf(“This is a c program.\n”);return 0;}②仔细观察屏幕上已输入的程序,检查有无错误。
实验结果:③对源程序进行编译,观察屏幕上的显示的编译信息。
如果出现“出错信息”,则应找出原因并改之,在进行编译,如果无错,则进行连接。
④如果编译连接无错误,运行程序,观察分析运行结果。
(5)输入并编辑一个有错误的c程序。
①输入以下程序。
#include <stdio.h>Int main(){int a,b,suma=123;b=456;sum=a+bprint(“sum is %d\n”,sum);return 0;}②进行编译,仔细分析编译信息窗口,可能显示有多个错误,逐个修改,直到不出现错误。
③使程序运行,分析运行结果。
Compiling...cai25412.cppF:\Program Files\Microsoft Visual Studio\MyProjects\cainian\cai25412.cpp(4) : error C2146: syntax error : missing ‘;’ before identifier ‘a’F:\Program Files\Microsoft Visual Studio\MyProjects\cainian\cai25412.cpp(6) : error C2146: syntax error : missing ‘;’ before identifier ‘print’F:\Program Files\Microsoft Visual Studio\MyProjects\cainian\cai25412.cpp(6) : error C2065: ‘print’ : undeclared identifier执行cl.exe时出错.cai25412.obj - 1 error(s), 0 warning(s)实验结果:(6)输入并运行一个需要在运行时输入数据的程序。
《C语言程序设计》实验源程序代码目录实验二顺序结构程序设计(上) (2)实验三顺序结构程序设计(下) (2)实验四选择结构程序设计(上) (4)实验五选择结构程序设计(下) (4)实验六循环结构程序设计(上) (5)实验七循环结构程序设计(下) (6)实验八函数 (8)实验九数组(上) (9)实验十数组(下) (11)实验十一指针的应用 (12)实验十二结构体 (14)实验十三文件操作 (17)实验二顺序结构程序设计(上)//1-1void main(){ int a=1;printf("1:%d\n", sizeof(a));printf("2:%d\n", sizeof(float));printf("3:%d\n", sizeof(2.0*10));printf("4: %d\n", sizeof("Liu Dehua"));}//1-2-------------------------------------------------------- #include <stdio.h>void main(){ int a1=65,a2,a3;char ch='A'+1;printf("1:\101 \x42 C\n");printf("2:I say:\"How are you?\"\n");printf("3:\t\\\\Display Hello! I am Tom\b!\n");printf("4:65/10=%d,65%%10=%d\n",65/10, 65%10);printf("5:a1=%d,a1=\'%c\'\n",a1,a1);printf("6:ch=%c,ch=%d\n",ch,ch);a2=2,a3=(a1=3,a2+=a1,a1*a2);printf("7:a1=%d,a2=%d,a3=%d\n",a1,a2,a3);a3=a2=a1=2;printf("8:%d,%d,%d\n",(a1,a2+1),a3+2,a1+a2+a3);}//2------------------------------------------------------------#include <stdio.h>void main(){ float c,f;printf("请输入一个华氏温度:\n");scanf("%f",f);c==(5/9)*(f-32);printf("摄氏温度为:%5.2f\n"c);}实验三顺序结构程序设计(下)//1-1#include "stdio.h"void main(){ char ch=65;int a=1234;long g=12345678;float f=123.456789f;double d=9.876543E2;printf("1:%d,%c,%5d,%3c\n",ch,ch,ch,ch);printf("2:%8d,%-8d,%o,%x\n",a,a,a,a);printf("3:%10.3f,%f,%e\n",f,f,f);printf("4:%-10.2lf,%lf,%le\n",d,d,d);printf("5:%10s,%10.3s\n","Hello,world!","Hello,world!");}//1-2#include <stdio.h>main(){ int a,b,c;a=getchar();b=getchar();c=getchar();printf("a=%d b=%d c=%d\n",a,b,c);printf("a=%c b=%c c=%c\n",a,b,c);}//1-3---------------------------------------------------------------------------------------#include "stdio.h"void main(){int a=10,b;int *p; // p为指向整型变量的指针变量 printf("1:a的值=%d, a的内存地址值=%d\n",a, &a); //&a:获取变量a的内存地址值p=&a; //将变量a的内存地址值赋给指针变量p printf("2:p的值=%d, p的内存地址值=%d,p所指向的内存单元的值=%d\n",p,&p,*p);scanf("%d,%d" ,p,&b); //运行时输入100,200【enter】printf("3:a的值=%d,b的值=%d,p所指向的内存单元的值=%d\n",a,b,*p);}//3-3-----------------------------------------------------------#include <stdio.h>#include <math.h> //包含数学函数库void main(){ double a,b,c,p,s;printf("输入三角形三边a,b,c: ");scanf("%lf,%lf,%lf",&a,&b,&c);if(a+b>c && b+c>a && a+c>b) //判断该三边的值是否能构成一个三角形{ p= ;s=sqrt( ); //sqrt():求平方根函数printf("三角形面积=%lf\n",s);}elseprintf("三边(a=%lf,b=%lf,c=%lf)不能构成三角形! ",a,b,c);}实验四选择结构程序设计(上)//2#include <stdio.h>void main(){ char ch,c1,c2;printf("Enter a character:");ch=getchar();if((ch>='A')||(ch<='Z')&& (ch>='a')||(ch<='z'))c1=ch-1;c2=ch+1;if(ch='A'&&ch=’a’) c1=ch+25;else if(ch='Z'&&ch=’z’) c2=ch-25;putchar(c1);putchar(ch);putchar(c2);putchar('\n');}实验五选择结构程序设计(下)//1#include "stdio.h"void main(){ char m;printf(“input the month number:\n”);scanf (“%c”,&m);switch (m){case 1 : printf ("Jan");case 2 : printf ("Feb");case 3 : printf ("Mar");case 4 : printf ("Apr");else : printf ("error");}}//2----------------------------------------------------------------------- #include <stdio.h>void main(){ int a,b,d;char ch;printf("Please input a expression:");scanf("%d%c%d", );switch(ch){ case '+': printf("%d+%d=%d\n",a,b,a+b);break;case '-': printf("%d-%d=%d\n",a,b,a-b);break;case '*': printf("%d*%d=%d\n",a,b,a*b);break;case '/': if( )printf("Divisor is zero\n");elseprintf("%d/%d=%lf\n",a,b, a/b); /*强制类型转换*/;default: printf("Input Operator error!\n");}}实验六循环结构程序设计(上)//1-1#include <stdio.h>void main(){ int i=1,sum=0;while(i<100)sum=sum+i;i++;printf("Sum = %d\n",sum);}//1-2--------------------------------------------------------------------------------#include <stdio.h>void main(){ char x;x='Z';while(x!='A'){ printf("%3d",x);if(('Z'-x)%5= =0) printf("\n");x++;}}//2-1-----------------------------------------------------------------#include<stdio.h>void main(){ int n = 21,i;while ( ){ printf( "You take ... ");scanf("%d",&i);if ( )printf( "Don't try to cheat me, take 1, 2, 3, or 4, please! \n");else{ printf( "I take %d\n", 5-i);n = ; //剩下的火柴棍根数}}printf( " Now take the last one, please! \n Haha^-^, you loss!) \n "); }//2-2-------------------------------------------------------------------- #include <stdio.h>void main(){ int day,x1,x2;day=0;x1=1020;while( ){ x2= ;x1=x2;day++;}printf("day=%d\n",day);}//2-3---------------------------------------------------------------------- #include<stdio.h>void main(){ long x,m,y=0;int gw,count=0;printf("input x=");scanf("%ld",&x);;do{ gw=m%10;y= ;;count++;}while( );printf("x=%ld, count=%d, recycle=%ld\n",x,count,y);}}实验七循环结构程序设计(下)//1-1#include<stdio.h>void main(){ long sum(int);long s=0;int k;for(k=1;k<20;k+=2)s=s+sum(k);printf("s=%ld\n",s);}long sum(int x) //求1+2+...+x{ long result=0;int i;for(i=1;i<=x;i++)result+=i;return result;}//1-2------------------------------------------------------------------------#include<stdio.h>void main(){long s=0,result=0;int k,i;for(k=1;k<20;k+=2){for(i=1;i<=k;i++)result+=i;s=s+result;}printf("s=%ld\n",s);}//2-1--------------------------------------------------------------------------#include<stdio.h>void main(){ float score,sum=0,average;int persons=0;while(1){ scanf("%f",&score);if(score<0)continue;else if(score>100)break;else{ sum+=score;persons++;}}average=(float)(sum/persons);printf("人数=%d,平均分=%f\n",persons,average);}//2-2------------------------------------------------------#include <stdio.h>void main(){ int i,j;for (i=0;i<4;i++){ for (j=0;j<=20;j++)printf("\n");for (j=0;j<2*i+1;j++)printf("*");}}//2-3-----------------------------------------------------------#include "stdio.h"void main(){ int a,k,s=0;for (k=2; k<1000; k++){for (a=1; a<=k/2; a++)if(k%a==0) s+=a;if (s==k) //k是完数printf("%d is OK!\n",k);}}实验八函数//1-1#include "math.h"#include "stdio.h"void main(){ float a,b,c;printf("请输入三角形的边长值:\n");scanf("%f%f%f",a,b,c);if(a+b>c&&a+c>b&&b+c>a)printf("Area=%f\n",area(a,b,c));}area(float a,float b,float c){ float s,area_s;s=(a+b+c)/2.0;area_s=sqrt(s*(s-a)*(s-b)*(s-c));return(area_s);}//1-2--------------------------------------------------------------------------#include<stdio.h>int fun(int n){ int jc=1,i;for(i=2;i<=n;i++) jc*=n;return jc;}void main(){ int n;long sum=0;for(n=1;n<11;n++);if(n%3==0||n%5==0)sum+=fun(int n);printf("sum=%ld\n",sum);}//1-3---------------------------------------------------#include<stdio.h>swap(int *p1,int *p2){ int *p;p=p1;p1=p2;p2=p;}void main(){ int a,b;scanf("%d%d",&a,&b);printf("a=%d\tb=%d\n",a,b);swap(&a,&b);printf("a=%d\tb=%d\n",a,b);}//2-1-----------------------------------------------------------------#include<stdio.h>void printline(int n) //{ int i,k;for(i=1;i<=30-n;i++) printf("%c",' ');for(i=1;i<= ;i++) printf( );printf("\n");}void main(){ int i;for(i=1;i<=5;i++) ;for(i=4;i>=1;i--) ;}//2-2-------------------------------------------------------------------------------------------------------#include " stdio.h "int isprime(int m) //判别m是否为质数{ int i ;for(i=2;m%i!=0;i++); //注意:循环体是空语句return ( );}void main(){ int n,x,a,b;scanf("%d",&x);for(n=6;n<=x ;n+=2)for(a=3;a<=n/2;a+=2)if( ) //若a是素数{ b=n-a;if( ) //若b是素数{ printf(“%d=%d+%d”,n,a,b);; //退出a循环,判别下一个n的组合}}}实验九数组(上)//1-1#include<stdio.h>#define N 9;void main(){ int i,sum=0,a[N],max,min;for(i=0;i<N;i++)scanf("%d",a[i]);sum=max=min=a[0];for(i=0;i<N;i++){ sum+=a[i];if(a[i]>max)max=a[i];else if(a[i]<min)min=a[i];}for(i=0;i<N;i++){ printf("%8d",a[i]);if(i%3==2) printf("\n");}printf("max=%d min=%d average=%lf\n",max,min,sum*1.0/N);}//1-2--------------------------------------------------------------------------------------#include <stdio.h>void main(void){ const int n=3;int i,j,sum;int a[][n]={1,2,3,4,5,6,7,8,9};for(i=0;i<=n;i++)for(j=0;j<=n;j++)if(i==j||i+j==n)sum+=a[i][j];printf("sum=%d\n",sum);}//2-1--------------------------------------------------------------#include <stdio.h>#include <math.h>int Is_sushu(int x){ int i,re;re=x>1?1:0;for(i=2;i<=sqrt(x);i++)if( ){ re=0; break;}return(re);}void main(void){ const int n=10;int ss[n],hs[n],k,m,p1,p2;p1=p2=-1;for(k=1;k<=n;k++){ printf("NO %d:",k);scanf("%d",&m);if( ) //若m为素数{ p1++;ss[p1]=m;}else{ ;hs[p2]=m;}}for(k=0;k<=p1;k++) //输出素数数列printf("%4d ",ss[k]);printf(" count=%d\n",p1);for(k=0;k<=p2;k++) //输出合数数列printf("%4d ",hs[k]);printf("count=%d\n", );}//2-2-------------------------------------------------------#include<stdio.h>#include<stdlib.h>void main( ){ int a[10],i,j,t;for(i=0;i<10;i++){ a[i]= ; //生成随机整数printf("%d ",a[i]);}for(i=0;i<9;i++)for(j=0;j< ; j++)if(a[j]>a[j+1]){ t=a[j];a[j]=a[j+1]; ;}printf("\nthe sorted numbers: \n");for(i=0;i<10;i++)printf("%5d ",a[i]);}实验十数组(下)//1-1#include<stdio.h>void main( ){char a[]="wel",b[]="come";int i,n=0;while(!a[n]) n++;for(i=0;b[i]!='\0';i++)a[n+i]=b[i];printf("%s\n",a);}//1-2---------------------------------------------------------------#include<stdio.h>#define N 6int sum(int x,int n){ int i=0,s=0;while(i<=n)if(x[i]>0){s=s+x[i]; i++;}return s;}void main(){ int i=0,s,a[N];do{ printf("NO%d: ",i+1);scanf("%d",&a[i]);if((-100<=a[i])&&(a[i]<=100))i++;elseprintf("wrong! input again...\n");}while(i<N);s=sum(a[N],N);printf(" sum=%d\n",s);}//2-1------------------------------------------------------------#include "stdio.h"main(){ c har str[40];int alphabet=0,digit=0,space=0,other=0,i=0;printf("请输入一串字符:\n");gets(str);while( ){ if(('A'<=str[i])&&(str[i]<='Z')||('a'<=str[i])&&(str[i]<='z')) ++alphabet;else if(str[i]==' ') ++space;else if((str[i]<='9')&&(str[i]>='0')) ++digit;else ++other;i++;}printf("其中有%d个字母,%d个空格,%d个数字,%d个其他字符!\n",alphabet,space, digit,other);}//2-2-------------------------------------------------------------------------------------------------------#define N 50#define M 20#include <stdio.h>void main(){ char a[N][10]; //学号float score[N][M],max_score; //成绩int n,m,i,j,studid;/*输入学生的学号和各门课程的成绩*/printf("学生数n,课程数m:");scanf("%d,%d",&n,&m);for(i=1;i<=n;i++){ printf("输入第%d位学生的学号:",i);scanf("%s", );printf("按课程顺序输入成绩:");for(j=1;j<=m;j++)scanf("%f", );}/*找出每门课程最高的学生学号、课程代号和成绩并输出*/for(j=1;j<=m;j++){ studid=1;max_score=score[1][j];for(i=1;i<=n;i++)if(score[i][j]> max_score){ max_score=score[i][j];studid=i;}printf("第%d门课程最高分的学生学号是:%s,成绩为:%6.2f\n",j,a[studid],max_score);}}实验十一指针的应用//1-1#include <stdio.h>void main(){ int *p,i,a[5];p=a[1];printf("please enter 5 numbers:");for(i=0;i<5;i++)scanf("%d",p++);for(i=0;i<5;i++,p++)printf("%d ",*p);printf("\n");}//1-2-----------------------------------------------------------------------------------------#include<stdio.h>int digits(char *s){ int c=0;while(s){ if(*s >=0&&*s <=9)c++;s++;}return c;}void main(){ char s[80];printf("请输入一行字符\n");gets(s);printf("个数=%d\n",digits(s));}//2-1-------------------------------------------------------------#include<stdio.h>int findmax(int *s,int t ){ int i,k=0;for(i=0; ;i++)if( ) k=i;return ;}void main(){ int j,a[10]={12,23,34,45,56,67,78,89,11,22},k=0,*add;for(j=0;j<10;j++)printf("%4d%10xh\n",a[j],&a[j]);k=findmax(a,10);add=&a[k];printf("\n数组下标=%d,数组元素值=%d,元素地址=%xh\n",k,a[k], add);}//2-2------------------------------------------------------------------ #include <string.h>#include <stdio.h>#define N 81void fun(char *s){ int i=0,t,n= ;for(;s+i<s+n-1-i;i++){ t=*(s+i);*(s+i)= ;*(s+n-1-i)=t; }}void main(){ char a[N];gets(a);printf("The original string is:");puts(a);fun(a);printf("\nThe string after modified:"); puts(a);}//2-3-----------------------------------------------------------#include<stdio.h>#include "string.h"#define N 5void sort(char (*p)[20]) //利用行指针对N个字符串进行排序{ int i,j; char k[20];for (i=0; i<N-1; i++)for (j=i+1; j<N; j++)if (strcmp( ,*(p+j))>0) //*(p+i)表示第i个串{ strcpy(k,*(p+i));strcpy(*(p+i), );strcpy(*(p+j),k);}}void main(){ char ch[N][20]; int i,j;for (i=0; i<N; i++) gets(ch[i]); //输入N个串sort(ch); //利用行指针排序for(i=0; i<N; i++) puts(ch[i]); //输出}实验十二结构体//1-1#include<stdio.h>struct stud{ char name[20];int age;} ;fun(struct stud person[],int n){ int min,i;min=0;for(i=0;i<n;i++)if(person[i] <person[min] ) min=i;return (person );}void main(){ struct stud a[]={{"Zhao",21},{"Qian",20},{"Sun",19},{"LI",22}};int n=4;struct stud minpers;minpers=fun(a,n);printf("%s 是年龄小者,年龄是:%d\n",,minpers.age);}//2-1-----------------------------------------------------------#include<stdio.h>#include<string.h>struct bdata{ int id;char bname[20];float price;} ;int findbook(struct bdata st[],int n,char s[]){ int i;for(i=0;i<n;i++)if(________) return i;__________________;}void main(){ struct bdata book[100];char st[20];int index;printf("请输入要查找书名:";gets(st);index=findbook(_______________);if (index = = -1) printf("%s的书未找到\n",st);else printf("%s的书在%d位置\n",st,index);}//2-2------------------------------------------------------------------------------------------#include<stdio.h>#define M 3#define N 4struct stud{ int no;char name[16];float mark[M];float aver;};void input(struct stud st[]) //输入学生记录{ int i,j;float sum;for(i=0;i<N;i++){ printf("\n输入第%d个学生的学号,姓名:");scanf("%d,%s", );printf("\n输入第%d个学生的3门课程成绩:");for(j=0;j<M;j++)scanf("%f", );}}void output(struct stud st[]) //输出学生记录{ int i,j;printf("\n学号姓名课程1 课程2 课程3 平均分\n");for(i=0;i<N;i++){ printf("%5d %8s",st[i].no,st[i].name);for(j=0;j<M;j++)printf("%5.1f",st[i].mark[j]);printf("%5.2f",st[i].aver);}}void average(struct stud st[]) //求每个学生的平均成绩{ int i,j;float sum;for(i=0;i<N;i++){ sum= ;for(j=0;j<M;j++)sum= ;=sum/M;}}void main(){ struct stud preson[N];input( );average(preson);output(person);}//2-3---------------------------------------------------------------------------------------------------struct oneday{ int day,month,year; };void main(){ struct oneday day1;int alldays(struct oneday);printf("Enter year,month,day:");scanf("%d-%d-%d", );printf("%d\n",alldays(day1));}int runnian(int year){ if (year%400==0) return(1);if (year%4==0 && year%100!=0) return(1);return(0);}int alldays(struct oneday one){ int day[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};int i,t=0;if (runnian(one.year)) day[2]=29;for (i=1; i< ;i++)t+=day[i];t=t+one.day;return(t);}实验十三文件操作//1-1#include <stdio.h>#include<string.h>void main(){ FILE *fp1;char ch[80];int i,j;fp1=fopen("C:\\data1.dat","b");for(i=1;i<=4;i++){ gets(ch);j=0;while(ch[j]!='\0'){ fputc(fp1, ch[j]); j++; }fputc(fp1,'\n');}fclose(fp1);}//1-2----------------------------------------------------------------------------------------#include <stdlib.h>#include <stdio.h>#include <time.h>void main ( ){ int x[10],i,k;FILE *fp2;srand( (unsigned)time( NULL ) );for (i=0;i<10;i++)x[i]=rand();fp2=fopen ("C:\\data2.dat","wb");if(fp2==NULL){ printf("Open error \n");exit(0);}for (int k=0 ; k<10 ; k++ )fwrite(x[k],sizeof(int), fp2);fclose (fp2) ;}//2-1----------------------------------------------------------------#include<stdio.h>#include<stdlib.h>void main(){ FILE *fp;int i=0;char *str[]={"visual C++","visual Basic","visual java","visual foxpro"};if((fp=fopen("C:\\data3.txt", ))==NULL){ printf("%s不能打开!\n","data3.txt");exit(1);}while(i<4){fprintf( );;}fclose(fp);//2-2-------------------------------------------------------------------------------------------------------------------#include<stdio.h>#include<stdlib.h>void main(){ char c;FILE *fp3; long num=0;if((fp3=fopen("c:\\ data3.txt", ))==NULL){ printf("Open error \n");exit(0); }c=fgetc(fp3);while ( ){;c=fgetc(fp3);}printf("\nnum=%ld\n", num);;}(注:可编辑下载,若有不当之处,请指正,谢谢!)。