太原理工大学现代科技学院C语言程序设计课程实验报告专业班级学号姓名指导教师焦雄5.#include <stdio.h> void main(){int a=10,n=5;a+=a;printf("%d\n",a);a=10,a-=2;printf("%d\n",a);a=10,a*=2+3;printf("%d\n",a);a=10,a/=a+a;printf("%d\n",a);a=10,a%=(n%=2);printf("%d\n",a);a=10,a+=a-=a*=a;printf("%d\n",a); }遇到的问题和解决方法心得体会实验三简单程序、分支程序和循环程序设计实验名称实验目的和要求1.理解C语言程序的基本结构和实现基本结构的语句;2.熟练应用赋值、输入和输出语句;3.理解并掌握关系运算符、逻辑运算符及其表达式的使用;4.熟练掌握if语句、switch语句、while语句、do—while语句和for语句的用法;实验内容1.输入并运行第3章例3-3、例3-6中的程序,通过输出结果理解对应的格式说明。
2.输入并运行第3章例3-8、例3-10中的程序,注意输入数据的格式。
3.已知圆柱半径r=1.5,圆柱高h=3,编程求圆周长,圆面积和圆柱体积。
4.输入一百分制成绩,输出成绩等级A、B、C、D、E。
90分以上为A,80~89为B,70~79分为C,60~69分为D,60分以下为E。
要求程序能处理错误的输入数据。
5.利用公式:π/4=1-1/3+1/5-1/7+……,求π的近似值,直到最后一项的绝对值小于10-6为止。
(fabs(t)表示t的绝对值,1e-6=1*10-6)。
6.求100-200间所有素数。
7.输出三角形的九九乘法口诀表。
8.打印水仙花数。
水仙花数是指一个3位数,其各位数字立方和等于该数本身。
主要仪器设备台式或笔记本电脑实验记录(写出实验内容中3,5,7的程序代码和运行结果)(可分栏或加页)3.#include <stdio.h>#define PI 3.14159void main(){float r=1.5,h=3,c,s,v;c=2*PI*r;s=PI*r*r;v=s*h;printf("%f %f %f\n",c,s,v);}5.#include<stdio.h>void main(){float i = 1, k = 1, PI = 0;do {PI += i / k;k = k + 2;i = -i;} while (1 / k >= 0.000001);PI = PI / 4;printf("PI=%f\n", PI);}7.#include"stdio.h"void main(){int i, j, s;for (i = 1; i<10; i++){for (j = 1; j<=i; j++){s = i*j;printf("%d*%d=%-3d", i, j, s);}printf("\n");}}3.#include<stdio.h>int main(){int i, a[20];a[0] = 1; a[1] = 1;for (i = 2; i<20; i++){a[i] = a[i - 1] + a[i - 2];}for (i = 0; i<20; i++)printf("%5d", a[i]);printf("\n");}遇到的问题和解决方法心得体会实验五指针应用程序设计实验名称实验目的和要求1.理解指针的概念,掌握指针变量的定义和赋值,掌握使用指针变量访问数据的方法;2.学会使用指针处理数组中的数据,学会用指针处理字符串;3.了解指针数组和指向指针的指针;实验内容1.输入并运行第5章例5-1、例5-3中的程序,观察输出结果,理解指针变量的用法。
2.输入并运行第5章例5-5中的程序,掌握使用指针变量访问数组元素的方法。
3.编程序,输入有一个英文句子,将每个单词的第一个字母改为大写。
(使用指针)主要仪器设备台式或笔记本电脑实验记录(写出实验内容中3的程序代码和运行结果)(可分栏或加页)3.#include"stdio.h"#include"ctype.h"void main(){char s[100];char *p = s;printf("请输入句子:");gets_s(s);if (islower(*p))*p -= 32;p++;while (*p){if (islower(*p) && !isalpha(*(p - 1)))(*p) -= 32;p++;}puts(s);}break;}elsej = 1;}}return j;}int main(){char s[100];printf("请输入一断字符串:\n");gets_s(s);h = strlen(s);if (huiwen(s) == 0){printf("不是回文");}elseprintf("是回文");return 0;}2.#include<stdio.h>#include<math.h>int i, j, h[100], n;void input();void sort(int s[100]);void search();void input(){char ch;i = 0;break;}}if (lemp == 1){printf("%6d\n", h[i]);}lemp = 1;}}int main(){input();sort(h);search();return 0;}3.#include<stdio.h>int fac1();int fac2();int main(){int i;for (i = 0; i<3; i++)printf("%5d", fac1());printf("\n");for (i = 0; i<3; i++)printf("%5d", fac2());printf("\n");return 0;}int fac1(){static int x = 1;x *= 5;return(x);}int fac2(){int y = 1;y *= 5;return(y);}遇到的问题和解决方法心得体会实验七结构体应用程序设计实验名称实验目的和要求1.理解结构体的概念,掌握结构体类型的定义和结构体变量、数组和指针的定义;2.掌握结构体变量和结构体数组的初始化方法;3.掌握结构体变量和结构体成员的引用方法;实验内容1.输入并运行第7章例7-1中的程序。
理解结构体类型、变量和结构体成员。
2.编写一个程序实现如下功能:定义一个点的结构数据类型,实现下列功能:⑴输入点的坐标值。
⑵求两个点中点坐标。
⑶求两点间距离。
主要仪器设备台式或笔记本计算机实验记录(写出实验内容中1,2的程序代码和运行结果)(可分栏或加页)1.#include<stdio.h>struct complex{float real;float imag;};int main(){struct complex x, y, s, p;scanf("%f,%f", &x.real, &x.imag);scanf("%f,%f", &y.real, &y.imag);s.real = x.real + y.real;s.imag = x.imag + y.imag;p.real = x.real*y.real - x.imag*y.imag;p.imag = x.real*y.imag - x.imag*y.real;printf("两复数的和为:%f+%fi\n", s.real, s.imag);printf("两复数的积为:%f+%fi\n", p.real, p.imag);return 0;}2.#include<stdio.h>#include<math.h>struct point{float abscissa;float ordinate;};int main(){struct point x, y;float a, b, c;scanf("%f%f", &x.abscissa, &x.ordinate);scanf("%f%f", &y.abscissa, &y.ordinate);a = (y.abscissa + x.abscissa) / 2;b = (y.ordinate + x.ordinate) / 2;c = sqrt((y.abscissa - x.abscissa)*(y.abscissa - x.abscissa)+ (y.ordinate - x.ordinate)*(y.ordinate - x.ordinate));printf("两个点的中点坐标为:(%.2f,%.2f)\n", a, b);printf("两点间的距离为:%.4f\n", c);return 0;}遇到的问题和解决方法心得体会fp = fopen("stud", "r");for (i = 1; i<5; i++)if (fwrite(&a[i], sizeof(struct student), 1, fp) != 1) printf("file write error\n");fclose(fp);}4.#include<stdio.h>#include<stdlib.h>#include<string.h>int main(){FILE *fp1, *fp2, *fp3;char ch[255], temp;int i = 0, j, n;if ((fp1 = fopen("file1.txt", "r")) == NULL){遇到的问题和解决方法心得体会20。