济南大学C语言实验答案

合集下载

C语言实验册完整答案

C语言实验册完整答案

实验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。

C语言实验报告题及答案

C语言实验报告题及答案

《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 软件。

《C语言程序设计》实验设计习题答案

《C语言程序设计》实验设计习题答案

《C语言程序设计》实验设计习题答案C语言程序设计是计算机专业的一门基础课程,通过实验设计习题可以帮助学生巩固所学的C语言知识,并提升编程能力。

本文将为您提供《C语言程序设计》实验设计习题的答案,以帮助您更好地理解和掌握相关知识。

实验一:基本输入输出实验题目描述:请编写一个程序,实现输入两个整数并输出其和与积。

```c#include<stdio.h>int main(){int num1, num2;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);int sum = num1 + num2;int product = num1 * num2;printf("和:%d\n", sum);printf("积:%d\n", product);return 0;```实验二:判断奇偶数实验题目描述:请编写一个程序,实现判断输入整数是奇数还是偶数的功能,并输出结果。

```c#include<stdio.h>int main(){int num;printf("请输入一个整数:");scanf("%d", &num);if(num % 2 == 0){printf("%d为偶数\n", num);}else{printf("%d为奇数\n", num);return 0;}```实验三:求和实验题目描述:请编写一个程序,实现输入n个整数并输出其和。

```c#include<stdio.h>int main(){int n, num;int sum = 0;printf("请输入整数的个数:");scanf("%d", &n);for(int i = 0; i < n; i++){printf("请输入第%d个整数:", i+1);scanf("%d", &num);sum += num;printf("和:%d\n", sum);return 0;}```实验四:阶乘实验题目描述:请编写一个程序,实现输入一个整数并输出其阶乘。

C语言实验参考答案

C语言实验参考答案

C语言实验参考答案实验一5、输入并运行自已编写的程序(教材第一章P14 三编程题)。

实验二1、编写一个程序,从键盘接收3个实数(分别为10.0、20.0、5.0),输出这3个数的和s、乘积t和平均值a。

#include <stdio.h>main(){float x,y,z,s,t,a;printf(“x,y,z=”);scanf(“%f,%f,%f”,&x,&y,&z);s=x+y+z;t=x*y*z;a=s/3;printf(“s=%f,t=%f,a=%f\n”,s,t,a);}2、编程。

要求用户输入两个整数a、b(分别为20、10),读取用户从键盘输入的值,然后:1)用整数输出这两个数的和、差;2)用长整型输出这两个数的积,用float输出商;3)用整数输出这两个数的余数,用float输出平均值。

#include <stdio.h>main(){int a,b,he,cha,yu;long ji;float shang,aver;printf(“a,b=”);scanf(“%d,%d”,&a,&b);he=a+b;cha=a-b;ji=(long)a*b;shang=1.0*a/b;yu=a%b;aver=(a+b)/2.0;printf(“a+b=%d,a-b=%d,a*b=%ld\n”,he,cha,ji);printf(“a/b=%f,a%%b=%d,aver=%f\n”,shang,yu,aver);}实验三1、编写一个程序,从键盘接收一个一位的整型数,经转换,用字符函数putchar输出。

例如,输入整数5,程序运行后输出字符5。

#include <stdio.h>main(){int a;char c;printf(“a=”);scanf(“%d”,&a);c=a+48;putchar(c);}2、编程。

C语言实验教程实验答案

C语言实验教程实验答案
}
7.x、y有如下函数关系,编写程序输入x,输出y值。
x (x<1)
y = 2x–1 (1≤x<10)
3x–11 (x≥10)
参考答案:
#include "stdio.h"
main()
{ double x,y;
scanf ("%lf",&x);
if (x<1)
y=x;
else if(x<10)
y=2*x-1;
printf("area=%f",area);
}
运行结果:(具体情况根据自己输入的数据而定)
如在键盘上输入:3,4,5↙
则运行结果为:
area=6.000000
3.已知圆半径、圆柱高、求圆周长、圆柱体积。
程序清单如下:
#include "stdio.h"
main()
{
float r,h,l,v,pi;
3.分析下面程序,写出运行结果,再输入计算机中运行,将得到的结果与分析得到的结果比较对照。
#include "stdio.h"
main()
{
int i , j , m , n ;
i=8; j=10;
m=++i; n=j++;
printf("%d,%d,%d,%d",i,j,m,n);
}
运行结果:
9,11,9,10
pi=3.1415926;
scanf("%f,%f",&r,&h);
l=2*pi*r;
v=pi*r*r*h;
printf("圆周长为:%6.2f\n",l);

济南大学C语言第2-8章答案

济南大学C语言第2-8章答案

第二章习题答案1. 选择题2. 填空1. i=10, j=202. 9003. 3, 45, 64. 123456.1235. a=3_b=7_x=8.5_y=71.82_c1=A_c2=a6. c language第三章习题答案1.选择题2. 填空题1. 5, 3, 42. x>20 && x<30 || x<-1003. (1) 0 (2) 1 (3) 2 (4) 0 (5) 1 (6) 14. 525. 1,for(i=1; i<=10; i++)6. x>=0,x<amin第四章习题答案一、选择题说明:第8题的答案A 应该是□□□□12-30-2099. (即:在12前有4个空格)1、w[i-1] w[i]2、15, 9, 6, 5, 13、a[k]!=y4、s[len]!=‟ \0‟5、tab[i][0] j++6、char 31 7,7、a[i][j]!=a[j][i] 1第五章习题答案错误修定说明:1. 答案B 改为:必须在编译预处理命令(# 命令)之后4. 题目改为,按C语言的规定,以下正确的说法是()二、填空题1、函数2、main函数3、int4、地址5、auto三、读程序题1、k1=3, k2=32、(1)4,1(2)1(3)5,6(4)4,63、2, 284、0235、1,3,26、1010第六章习题答案一、选择题二、填空题1. i pe-- *pe2. n+m-1 *psub=‟\0‟3. *p4. score p[n-1][i]5. n++ *p>‟9‟…0‟6. *s= =*p s++三、读程序题1. 2862. 963. student , 74. 18161412108642第七章习题答案一、选择题说明:16-18题为位运算的题目。

二、填空题1. 结构体2. 相同不相同3. ·->4. 数据域指针域5. 表头结点头指针6. malloc7. 10,Y8. 11,3第八章习题答案一、选择题错误修改说明:第4题题目改为:不能将文件内容全部读人数组x中的语句是()将答案中所有的L去掉第7题将fseek中的参数2改为0第10题将第1个“vfp”改为“fp”二、填空题1. 文本文件二进制文件2. stdin stdout3. NULL4. rb+ 5. EOF6. feof7. !feof(fp) fgetc(fp) n++8. fname ch=getchar() fp9. 该题有错误,题目改正如下(红色为修改的部分)#include<stdio.h>void main( ){ FILE *fp1, *fp2; //增加*char str[80]; //增加变量定义fp1=fopen( );fp2=fopen( );while (!feof(fp1)){ fgets( ); //增加语句fputs( );}fclose(fp1);fclose(fp2);}答案:fp1=fopen( “exam1.c”,”r” ); fp2=fopen( “exam2.c”,”w” );fgets(str,81,fp1); fputs(str,fp2);10. fp=fopen(“num.dat”, “rb”); fscanf( fp,”%d”,&temp); z++三、读程序题1. hello2 . k=123, n=03. postion=0position=1。

《C语言程序开发》实验报告和参考答案

《C语言程序开发》实验报告和参考答案

《C语言程序开发》实验报告和参考答案1实实验报告课程名称:C语言程序开发学生姓名:学生学号:专业班级:指导教师:实验日期:2目录实验一循环结构程序设计(一)求1+2+3+.......+100,1100nn(二)输出100~200之间的不能被3整除的数。

实验二数组及其应用(一)有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。

(二)输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。

实验三函数及其应用(一)有5个学生坐在一起,问第5个学生多少岁,他说比第4个学生大2岁。

问第4个学生岁数,他说比第3个学生大2岁。

问第3个学生,又说比第2个学生大2岁。

问第2个学生,说比第1个学生大2岁。

最后问第1个学生,他说是10岁。

请问第5个学生多大。

(二)用选择法对数组中10个整数按由小到大排序,一维数组名作函数参数。

实验四指针及其应用(一)将若干字符串按字母顺序(由小到大)输出。

(二)有a个学生,每个学生有b门课程的成绩。

要求在用户输入学生序号以后,能输出该学生的全部成绩。

用指针函数来实现。

3实验一循环结构程序设计实验题目:(一)求1+2+3+.......+100,1100nn(二)输出100~200之间的不能被3整除的数。

实验目的1.掌握循环语句的执行过程及用法2.初步掌握循环程序设计的基本技巧3.掌握用while语句,do-while语句和for语句实现循环的方法4.掌握多重循环的使用(一)实验步骤1.题目分析2.源程序代码3.运行结果(二)实验步骤:1.题目分析源程序代码3.运行结果4实验二数组及其应用实验题目:(一)有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。

(二)输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。

实验目的1.掌握一维数组的定义及其元素的引用方法2.掌握利用一维数组实现一些常用算法的基本技巧3.掌握二维数组的定义及其应用4.掌握字符数组和字符串函数的使用5.掌握有关二维数组的基本编程技巧(一)实验步骤:1.题目分析2.源程序代码:3.运行结果(二)实验步骤:1.题目分析2.源程序代码3.运行结果5实验三函数及其应用实验题目:(一)有5个学生坐在一起,问第5个学生多少岁,他说比第4个学生大2岁。

济南大学 C语言 实验题答案

济南大学 C语言 实验题答案

实验一习题2(改正错误):#include <stdio.h>void main 改为void main(){float r, area;scanf(“%d”, &r); aea = 3.14159*r*r 改为scanf(“%f”, &r), area = 3.14159*r*r;printf(“area = %f”, area);}实验二:area = %f\n",!\n");}习题3:#include <stdio.h>加入#include “math.h”void main(){ int x, y; 改为:int x; float y;scanf(“%d”, &x);if(x>0) y = exp(-x);添加elseif(x<0) y = -exp(x);else y = 1;prinft(“y = %f\n”, y); 改为printf(”y=%f\n”, y);添加}Fly with me!实验三:习题1(九九乘法表):#include "stdio.h"void main(){int i, j;for (i = 1; i <= 9; i++){for (j = 1; j <= 9; j++){if (i > j){printf(" ");}else{printf("%-3d", i * j);}}printf("\n");}}习题2(求1—1000的完数):#include "stdio.h"void main(){int i,j;for (i=1;i<=1000;i++){int sum = 1;for (j=2;j<=i/2;j++){if (i%j == 0){sum+=j;}}if (sum == i){printf("%d its factor is: 1,",i);for (j=2;j<=i/2;j++){if (i%j == 0){printf("%d,",j);}}printf("\n");}}}习题3(输出结果):#include "stdio.h"void main(){ int i, j;float s;for (i = 7; i > 4; i--){s = 0.0;for (j = i; j > 3; j--)s = s + i * j;}printf("s = %f\n", s);}Fly with me!实验四习题1(排序改进):(1)冒泡改进:#include "stdio.h"#define N 6void main(){int a[N];int i,j,t;int flag;for (i=0;i<N;i++){scanf("%d",&a[i]);}for (i=0;i<N-1;i++){flag = 0;for(j=0;j<N-1-i;j++){if (a[j] >a[j+1]){flag = 1;t = a[j];a[j] =a[j+1];a[j+1] =t;}}if (flag == 0){break;}}for (i=0;i<N;i++){printf("%3d",a[i]);}}(2)选择改进:#include "stdio.h"#define N 6void main(){int a[N],k;int i,j,t;int flag;for (i=0;i<N;i++){scanf("%d",&a[i]);} for (i=0;i<N-1;i++){for (j=i+1;j<N;j++){k = i;if (a[k] > a[j]){k = j;}if (k!=i){t=a[i];a[i] =a[k];a[k] = t;}}}for (i=0;i<N;i++){printf("%3d",a[i]);}}习题3(改正错误):#include "stdio.h"void main(){int i, max, min, temp, a[10];for (i=0;i<10;i++) scanf("%d", &a[i]);max = min = 0;for (i=1;i<10;i++){if (a[i]>a[max])max = i;if (a[i]<a[min])min = i;}temp = a[0];a[0] = a[min];a[min] = temp;if (max == 0){max = min;}temp = a[9];a[9] = a[max];a[max] = temp;for (i=0;i<10;i++)printf("%-3d", a[i]);}Fly with me!习题1(x的n次幂):#include "stdio.h"double fun1(int x, int n){int i;double sum = x;for (i = 1; i < n; i++){sum = sum * x;}return sum;}void main(){int a, n;double sum;scanf("%d%d", &a,&n);sum = fun1(a, n);printf("sum = %.0f\n",sum);}习题2(两个数的所有公约数):#include "stdio.h"void fun1(int x, int y){int i, temp;temp = x < y ? x : y;printf("%d和%d的所有公约数为:", x, y);for (i = 1; i < temp; i++){if (x % i == 0 &&y % i == 0){printf("%d ",i);}}printf("\n");}void main(){int a, b;scanf("%d%d", &a,&b);fun1(a, b);}习题3(输出结果):#include "stdio.h"int z;int fun1(int x){if (x > 0){return 1;}else if(x < 0){return -1;}else{return 0;}}int fun2(int x){z = z - x;return fun1(x);}void main(){int a1, a2;z = 10;a1 = fun2(10) * fun2(z);printf("%d, %d\n", a1,z);z = 10;a2 = fun2(z) * fun2(10);printf("%d, %d\n", a2,z);}Fly with me!习题1(插入一个数):#include "stdio.h"void insert(int a[], int n, int x){int pos, i;// 初值为最后一个元素pos = n;// 确定要插入的数字的位置for (i = 0; i < n; i++){if (a[i] > x){pos = i;break;}}// 后移数组元素for (i = n; i > pos; i--){a[i] = a[i - 1];}// 插入数字xa[pos] = x;}void main(){int i, m;int a[10] = {3, 7, 9, 12,15};scanf("%d", &m);insert(a, 5, m);for (i = 0; i < 6; i++){printf("%d ", a[i]);}putchar('\n');}习题3(改正错误):#include "stdio.h"#include "string.h"int fun(int score[], int m, int below[]) {int i, k=0;float aver;改为float aver = 0.0;for (i=0;i<m;i++){aver = aver + score[i];aver = aver / m; aver = aver / m;}添加:aver = aver / m;for (i=0;i<m;i++){if (score[i] < aver){below[k] = score[i];k++;return k;}}添加:return k;}void main(){int i, n, below[9];int score[9] = {10, 20, 30, 40, 50, 60, 70, 80, 90};n = fun(score, 9, below[9]) ;改为:n = fun(score, 9, below) ;printf("Below the average score are:");for (i=0;i<n;i++){printf("%d ", below[i]);}printf("\n");}Fly with me!习题1(输出数组中最大及最小元素):#include "stdio.h"void fun(int *s, int *max, int *min){int *p = s;*max = *min = *p;for (;p < s + 6; p++){if (*max < *p){*max = *p;}if (*min > *p){*min = *p;}}}void main(){int a[6];int i, max, min;for (i = 0; i < 6;i++){scanf("%d", &a[i]);}fun(a, &max, &min);printf("max = %d, min = %d\n", max, min); }习题2(数组交换):#include "stdio.h"void swap(int *a, int *b){int temp;temp = *a;*a = *b;*b = temp;}void main(){int a[5] = {1, 3, 5, 7, 9};int b[5] = {2, 4, 6, 8, 10};int i; printf("数组a为:");for (i = 0; i < 5;i++){printf("%d ", a[i]);}printf("\n");printf("数组b为:");for (i = 0; i < 5;i++){printf("%d ", b[i]);}printf("\n");for (i = 0; i < 5;i++){swap(&a[i], &b[i]);}printf("交换后:\n");printf("数组a为:");for (i = 0; i < 5;i++){printf("%d ", a[i]);}printf("\n");printf("数组b为:");for (i = 0; i < 5;i++){printf("%d ", b[i]);}printf("\n");}习题3(改正错误):#include "stdio.h"改为:void fun(char *s, int *a, int *b) {while (*s){ 改为:if (*s >= 'A' && *s <= 'Z') (*a)++;改为:if (*s >= 'a' && *s <= 'z') (*b)++;s++;} }void main(){int upper = 0, lower = 0;char s[100];gets(s);fun(s, &upper, &lower);printf("\n upper = %d, lower = %d\n", upper, lower);}Fly with me!习题1:#include "stdio.h" #define N 10 struct Student { int num;char name[10];float chinese;float math;float english;};void main(){ int i;struct Student students[N];struct Student chi_stu, math_stu, eng_stu;for (i=0;i<N;i++){ scanf("%d%s%f%f%f",&students[i].num, students[i].name, &students[i].chinese , &students[i].math, &students[i].english);}chi_stu = students[0];math_stu = students[0];eng_stu = students[0];for (i=1;i<N;i++){if (students[i].chinese > chi_stu.chinese){chi_stu = students[i];}if (students[i].math > math_stu.math){math_stu = students[i];}if (students[i].english > eng_stu.english){eng_stu = students[i];}}printf("语文最好的学生信息为:\n");printf("%d %s %4.1f %4.1f %4.1f\n", chi_stu.num, chi_, chi_stu.chinese , chi_stu.math, chi_stu.english);printf("数学最好的学生信息为:\n");printf("%d %s %4.1f %4.1f %4.1f\n", math_stu.num, math_, math_stu.chinese , math_stu.math, math_stu.english);printf("英语最好的学生信息为:\n");printf("%d %s %4.1f %4.1f %4.1f\n", eng_stu.num, eng_, eng_stu.chinese , eng_stu.math, eng_stu.english); }Fly with me!习题2:#include "stdio.h"#define N 5struct Student{int num;char name[10];float english;};float average(struct Student stu[]){int i;float sum = 0;for (i=0;i<N;i++){sum += stu[i].english;}sum = sum / N;return sum;}// 选择排序void sort1(struct Student stu[]){int i, j, k;struct Student temp;for (i=0;i<N-1;i++){for (j=i+1;j<N;j++){k = i;if (stu[k].english < stu[j].english){k = j;}if (k != i){temp = stu[i];stu[i] = stu[j];stu[j] = temp;}}}Fly with me!}// 冒泡排序void sort2(struct Student stu[]){int i, j;int flag;struct Student temp;for (i=0;i<N-1;i++){flag = 0;for (j=0;j<N-i-1;j++){if (stu[j].english < stu[j+1].english){flag = 1;temp = stu[j];stu[j] = stu[j+1];stu[j+1] = temp;}}if (flag == 0) break;}}void main(){int i;struct Student students[N];for (i=0;i<N;i++){scanf("%d%s%f", &students[i].num, students[i].name, &students[i].english);}printf("平均值为:%4.1f\n", average(students));sort2(students);printf("成绩清单(从高到低):\n");for (i=0;i<N;i++){printf("%5d%10s%7.1f\n", students[i].num, students[i].name, students[i].english);}}Fly with me!。

C语言实验报告 实验四 参考答案

C语言实验报告 实验四  参考答案

实验四循环结构程序设计2(参考答案)(1)编写程序sy4-1.c,输入n,计算并输出如下多项式的值:S n=1+1/2!+1/3!+1/4!+…+1/n!。

例如输入n为15时,输出1.718282。

算法分析:第一项可以看成1/1!,用循环控制累加n个分式,分式的分母是i!,分子固定为1。

参考答案:# include <stdio.h>void main(){double s=0,p=1;int i,n;scanf("%d",&n);for(i=1;i<=n;i++){p = p * i ; //计算分母i!s = s + 1 / p ; //累加}printf("s=%lf\n",s);}运行结果:(2)编写程序sy4-2.c,输入n,根据以下公式计算s:,例如当n=11时,结果为1.833333。

算法分析:该多项式的分母是累加。

参考答案:# include <stdio.h>void main(){double sn=0,s=0;int i,n;scanf("%d",&n);for(i=1;i<=n;i++){s = s + i ; //计算分母1~i的累加和sn = sn + 1 / s ;}printf("sn=%lf\n",sn);}运行结果:(3)编写程序sy4-3.c,计算3~n之间所有素数的平方根之和,要求:输入n,输出结果。

例如,输入n 的值是100,则输出结果是148.874270。

注意n应在2~100之间。

算法分析:穷举3~n之间的数找素数,若是素数则累加她的平方根。

参考答案:# include <stdio.h># include <math.h>void main(){int i,j,n,flag;double s=0;scanf("%d",&n);for(i=3;i<n;i++) //穷举3~n之间找素数{flag=1; //假设当前的i是素数,标志变量设为1for(j=2;j<i;j++) //穷举要判断是否是素数的i的除数,范围2~i-1if(i%j==0) //若i能被j整除,则不是素数{ flag=0; break; } //标志变量改为0,并终止循环if( flag == 1 )s = s + sqrt( i ); //若i是素数,则累加sqrt(i)}printf("s=%f\n",s);}运行结果:(4)编写程序sy4-4.c,根据以下公式求p的值,(m与n为两个正整数且m>n)。

2022年济南大学公共课《C语言》科目期末试卷B(有答案)

2022年济南大学公共课《C语言》科目期末试卷B(有答案)

2022年济南大学公共课《C语言》科目期末试卷B(有答案)一、填空题1、已有定义int a;float b,x;char cl,c2;为使a=3、b=6.5、x=12.6、cl='a'、c2='A',正确的scanf函数调用语句是_______,数据输入的形式应为_______。

2、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是3、C语言的源程序必须通过【】和【】后,才能被计算机执行。

4、若采用十进制数的表示形式,则077为_______,0111为_______,0xab为_______。

5、若有定义语句:int m=5,y=2;则执行表达式y+=y-=m*=y后的y值是_______6、设x为无符号整数。

表达式x^(~(~0<<n)<<(p+1-n)))的作用是将x 中从第p位开始的n位求反(1变0,0变1),其他位不变。

请按表达式的求值顺序写出分解步骤,并解释含义。

__________________________________7、下面程序段的运行结果是_______。

x=2;do{printf("*");x--;)while(!x==0);8、下面程序段的运行结果是_______。

char ch[]="600";int a,s=0;for(a=0;ch[a]>= '0'&&ch[a]<='9';a++)s=10*s+ch[a]-'o';printf("%d",s);9、下面程序wdm的运行结果是_______。

int i,x[10]={2,3,0,3,0,2,3,2,1,3},y[4]={0};for(i=0;i<10;i++)y[x[i]]++;printf("%d\n",y[3]);10、当运行以下程序时,从键盘输入book<回车>book囗<回车>(囗表示空格),则下面程序段的运行结果是_______。

济南大学c语言实验答案(DOC)

济南大学c语言实验答案(DOC)

实验2 顺序结构程序设计1. 编写程序,从键盘输入一个大写字母,将它转换为对应的小写字母后输出。

参考程序:#include "stdio.h"void main(){char ch;printf(“\nPlease input a capital character:”);scanf(“%c”,&ch);ch=ch+32;printf(“\nThe small letter is %c”,ch);}2.编写程序,输入圆半径r ,求圆周长、圆面积、圆球体积。

参考程序:#include <stdio.h>#include <math.h>#define PI 3.14void main(){float r,c,area,v;printf(“\nPlease input the r:”);scanf(“%f”,&r);c=2*PI*r;area=PI*r*r;v=4.0/3*PI*pow(r,3);printf(“\nThe circle’s perimeter is %.2f”,c);printf(“\nT he circle’s area is %.2f”,area;printf(“\nThe circle’s volume is %.2f”,v);}3. 输入一个华氏温度,要求输出摄氏温度。

公式为:()3295-=F c 输出要有文字说明,取2位小数。

参考程序:#include <stdio.h>void main(){float f,c;printf(“\nPlease input a F temperature:”);scanf(“%f ”,&f);c=5.0/9*(f-32);printf(“\nThe temperature is %.2f ”,c);}4. 有3个电阻r1、r2、r3并联,编写程序计算并输出并联后的电阻r 。

c语言实验报告三答案(完整版)

c语言实验报告三答案(完整版)

实验三循环控制实验课程名:高级语言程序设计(C)专业班级:学号:姓名:实验时间:实验地点:指导教师:一、实验目的和要求1. 熟练掌握用while语句、do while语句和for语句实现循环的方法。

2. 掌握在程序设计中用循的方法实现一些常用算法。

并进一步学习调试程序的方法。

二、实验内容1、任务名称程序c40101.c求1+…+100,填空,实现该功能。

(1、)源代码:#include<stdio.h>int main(){int s,i;s=0;for(i=1;i<=100;i++)s=s+i;printf("1+2+...+100=%d\n",s);return 0;}运行结果:(需要截图)(2、)源代码:#include<stdio.h>int main(){int s=0,i=1;while(i<=100){s+=i;i++;}printf("1+2+...+100=%d\n",s);return 0;}运行结果:运行结果分析:2、任务名称:分别运行这两个程序,若输入7,这两个程序的结果分别是多少?若输入12,这两个程序的结果又分别是多少?比较为什么会有这样的区别?(1、)源代码:#include <stdio.h>void main(){ int i,n,sum=0;scanf("%d",&i);n=i;while(i<=10){ sum+=i;i++;}printf("%d+...+10=%d\n",n,sum);}运行结果:(需要截图)(2、)源代码:#include <stdio.h>int main(){ int i,n,sum=0;scanf("%d",&i);n=i;do{ sum+=i;i++;} while(i<=10);printf("%d+...+10=%d\n",n,sum);return 0;}运行结果:运行结果分析:3、任务名称:下面程序,若输入12345,分析输出结果是多少?源代码:#include <stdio.h>void main( ){ long data;scanf("%ld",&data);while(data){ printf("%ld,",data%10);data=data/10;}}运行结果:(需要截图)运行结果分析:4、任务名称:程序c40104.c 实现求Fibonacci 数列的前n 个数。

c语言程序设计实验指导书答案

c语言程序设计实验指导书答案

c语言程序设计实验指导书答案C语言程序设计实验指导书是帮助学生理解和掌握C语言编程技能的重要工具。

本指导书旨在通过一系列实验,引导学生从基础语法到高级编程技巧,逐步提高编程能力。

以下是一些实验题目和相应的答案示例,以供参考。

实验一:C语言基础语法实验目的:- 熟悉C语言的基本语法结构。

- 掌握变量声明、数据类型和运算符的使用。

实验内容:1. 编写一个程序,输入两个整数,输出它们的和、差、积和商。

实验答案:```c#include <stdio.h>int main() {int num1, num2;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);printf("和是:%d\n", num1 + num2);printf("差是:%d\n", num1 - num2);printf("积是:%d\n", num1 * num2);if (num2 != 0) {printf("商是:%d\n", num1 / num2);} else {printf("除数不能为0。

\n");}return 0;}```实验二:控制结构实验目的:- 掌握条件语句和循环语句的使用。

实验内容:1. 使用循环语句计算1到100的和。

实验答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {sum += i;}printf("1到100的和是:%d\n", sum); return 0;}```实验三:数组和字符串- 掌握数组和字符串的声明、初始化和使用。

实验内容:1. 编写一个程序,输入一个字符串,然后反转该字符串并输出。

济南大学C语言上机实验答案

济南大学C语言上机实验答案

数据类型所占存储空间的大小 #include<stdio.h> void main() { int x,y; float a; scanf(“%d,%d”,&x,&y); a=(float)(x+y)/2; printf("The average is:%f",a); }
(9)2.3,5.4,运行结果-429496729,出错!
#include<stdio.h> void main() { float x,y,a; scanf("%f,%f",&x,&y); a=(x+y)/2; printf("The average is:%f",a); }
2_10. 补充内容:测试各基本数据类型所占用的存储空间大小(VC环境中)。 课本P266第8题 #include<stdio.h> void main( ) { int c,f,i,d,s,l,ld; sizeof( ):用以测试一个数据或数据类型所占 c=sizeof(char); 存储空间字节数。 i=sizeof(int); 格式: sizeof(数据类型)或 sizeof(表达式) s=sizeof(short); l=sizeof(long); f=sizeof(float); d=sizeof(double); ld=sizeof(long double); printf("char=%d, int=%d, short int=%d, long int=%d,float=%d, double=%d, long double=%d\n",c,i,s,l,f,d,ld); }
(7)33000,31542,运行结果-497,出错!

C语言程序设计实验指导书课后答案

C语言程序设计实验指导书课后答案

实验一(1)编程求37+29的值,实习VC环境。

#include<stdio.h>void main(){int a,b,sum;a=37;b=29;sum=a+b;printf("sum=%d",sum);}(2)从键盘输入三个整数,求出最大数并输出。

#include<stdio.h>void main(){int a,b,c,y;int max(int x,int y);printf("input a,b,and c:");scanf("%d,%d,%d",&a,&b,&c);y=max(a,b);y=max(y,c);printf("\nmax=%d\n",y);}int max(int x,int y){int z;if(x>y) z=x;else z=y;return(z);}(3)通过上机实践,运行下列程序并分析输出结果。

A 程序代码#include<stdio.h>void main(){char ch='a';printf("%c对应的ASCII码是:%d\n",ch,ch);}程序输出结果:a对应的ASC||码是:97B 程序代码#include<stdio.h>void main(){int a=168;float b=123.456;float x=35.567,y;printf("a=%5d\n",a);printf("a=%-5d\n",a);printf("b=%6.2f\n",b);printf("b=%e\n",b);y=(int)(x*100+0.5)/100.0;printf("x=f,y=%f\n",x,y);}程序输出结果:a=168a=168b=123.46b=1.234560e+002x=f,y=35.567001C程序代码#include<stdio.h>void main(){int a=168;printf("十进制数%d对应的八进制数是%o\n",a,a);printf("十进制数%d对应的十六进制数是%x\n",a,a); }程序输出结果:十进制数168对应的八进制数是250十进制数168对应的十六进制数是a8实验二2.1顺序结构2.1.1已知a=1.5,b=5.3,c=2.9,计算s=-4ac的结果并输出。

C实验报告答案完整版

C实验报告答案完整版

C实验报告答案完整版实验1简单判定性问题求解⼀、实验学时完成本实验需4学时。

⼆、实验⽬的1、阅读程序题(1)掌握C语⾔数据类型,熟悉如何定义⼀个整型、字符型的变量,以及对它们赋值的⽅法;(2)掌握不同的类型数据之间赋值的规律;(3)掌握数据在内存中的存储⽅式;(4)学会输⼊、输出函数的基本格式和使⽤⽅法;(5)学会使⽤有关算术运算符、逻辑运算符、关系运算符,以及包含这些运算符的表达式。

2、编程题(1)如何运⽤if-else判定性结构进⾏程序设计;(2)如何运⽤switch判定性结构进⾏程序设计。

3、调试题(1)熟悉C程序的编辑、编译、连接和运⾏的过程。

三、实验指导为了达到最佳的实验效果,以下提供⼏条适于编程的指导意见,可供参考。

1、阅读程序题应先运⽤⾃⼰在课堂所学的知识,推导出结果,在上机时输⼊计算机,印证⾃⼰推导的结果,注意观察数据在内存中的存储⽅式、含不同种运算符表达式的输出结果。

2、编程题必须⾸先画出流程图,并反复思考判断程序设计的正确性,完成程序的设计。

要注意简单判定性问题的结构选择。

3、调试题应明确程序的调试、测试是⼀项⾮常烦琐的⼯作,也是⾮常重要的⼯作。

对于初学者来说应该建⽴良好的习惯,在调试程序的时候,应该尽可能考虑到程序运⾏时各种可能情况。

四、实验内容1、阅读程序题(1)main( ){ /*定义字符型变量*/char c1,c2; /*向字符变量赋以整数*/c1=97;c2=98;printf("%c %c\n",c1,c2); /*以字符形式输出*/printf("%d %d\n",c1,c2); /*以整数形式输出*/}思考:可否改成int c1,c2;输出结果是?相同(2)main(){int a=7,b=5;printf("%d\n",b=b/a);}思考:若将printf语句中%d变为%f,可否输出分式的值?可以(3)main() {int a=9;a+=a-=a+a; /*包含复合的赋值运算符的赋值表达式*/printf("%d\n",a);}思考:赋值表达式a+=a-=a+a的求解步骤?第⼀步:a=a-(a+a)=-9 第⼆步a=a+a=18(4)main(){int k=-1;printf("%d,%u\n",k,k);}思考:-1在内存中的存储形式?取反加⼀11111111111111111111111111111111(32个)(5)main(){unsigned x1;int b=-1;x1=b; /*有符号数据传送给⽆符号变量*/printf("%u",x1);}(6)main(){int a=3,b=4,c=5;printf("%d\n",(!(aprintf("%d",c);}思考:若将第⼀个1(换⾏)6(7)main(){ int a=1,b=2,c=3;if(c=a) ; printf("%d\n",c);else printf("%d\n",b);}2、编程序并上机调试运⾏(包括题⽬及要求、流程图、程序清单、测试数据及结果)(1)将⼀个百分制成绩转换成等级制成绩,百分制与等级制的对应具体要求如下:1)⽤switch语句实现该功能;2)⽤键盘输⼊百分制成绩,输⼊前要有提⽰信息,对于不合理的数据应输出错误信息;3)输出结果应包含百分制成绩和成绩等级;4)分别输⼊成绩-10,30,60,68,75,83,95,102,查看记录运⾏结果。

C语言实验报告参考答案(原)

C语言实验报告参考答案(原)
问题4改printf("%c,%c,%d\n",a,b,c);这条语句
改成:printf("\’%c\’\’%c\’%d\n",a,b,c);
问题5把scanf("%c%c%d",&a,&b,&c);和printf("%c,%c,%d\n",a,b,c);
改成scanf("%c%*c%c%*c%d",&a,&b,&c);
#include<math.h>
int count(int x)
{
int sum,i;
sum =0;//记住因子的个数
for(i=1;i<=x/2;i++)
if(x%i == 0)
sum +=1;
return sum+1;
}
int main(void)
{
int i,y;
for(i=1;i<=100;i++)
#include<stdio.h>
#include<math.h>
int prime(int m)
{
int i,k;
k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0)break;
if(i>k)return 1;
return 0;
}
main()
{
int i,k;
k=0;
for(i=3;i<=5000;i++)
if(prime(i)==1){k++;printf("%d is a prime muber \n",i);}

大学大一c语言程序设计实验室上机题全部代码答案(实验报告)

大学大一c语言程序设计实验室上机题全部代码答案(实验报告)

C语言实验报告实验1-1:hello world程序:源代码:#include<stdio.h>main(){printf("hello world!\n");system("pause");}实验1-2:完成3个数据的输入、求和并输出计算结果的程序:源代码:#include<stdio.h>main(){int i,j,k,sum;scanf("%d%d%d",&i,&j,&k);sum=i+j+k;printf("sum=%d",sum);system("pause");实验1-3:在屏幕上输出如下图形:ABBBCCCCC源代码:#include<stdio.h>main(){printf(" A\n");printf(" BBB\n");printf(" CCCCC\n");system("pause");}实验2-1:计算由键盘输入的任何两个双精度数据的平均值源代码:#include<stdio.h>main(){double a,b;scanf("%lf%lf",&a,&b);printf("%.1lf\n",(a+b)/2);system("pause");}实验2-2:写一个输入7个数据的程序,把输入的数据代入a + b * (c – d ) / e * f – g 表达式进行运算源代码:#include<stdio.h>main(){float a,b,c,d,e,f,g,x;scanf("%f%f%f%f%f%f%f",&a,&b,&c,&d,&e,&f,&g);x=a + b * (c - d ) / e * f - g;printf("x=%f",x);system("pause");}实验2-3:编写一个C语言程序,测试下列各表达式:i, ji + 1 , j + 1i++ , j++++i , ++ji+++++j源代码:#include<stdio.h>main(){int i=1,j=1;printf("%d %d\n",i+1,j+1);printf("%d %d\n",i++,j++);printf("%d %d\n",++i,++j);printf("%d\n",(i++)+(++j));system("pause");}实验2-4:输入存款金额money,存期year和年利率rate,根据下列公式计算存款到期时的利息interest (税前),输出时保留2位小数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

printf(“\nThis is a 4 integer!”); printf(“\nThe integer is %d %d %d %d!”, b,c,d,e); printf(“\nThe inverse is %d %d %d %d!”, e,d,c,b);
实验 4 循环结构程序设计
1. 从键盘输入若干整数,以 0 结束,判断并输出其中最大的数。 参考程序: #include "stdio.h" void main() { int n,max; printf(“Please input some integers(ending in ‘0’):”); scanf(“%d”,&n); max=n; while(n!=0) { if(n>=max) max=n;
scanf("%f%d",&base,&year); switch(year) { case 1: rate=0.009;break; case 2: rate=0.01;break; case 3: rate=0.0111;break; default: rate=0.012; } sum=base*pow(1+rate, year); printf("sum is %.2f\n",sum); } 6. 输入一个不多于 5 位的正整数,要求:① 求出它是几位数;② 分别打印出 每一位数字;③ 按逆序打印出各位数字。 要准备以下测试数据: 1 位正整数 2 位正整数 3 位正整数 4 位正整数 5 位正整数 除此之外,程序还应当对不合法的输入作必要的处理,如负数或超过 5 位的正 整数。 参考程序: #include <stdio.h> void main() { int a,b,c,d,e,m; printf(“\nPlease input a integer:”); scanf(“%d”,&m); if(m>=0&&m<=99999) { a=m/10000; b=m/1000-a*10; c=m/100-a*100-b*10; d=m/10-a*1000-b*100-c*10; e=m%10000; if(a!=0) { printf(“\nThis is a 5 integer!”); printf(“\nThe integer is %d %d %d %d %d!”,a,b,c,d,e); printf(“\nThe inverse is %d %d %d %d %d!”,e,d,c,b,a); } else if(b!=0)
H 3 6.67 10 11 MT 2 R 4 2
其中:M=6×1024kg 是地球质量,R=6.371×106m 是地球半径。 编写程序,输入人造卫星的周期 T,计算并输出人造卫星离地面的高度 H。 参考程序: #include <stdio.h> #include <math.h> #define PI 3.14 #define M (6*pow(10,24)) #define R (6.371*pow(10,6)) void main() { double t,h,temp; printf("\nPlease input the T:"); scanf("%lf",&t); temp=(6.67*pow(10,-11)*M*t*t)/(4*PI*PI); h=pow(temp,1.0/3)-R; printf("\nThe high is %lf",h); }
area ss a s b s c
其中 s=(a+b+c)/2。 参考程序: #include <stdio.h> #include <math.h> void main() { float a,b,c,s,area; printf(“\nPlease input a,b,c:”); scanf(“%f%f%f”,a,b,c); s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); printf(“\nThe area is %f”,area); } 6. 编写程序,输入梯形的上底和下底,计算并输出梯形的面积。精确到小数点
x 3 1 2 x 1 y 3 x 5 5 x 3 log (2 x 2 1) 13 10
x 1 1 x 1 1 x 10 x 10
编写一个程序,用 scanf 函数输入 x 的值,输出 y 值。注意表达式的书写方法。 参考程序: #include <stdio.h> #include <math.h> void main() { float x,y; printf(“\nPlease input the x:”); scanf(“%f”,&x); if(x<-1) y=pow(x,3)-1; else if(x<=1) y=-x*x+1; else if(x<=10) y=3*x+5; else y=5*x+3*log(2*x*x-1)-13; printf(“\ny=%f”,y); } 3. 编写程序,输入年号,判断并输出该年是否闰年。 参考程序: #include <stdio.h> void main() { int year; printf(“\nPlease input the year:”);
}
printf(“\nPlease input a F temperature:”); scanf(“%f”,&f); c=5.0/9*(f-32); printf(“\nThe temperature is %.2f”,c);
4. 有 3 个电阻 r1、r2、r3 并联,编写程序计算并输出并联后的电阻 r。已知电 阻并联公式为: 1 1 1 1 r r1 r 2 r 3 参考程序: #include <stdio.h> void main() { float r,r1,r2,r3; printf(“\nPlease input r1、r2、r3:”); scanf(“%f%f%f”,&r1,&r2,&r3); r=1.0/r1+1.0/r2+1.0/r3; r=1.0/r; printf(“\nThe result is %.2f”,r); } 5.编写程序,输入三角形的三条边,计算并输出三角形的面积。 (注意输入的 三条边必须要能构成一个三角形) 求三角形的面p;year); if(year%4==0&&year%100!=0||year%400==0) printf(“\n%d is a leap year!”,year); else printf(“\n%d is not a leap year!”,year);
4. 简单选择界面的编程。从键盘输入整数,输出不同的字符串: 输入 1,输出 Good morning; 输入 2,输出 Good afternoon; 输入 3,输出 Good evening; 输入 4,输出 Good night; 输入其他数字,输出 Bye bye。 参考程序: #include <stdio.h> void main() { int n; printf("\nPlease input a number:"); scanf("%d",&n); switch(n) { case 1:printf("Good morning");break; case 2:printf("Good afternoon");break; case 3:printf("Good evening");break; case 4:printf("Good night");break; default:printf("Bye bye"); } } 5.已知从银行贷款月利率为:期限一年,为 0.90%;期限 2 年,为 1%;期限 3 年,为 1.11%;三年以上为 1.2%。从键盘输入贷款金额和期限,计算到期后 应归还银行本金和利息合计为多少钱。 参考程序: #include <stdio.h> #include <math.h> void main() { int year; float base,rate,sum; clrscr(); printf("\nEnter the base and the year:");
{
}
} else printf(“\nNot the effect integer!”);
} else if(c!=0) { printf(“\nThis is a 3 integer!”); printf(“\nThe integer is %d %d %d!”, c,d,e); printf(“\nThe inverse is %d %d %d!”, e,d,c); } else if(b!=0) { printf(“\nThis is a 2 integer!”); printf(“\nThe integer is %d %d!”, d,e); printf(“\nThe inverse is %d %d!”, e,d); } else { printf(“\nThis is a 1 integer!”); printf(“\nThe integer is %d”,m); }
后 2 位,输入输出时要有文字说明。 参考程序: #include <stdio.h> void main() { float x,y,h,area; printf(“\nPlease input the x,y,h:”); scanf(“%f,%f,%f”,&x,&y,&h); area=(x+y)*h/2; printf(“The area is %.2f”,area); } 7. 周期为 T 秒的人造卫星离地面的平均高度 H 的计算公式为:
相关文档
最新文档