最新实验五-参考答案--计算机C语言
- 格式:doc
- 大小:71.00 KB
- 文档页数:7
实验2答案五.程序改错#include<stdi o.h>int main(void){int x=3,y;y = x*x;printf("%d = %d * %d\n",y,x,x); /* 输出*/printf("%d * %d = %d\n",x,x,y);return 0;}六、一般编程题6.1#include<stdio.h>int main(void){int x,y;printf("Input x: ");scanf("%d",&x);printf("Input y: ");scanf("%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;}6.2#include<stdio.h>int main(void){ float x; double y;printf("Input x: ");scanf("%f",&x);printf("Input y: ");scanf("%lf",&y);printf("%f + %f = %f\n",x,y,x+y);printf("%f - %f = %f\n",x,y,x-y);printf("%f * %f = %f\n",x,y,x*y);printf("%f / %f = %f\n",x,y,x/y);return 0;}6.3#include<stdio.h>int main(void){ char c;printf("Input c: ");scanf("%c",&c);printf("%c\n",c+32);return 0;}6.4#include<stdio.h>int main(void){int celsius,fahr;fahr = 150;celsius = 5*fahr/9 - 5*32/9;printf("fahr = %d, celsius = %d\n", fahr, celsius);return 0;} 如果使用公式9)32(5-⨯=f c 计算结果不一样,celsius = 65。
第六次实验实验1#include"stdlib.h"#include"stdio.h"int main(int argc,char *argv[]){FILE *fp;char string[81],*filename=string;if(argc!=2||(fp=fopen(argv[1],"r"))==NULL){printf("can't open file");exit(0);}while(fgets(string,81,fp)!=NULL)fp=fopen(filename,"r");fclose(fp);}#include<stdio.h>#include<stdlib.h>main(){FILE *fp;char str[100];int i;if((fp=fopen("test.dat","w"))==NULL){printf("Cannot open the file!");exit(0);}printf("Input a string:");gets(str);for(i=0;str[i]&&i<100;i++){if(str[i]>='a'&&str[i]<='z') str[i]=str[i]-32;fputc(str[i],fp);}fclose(fp);fp=fopen("test.dat","r");fgets(str,100,fp);printf("%s\n",str);fclose(fp);}#include<stdio.h>#include<stdlib.h>#define SIZE 3struct student{long num;char name[10];int age;char address[10];} stu[3],out;void fsave(){FILE *fp;int i;if((fp=fopen("student.dat","wb"))==NULL){printf("Cannot open file!");exit(1);}for(i=0;i<3;i++)if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)printf("File write error.\n");fclose(fp);}void main(){FILE *fp;int i;for(i=0;i<3;i++){printf("Input student%d:",i+1);scanf("%ld%s%d %s",&stu[i].num,&stu[i].name,&stu[i].age,&stu[i].address);}fsave();fp=fopen("student.dat","rb");printf(" No. Name Age Address\n");while(fread(&out,sizeof(struct student),1,fp))printf("%4ld%-10s%4d %-15s\n",out.num,,out.age,out.address);fclose(fp);}。
高级语言程序设计(C语言)实验报告。
………………………………………………………………………………………………一、实验题目:语句与顺序结构控制程序设计1)编写程序,已知圆半径radius=1.25,求圆周长和面积。
源代码:运行结果:#include <stdio.h> d=7.853981#define PI 3.1415926 s=4.908735void main(){float r=1.25,d,s;d=2.0*PI*r;s=PI*r*r;printf("d=%f\n",d);printf("s=%f\n",s);}2)编写程序完成大写字母的小写转换。
源代码:运行结果:#include <stdio.h> 请输入一个大写字母:H void main() H h{char ch1,ch2;printf("请输入一个大写字母:");ch1=getchar();ch2=ch1+32;printf("%c %c\n",ch1,ch2);}3)任意从键盘输入一个三位整数,要求正确分离出它的个位、十位和百位数,并分别在屏幕上显示。
源代码:运行结果:#include <stdio.h> 请输入一个整数 :123 void main() b=1,s=2,g=3{int a,g,s,b;printf("请输入一个整数:");scanf("%d",&a);b=a/100;s=(a%100)/10;g=a%10;printf("b=%d,s=%d,g=%d\n",b,s,g);}二、实验题目:选择结构程序设计程序设计1)设变量a、b、c分别存放从键盘输入的3个整数。
编写程序,按从大到小的顺序排列这3个整数,使a成为最大的,c成为最小的,并且按序输出这3个整数。
《C程序设计实验》实验一C程序开发环境(2学时)1.实验目的熟悉C语言的集成开发环境,了解菜单的使用方法;掌握C语言程序上机的编辑、编译、连接、运行的基本步骤;了解C语言程序的结构。
2.实验内容(1)熟悉C语言程序上机的编辑、编译、连接、运行的基本步骤;(2)输入并调试、运行下面的程序。
#include <stdio.h>int main( ){printf ("This is a C program.\n");return 0;}(3)输入并调试、运行下面的程序。
#include <stdio.h>int main( ){int max(int x,int y);int a,b,c;scanf("%d,%d",&a,&b);c = max(a,b);printf("max=%d\n",c);return 0;}int max(int x,int y){int z;if (x > y) z = x;else z = y;return(z);}3.实验仪器设备微型计算机一套,配置Windows系统和VC++6.0/Turbo C3.0 软件。
4.问题讨论将printf函数改为print,调试并分析结果。
实验二数据类型、运算符与表达式(2学时)1.实验目的掌握整型、字符型和实型变量的定义和使用;掌握算术运算符的使用;掌握C语言表达式的运算规则。
2.实验内容(1)输入并调试、运行下面的程序。
#include <stdio.h>int main(){char c1,c2;c1=97;c2=98;printf("%c %c\n",c1,c2);printf("%d %d\n",c1,c2);return 0;}(2)输入并调试、运行下面的程序。
#include <stdio.h>int 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;}3.实验仪器设备微型计算机一套,配置Windows系统和VC++6.0/Turbo C3.0 软件。
5.2基础实验一、程序分析1.以下程序的运行结果是a=3,b=7↙。
#include <stdio.h>intmain( ){ int a=2,b=8;while(b--<0)b-=a ;a++ ;printf(“a=%d,b=%d\n”,a,b);return 0;}2.以下程序的运行结果是sum=14。
#include <stdio.h>intmain( ){ int n,sum= 0 ;n=2345;do{ sum = sum +n%10;n=n/10;} while(n);printf(“sum=%d ”,sum);return 0;}3.以下程序的运行结果是2550。
#include <stdio.h>intmain( ){ int i,s=0;for(i=0;i<=100;i++)if(i%2==0)s=s+i;printf(“%d”,s);return 0;}4.以下程序的运行结果是#↙。
#include <stdio.h>intmain( ){ int i;for(i=1;i<6;i++){ if(i%2) {printf(“#”);break;}printf(“*”);}printf(“\n”);return 0;}5.以下程序的运行结果是#*#*#↙。
#include <stdio.h>intmain( ){ int i;for(i=1;i<6;i++){ if(i%2) {printf(“#”);continue;}printf(“*”);}printf(“\n”);}6.以下程序的运行结果是。
#include <stdio.h>intmain( ){ int i,j;for(i=1; i<=4;i++){ for(j=1;j<=2*i-1;j++)printf(“”);for(j=1;j<=4-i;j++)printf(“*”);printf(“\n”);}return 0;}5.3拓展实验一、程序分析2.⊙以下程序的运行结果是:x=5 y=3 z=0↙。
西北农林科技大学c语言上机实习5答案第一篇:西北农林科技大学 c语言上机实习5答案实习五答案1、用指针实现排序/* exer 5-1 由键盘输入10个整数,将它们按由小到大顺序排列*/ #include void main(void){int a[10],*p = NULL;/* 说明数组和指针 */int i, j, temp;for(p = a;p < a + 10;p++)/* 指针从数组首到尾 */{scanf(“%d”, p);/* 利用指针依次输入 */}p = a;for(i = 0;i < 9;i++)/* 利用指针依次比较 */{for(j = i + 1;j < 10;j++)if(*(p + i)> *(p + j)){temp = *(p + i);*(p + i)= *(p + j);*(p + j)= temp;}}for(p=a;p < a + 9;p++)printf(“%d ”, *p);printf(“%dn”, *p);}2、用指针实现字符串排序/*exer 5-2 将10个长度小于20的字符串排序*/ #include #include void main(void){char szStr[10][20],*psz[10],szTemp[20];int i,j;for(i = 0;i < 10;i++){psz[i] = szStr[i];/*指针数组的每个元素指向各行串*/}for(i = 0;i < 10;i++){gets(psz[i]);/*输入10个字符串*/}for(i = 0;i < 9;i++)/*字符串排序*/{for(j = i + 1;j < 10;j++){if(strcmp(psz[i], psz[j])> 0){strcpy(szTemp, psz[i]);strcpy(psz[i], psz[j]);strcpy(psz[j], szTemp);}}}for(i = 0;i < 10;i++){puts(psz[i]);/*输出字符串*/} }3、数据倒置/*exer 5-3 将具有10个元素的一维数组中的数据倒置 */ #include void main(void){int a[10], iTemp, *p, *q;int i;for(i = 0;i < 10;i++){scanf(“%d”, a + i);/*输入数组*/}p = a;q = a + 9;for(p = a, q = a + 9;p < q;p++, q--)/*首尾交换*/{iTemp = *p;*p = *q;*q = iTemp;}for(i = 0;i < 10;i++){printf(“%d ”, *(a + i));/*输出*/} }4、用指针实现数据位置调整 /*exer 5-4 输入 10个整数,将最大的调到最后,最小的调到最前*/ #includevoid swap(int *px, int *py);int main(void){int a[10], iTemp, *pMax, *pMin;int i;for(i = 0;i < 10;i++){scanf(“%d”, a + i);/*输入数组*/}pMax = a;/*最大值指针指向数组首地址*/pMin = a;/*最小值指针指向数组首地址*/for(i = 1;i < 10;i++){if(*(a+i)> *pMax)pMax = a + i;if(*(a+i)< *pMin)pMin = a + i;}/*最大值是第1个元素,最小值是最后一个元素*/ if(pMax == a && pMin == a + 9){swap(pMax, pMin);}else{/*最小值与第一个元素交换*/swap(a, pMin);/*最大值与最后一个元素交换*/swap(a + 9, pMax);for(i = 0;i < 10;i++){printf(“%d ”, *(a + i));/*输出*/}return 0;}void swap(int *px, int *py){int temp;temp = *px;*px = *py;*py = temp;}5、用指针实现查找二维数组中最大数及其位置/*exer 5-5 找出二维数组(设3行4列)中的最大数及其位置 */ #include void main(void){int a[3][4],(*p)[4], iCol, iRow;int i, j;p = a;for(i = 0;i < 3;i++){for(j = 0;j < 4;j++)scanf(“%d”, *(p + i)+ j);/*输入数组*/}iCol = 0;/*设最大数及其位置 */iRow = 0;for(i = 0;i < 3;i++){for(j = 0;j < 4;j++)if(*(*(p + i)+ j)> *(*(p + iRow)+ iCol)){iRow = i;iCol = j;/*修改位置*/}}}printf(“%d %d %dn”, iRow, iCol, a[iRow][iCol]);}6、用指针实现子字符串提取/*exer 5-6 由键盘输入一串字符,从字符串下标为m开始取出n个字符(m和n由键盘输入),形成一个新的字符串*/ #include #include void main(void){char szStrSour[80], szStrDest[80], *pszSour, *pszDest; int i, m, n;gets(szStrSour);/* 输入字符串 */scanf(“%d%d”, &m, &n);/* 输入位置和长度 */pszSour = szStrSour + m;/* 确定起始位置 */pszDest = szStrDest;for(i = 0;i < n;i++)/* 依次取n个字符 */{*pszDest = *pszSour;pszDest++;pszSour++;}*pszDest = '';puts(szStrDest);}/* 在字符串末尾追加结束标志 */第二篇:西北农林科技大学C语言上机实习4答案实习四答案1、字符串连接/* exer 4-1 两串字符连接 */由键盘任意输入两串字符,不用库函数strcat,连接将两串字符。
C语⾔实验五最简单的C语⾔程序设计实验5:最简单的C语⾔程序设计⼀、实验⽬的:(1)掌握C语⾔中使⽤最多的⼀种语句——赋值语句的使⽤⽅法。
(2)掌握各种类型数据的输⼊输出的⽅法,能正确使⽤各种格式转换符。
(3)进⼀步掌握编写程序和调试程序的⽅法。
⼆、实验内容和步骤:1、通过下⾯的程序掌握各种格式转换符的正确使⽤⽅法。
(1)输⼊以下程序:/* Note:Your choice is C IDE */# includeint main( ){int a,b;float d,e;char c1,c2;double f,g;long m,n;unsigned int p,q;a=61,b=62;c1='a';c2='b';d=3.56;e=-6.87;f=3157.890121;g=0.123456789;m=50000;n=-60000;p=32768;q=40000;printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n",a,b,c1,c2,d,e);printf("f=%15.6f,g=%15.12f\nm=%1d\np=%u,q=%u\n",f,g,m,n,p,q);显⽰结果:(2)运⾏此程序并分析结果。
(3)在此基础上,将程序第10~14⾏改为c1=a,c2=b;f=3157.890121;g=0.123456789;d=f;e=g;运⾏程序,分析结果。
/* Note:Your choice is C IDE */#include"stdio.h"int main(){int a,b;float d,e;char c1,c2;double f,g;long m,n;unsigned int p,q;a=61;b=62;c1=a;c2=b;f=3157.890121;g=0.123456789;d=f;e=g;p=a=m=50000;q=b=n=-60000;printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n",a,b,c1,c2,d,e);printf("f=%15.6f,g=%15.12f\nm=%1d,n=%1d\np=%u,q=%u\n",f,g,m,n,p,q);}显⽰结果:(4)⽤sizeof运算符分别检测程序中各类型的数据占多少字节。
《C程序设计》实验报告学期:教师姓名:教研室:实验1 熟悉C语言程序的运行环境,掌握数据描述1.1 实验目的1.了解在开发环境中如何编辑、编译、连接和运行一个C语言程序。
2.通过运行简单的C语言程序,初步了解C语言程序的结构特点。
3.掌握C语言数据类型的概念,学会使用C语言的相关运算符构成表达式。
1.2 实验预习1.熟悉Visual C++的启动和退出及Visual C++中的编辑、编译、连接和运行命令。
2.了解下列命令及函数:include<stdio.h>、main、printf、scanf。
3.熟悉Visual C++环境下每个菜单项的功能及相关命令对应的操作。
4.各种数据类型变量的定义形式及取值范围;熟悉下列标识符的含义。
int、short (int)、long (int)、unsigned (int)、float、double、char、void 5.各类运算符的优先级和结合规则。
6.常量与变量的区别和联系。
运行环境:1.双击桌面Visual C++快捷方式进入Visual C++,或通过执行“开始——>程序——> Microsoft Visual Studio 6.0——> Microsoft Visual C++6.0”或执行文件"C:\Program Files\Microsoft Visual Studio\COMMON\MSDev98\Bin\MSDEV.EXE"。
2.单击“文件”菜单的“新建”命令。
3.在打开的“新建”对话框中选择“文件”标签。
4.选择C++ Source File,在目录输入栏选择文件保存位置,然后在文件输入栏中输入文件名,扩展名为.c (例如first.c) ,单击确定按钮。
如图所示:5.在源窗口中输入源程序,如图所示。
应工具进行编译编译连接运行若程序有错则找到出错行修改程序。
7.连接:若程序没有语法错误,则可按功能键F7或执行“编译”菜单中的“构件”命令或通过工具栏中的相关工具(编译工具右边工具),进行连接生成可执行文件。
第五次实验题目-第七章函数教学目标31.一元二次方程的系数:a、b、c由主函数输入,编写函数求方程的根。
#include <stdio.h>#include <math.h>void root(double a, double b, double c){ double delta,x1,x2,m,n;if (fabs(a) <= 1e-6){if (fabs(b) <= 1e-6)puts("Not an equation");elseprintf("x=%.2lf",-c/b);return;}else{delta=b*b - 4*a*c;m = -b / (2*a);n = sqrt(fabs(delta)) / (2*a);x1 = m + n;x2 = m - n;if (fabs(delta) <= 1e-6)printf("x1=%.2lf, x2=%.2lf", x1, x1);else if (delta < 0)printf("x1=%.2lf+%.2lfi, x2=%.2lf-%.2lfi",m,n,m,n);elseprintf("x1=%.2lf, x2=%.2lf", x1, x2);}}int main( ){ double a,b,c;scanf("%lf%lf%lf",&a,&b,&c);root(a,b,c);return 0;}教学目标32.输入一串字符,统计其中英文字母的个数,编写统计英文字母个数的函数。
#include<stdio.h>int numberOfLetter(char str[]) {int i=0;int num = 0;//统计字母个数while (str[i]!=’\0’) {if ((str[i]>='A'&& str[i]<='Z')||( str[i]>='a'&& str[i]<='z')) num++;i++;}return num;}int main( ) {char str[100];int letterNum;printf("Enter a string: ");gets(str);letterNum = numberOfLetter(str);printf("Number of letters is %d.\n", letterNum);return 0;}教学目标33. 求100以内所有素数的和。