C语言第3--9实验部分代码汇总,助大家复习用
- 格式:doc
- 大小:112.00 KB
- 文档页数:19
实验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语言的基本语法和常见程序设计题型,提高编程能力。
实验要求:1. 学生需要在实验室中完成上机题,并编写相应的代码。
2. 要求代码具有良好的结构和规范,能够正确运行,并符合题目要求。
3. 学生需要记录代码的思路和过程,并在实验报告中进行详细说明。
实验过程:本次实验共包括以下几个上机题,分别是:1. 题目:输入两个整数,计算它们的和。
实现思路:- 首先,定义两个整型变量a和b,用来保存输入的两个整数。
- 然后,使用scanf函数分别读取两个整数的值。
- 接下来,定义一个整型变量sum,用来保存两个整数的和。
- 使用sum = a + b计算两个整数的和。
- 最后,使用printf函数将结果输出到屏幕上。
2. 题目:输入一个整数n,计算1到n之间所有整数的和。
实现思路:- 首先,定义一个整型变量n,用来保存输入的整数。
- 然后,使用scanf函数读取整数n的值。
- 接下来,定义一个整型变量sum,用来保存1到n之间所有整数的和。
- 使用for循环语句,从1循环到n,累加每个整数的值。
- 最后,使用printf函数将结果输出到屏幕上。
3. 题目:输入一个整数n,判断它是否是质数。
实现思路:- 首先,定义一个整型变量n,用来保存输入的整数。
- 然后,使用scanf函数读取整数n的值。
- 接下来,定义一个布尔型变量isPrime,用来保存n是否是质数的判断结果。
- 使用for循环语句,从2循环到n-1,判断n是否能被其中任意一个整数整除。
- 如果n能被任意一个整数整除,则将isPrime设为假;否则,将isPrime设为真。
- 最后,根据isPrime的值,使用printf函数输出相应的判断结果。
4. 题目:输入一个正整数n,输出n的所有因子。
实现思路:- 首先,定义一个整型变量n,用来保存输入的正整数。
c语言实验报告结果C语言实验报告结果引言:C语言是一种广泛应用于计算机编程领域的高级编程语言,具有简洁、高效等特点。
在学习C语言的过程中,实验是不可或缺的一部分,通过实验可以加深对C语言的理解和掌握。
本文将对我在C语言实验中所得到的结果进行总结和分析。
实验一:基本语法和数据类型在这个实验中,我学习了C语言的基本语法和数据类型,并进行了一些简单的编程练习。
通过实验,我熟悉了C语言的语法规则,包括变量的声明、赋值和运算符的使用等。
我也学会了使用不同的数据类型,如整型、浮点型和字符型,并了解了它们在内存中的存储方式和取值范围。
实验二:条件语句和循环结构这个实验主要涉及条件语句和循环结构的应用。
我学习了if-else语句和switch语句的使用方法,并通过编程实践加深了对它们的理解。
同时,我还学会了使用for循环、while循环和do-while循环来实现不同的功能。
通过实验,我发现循环结构的灵活运用可以简化编程过程,提高代码的效率。
实验三:数组和字符串在这个实验中,我学习了C语言中数组和字符串的使用。
通过实验,我了解了数组的定义、初始化和访问方式,并掌握了一些常见的数组操作技巧。
同时,我也学会了使用字符串函数来处理字符串,如strlen、strcpy和strcat等。
通过实验,我认识到数组和字符串在实际编程中的重要性和广泛应用。
实验四:函数和指针这个实验主要涉及函数和指针的应用。
我学习了如何定义和调用函数,并了解了函数的参数传递和返回值的使用。
同时,我也学会了使用指针来操作变量和数组,包括指针的声明、初始化和指向。
通过实验,我深刻体会到函数和指针在程序设计中的灵活性和高效性。
实验五:文件操作在这个实验中,我学习了C语言中的文件操作。
通过实验,我了解了如何打开、读取和写入文件,并学会了使用fscanf、fprintf和fread等函数来实现文件的读写操作。
同时,我还学会了使用文件指针和文件流来控制文件的位置和流向。
//1.成绩判断#include <stdio.h>int main(){//成绩int score;printf("请输入你的成绩:\n");scanf("%d", &score);//判断if(score >=0 && score < 60){printf("不及格\n");}else if(60 <= score && score < 80){printf("中等\n");}else if(80 <= score && score < 100){printf("优秀\n");}else{printf("输入错误!\n");}}//2.计算1到100的和#include <stdio.h>int main(){int sum = 0;//存结果变量int i;for(i=1;i <= 100;i++){sum = sum + i;}printf("sum=%d\n", sum);}//3.最大公约数#include <stdio.h>//求m,n的最大公约数int main(){int m, n;int i, k;printf("请输入两个数:");scanf("%d %d", &m, &n);//三元运算符找较小的那个k = m < n ? m : n;//从较小的那个数倒着往前找for(i=k; i>=1; i--){//这是公约数if((m % i == 0) && (n % i ==0)){printf("最大公约数是%d\n", i);break;//跳出for循环}}}//4.最小公倍数#include <stdio.h>//求m,n的最小公倍数int main(){int m, n;int max, min;//m,n中较大,较小的那个int k;//max, 2*max, 3*max, .....printf("请输入两个数:");scanf("%d %d", &m, &n);//也可以交换m,n,保证m小n大max = m > n ? m : n;min = m < n ? m : n;k = max;//从max开始while(k % min != 0){k += max;//每次倍增}printf("最小公倍数是%d\n", k); }//5.金字塔#include <stdio.h>//金字塔int main(){int i;//外层int j;//内层for(i=1;i<=10;i++){//当前是在第i行//先补空格10-i个for(j=1;j<=10-i;j++){printf(" ");}//再打2i-1个*for(j=1;j<=2*i-1;j++){printf("*");}printf("\n");}}//6.九九乘法表#include <stdio.h>//打印九九乘法表int main(){int i,j;for(i=1;i<=9;i++)//外层一定是9行{for(j=1; j<=i; j++)//内层第几行走几遍{printf("%d*%d=%d ", i, j, i*j);}printf("\n");}}//7.百钱买百鸡#include <stdio.h>/**百钱买百鸡,类似1,2,5凑100银币问题*/int main2(){int i,j;//公鸡,母鸡个数for(i=0; i<=20; i++)//公鸡{for(j=0; j<=33; j++)//母鸡{if( (15*i + 9*j + (100-i-j)) == 300){printf("公鸡%d,母鸡%d,小鸡%d\n", i, j, 100-i-j);}}}}//1,2,5凑100银币问题int main3(){int count = 0;//情况数int i,j;//5分个数,2分个数for(i=0; i<=20; i++)//5分个数{for(j=0; j<=50; j++)//2分个数{if( ( 5*i + 2*j ) <= 100 ){count++;printf("%d: 5分%d个,2分%d 个,1分%d个\n", count, i, j, 100-5*i-2*j);}}}}//8.一维数组的最大值、最小值、平均值#include <stdio.h>#define N 10//宏定义常量int main(){int i;//下标索引int max, min;double sum = 0;//累加和int a[N] = {58, 58, 96, 100, 25, 55, 66, 88, 99, 77};max = a[0];//假设第一个最大min = a[0];//假设第一个最小for(i=1; i<N; i++){if(a[i] > max)//比最大值还大max = a[i];//你才是最大if(a[i] < min)//比最小值还小min = a[i];//你才是最小sum += a[i];}printf("max=%d, min=%d\n", max, min);printf("average = %.2lf\n", sum/N);}//9.二维数组的最大值、最小值、平均值#include <stdio.h>int main(){int i; //第几行int j; //第几列int a[3][4] = { {1,2,3,4}, {5,-6,7,8}, {9,19,39,0}};int max = a[0][0];//假设你最大int min = a[0][0];//假设你最小double average;//平均值double sum = 0; //总和for(i=0; i<3; i++)//必定3行{for(j=0; j<4; j++)//必定4列{printf("%5d ", a[i][j]);sum += a[i][j];if(a[i][j] > max)max = a[i][j];if(a[i][j] < min)min = a[i][j];}printf("\n");}average = sum / (3*4);printf("max=%d, min=%d, avg=%.2lf\n", max, min, average);}//10.二维数组转置#include <stdio.h>//二维数组转置:行变列,列变行int main(){int i; //第几行int j; //第几列int a[3][4] = { {1,2,3,4}, {5,-6,7,8}, {9,19,39,0}};int b[4][3];for(i=0; i<3; i++){for(j=0; j<4; j++){printf("%5d", a[i][j]);}printf("\n");}//矩阵转置for(i=0; i<3; i++){for(j=0; j<4; j++){b[j][i] = a[i][j];}}for(i=0; i<4; i++){for(j=0; j<3; j++){printf("%5d", b[i][j]);}printf("\n");}}//11.冒泡排序#include <stdio.h>#define N 10//宏定义常量int main(){int i;//下标索引int j;int tmp;//临时交换用int a[N] = {58, 58, 96, 100, 25, 55, 66, 88, 99, 77};//外层循环一定是N-1for(i=0; i<N-1; i++){//两两交换,大的往后走for(j=0; j<N-i-1; j++){//交换if(a[j] > a[j+1]){tmp = a[j];a[j] = a[j+1];a[j+1] = tmp;}}}for(i=0; i<N; i++){printf("%d ", a[i]);;}printf("\n");}//12.结构冒泡排序#include <stdio.h>//结构定义,用户自定义类型typedef struct student{char sno[20];//学号char name[20];//姓名int age;//年龄char gender;//性别char tel[20];//电话};int main(){int i;int j;double sum = 0;struct student tmp;//两两交换临时用;//结构数组struct student team[5];for(i=0; i<5; i++){printf("请输入第%d个队员的信息:\n", i+1);scanf("%s %s %d %c %s", team[i].sno, team[i].name, &team[i].age, &team[i].gender, team[i].tel);}//按年龄冒泡排序for(i=0; i<5; i++){for(j=0; j<5-i-1; j++){//两两交换if(team[j].age > team[j+1].age){tmp = team[j];team[j] = team[j+1];team[j+1] = tmp;}}}//取值printf("%-12s %-10s %-5s %-5s %-15s\n", "学号", "姓名", "年龄", "性别", "电话");for(i=0; i<5; i++){printf("%-12s %-10s %-5d %-5c %-15s\n", team[i].sno, team[i].name, team[i].age, team[i].gender, team[i].tel);}}//13.结构数组找年龄最大值#include <stdio.h>//结构定义,用户自定义类型typedef struct student{char sno[20];//学号char name[20];//姓名int age;//年龄char gender;//性别char tel[20];//电话};int main(){int i;struct student tmp;//找最大临时用//结构数组struct student team[5];for(i=0; i<5; i++){printf("请输入第%d个队员的信息:\n", i+1);scanf("%s %s %d %c %s", team[i].sno, team[i].name, &team[i].age, &team[i].gender, team[i].tel);}//取值printf("%-12s %-10s %-5s %-5s %-15s\n ", "学号", "姓名", "年龄", "性别", "电话");for(i=0; i<5; i++){printf("%-12s %-10s %-5d %-5c %-15s\ n", team[i].sno, team[i].name, team[i].age, team[i].gender, team[i].tel);}//找学号最大的那一个tmp = team[0];for(i=1; i<5; i++){if(strcmp(team[i].sno,tmp.sno) >0 ){tmp = team[i];}}printf("学号最大的队员如下:\n");printf("%-12s %-10s %-5d %-5c %-15s\ n", tmp.sno, , tmp.age, tmp.gender, tmp.tel);}//14.文件读写#include <stdio.h>#include <stdlib.h>//结构定义,用户自定义类型typedef struct student{char sno[20];//学号char name[20];//姓名int age;//年龄char gender;//性别char tel[20];//电话};//文件读写int main(){struct student * s, * p1;//个数未知FILE * fp;int i, n = 0;char buf[1024];//fgets缓冲区//打开文件fp = fopen("e:\\test.txt", "r");while(fgets(buf, 1024, fp) != NULL)n++;fclose(fp);//指向一个可以存储n个student结构的内存空间s = (struct student *)malloc(sizeof(struct student) * n);p1 = s;//不要动头位置s的值//打开文件fp = fopen("e:\\test.txt", "r");for(i=0; i<n; i++){//从文件中读入一行fscanf(fp, "%s %s %d %c %s", p1->sno, p1->name, &p1->age, &p1->gender, p1->tel);p1++;}fclose(fp);p1 = s;for(i=0; i<3; i++){printf("%s %s %d %c %s\n", p1->sno, p1->name, p1->age, p1->gender, p1->tel);}free(s);}//15.输入三角形三边长计算周长和面积#include<stdio.h>#include<math.h>int main(){double area,perimeter,s,a,b,c;printf("请输入三边长a b c:");scanf("%lf%lf%lf",&a,&b,&c);if((a+b>c) && (a+c>b) && (b+c>a)){s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));perimeter=a+b+c;printf("area=%.2f,perimeter=%.2f\ n",area,perimeter);}else{printf("三边长无法构成三角形。
最后三个实验的代码。
#include <stdio.h>#define sum 30int ReadScore(long num[], int score[]);int GetFail(long num[], int score[], int n);float GetAver(int score[], int n);int GetAboveAver(long num[], int score[], int n);void GetDetail(int score[], int n);int main(){int n, fail, aboveAver;int score[sum];long num[sum];n = ReadScore(num, score);printf ("Total students:%d\n", n);fail = GetFail(num, score, n);printf ("Fail students = %d\n",fail);aboveAver = GetAboveAver(num, score, n);printf ("Above aver students = %d\n", aboveAver);GetDetail(score, n);return 0;}int ReadScore(long num[], int score[]){int i = 0;scanf("%ld%d", &num[i], &score[i]);while (score[i] >= 0){i++;scanf ("%ld%d", &num[i], &score[i]);}return i;}int GetFail(long num[], int score[], int n){int i,count;printf ("Fail:\n");printf ("number--score\n");count = 0;for (i=0; i<n; i++){if (score[i] < 60){printf ("%ld------%d\n", num[i], score[i]);count++;}}return count;}float GetAver(int score[], int n){int i;float total = 0;for (i=0; i<n; i++){total = total + score[i];}return total/n;}int GetAboveAver(long num[], int score[], int n){int i,count;float aver;aver = GetAver(score, n);printf ("aver = %f\n", aver);printf ("Above aver:\n");printf ("number--score\n");count = 0;for (i=0; i<n;i++){if (score[i] >= aver){printf ("%ld------%d\n", num[i], score[i]);count++;}}return count;void GetDetail(int score[], int n){int i,j,stu[6]={0,0,0,0,0,0};for (i=0;i<n;i++){if (score[i] < 60){j = 0;}else{j=(score[i] - 50) / 10;}stu[j]++;}for (i=0; i<6; i++){if (i == 0){printf ("< 60 %d %.2f%%\n", stu[i],(float)stu[i]/(float)n*100);}else if (i == 5){printf (" %d %d %.2f%%\n", (i+5)*10, stu[i],(float)stu[i]/(float)n*100);}else{printf ("%d--%d %d %.2f%%\n", (i+5)*10, (i+5)*10+9, stu[i], (float)stu[i]/(float)n*100);}}}#include <stdio.h>#define STU 30#define COURSE 3void Input (long num[],int score[][COURSE],int n);void GetSumAver (int score[][COURSE],int n,int sum[],float aver[]);void Sort (long num[],int score[][COURSE],int n,int sum[],float aver[]);void Print (long num[],int score[][COURSE],int n,int sum[],float aver[]);int main()int n, score[STU][COURSE], sum[STU];long num[STU];float aver[STU];scanf ("%d", &n);Input (num, score, n);GetSumAver (score, n, sum, aver);Sort (num, score, n, sum, aver);Print (num, score, n, sum, aver);return 0;}void Input (long num[], int score[][COURSE], int n){int i,j;for (i=0; i<n; i++){scanf ("%ld", &num[i]);for (j=0; j<COURSE; j++){scanf ("%d", &score[i][j]);}}}void GetSumAver (int score[][COURSE], int n, int sum[], float aver[]){int i,j;for (i=0; i<n; i++){sum[i] = 0;for (j=0; j<COURSE; j++){sum[i] = sum[i] + score[i][j];}aver[i] = (float)sum[i] / COURSE;}}void Sort (long num[], int score[][COURSE], int n, int sum[], float aver[]) {int i,j,k,m;int temp1;long temp2;float temp3;for (i=0; i<n-1; i++){k = i;for (j=i+1; j<n; j++){if (sum[j] > sum[k]) k = j;}if (k != i){temp1 = sum[k]; sum[k] = sum[i]; sum[i] = temp1;temp2 = num[k]; num[k] = num[i]; num[i] = temp2;temp3 = aver[k]; aver[k] = aver[i]; aver[i] = temp3;for (m=0; m<COURSE; m++){temp1 = score[k][m];score[k][m] = score[i][m];score[i][m] = temp1;}}}}void Print (long num[], int score[][COURSE], int n, int sum[], float aver[]) {int i,j;printf (" NO MT EN PH SUM AVER\n");printf ("\n");for (i=0; i<n; i++){printf ("%ld ", num[i]);for (j=0; j<COURSE; j++){printf ("%d ", score[i][j]);}printf ("%d %.0f\n", sum[i], aver[i]);printf ("\n");}}#include <stdio.h>#define CLASS 3#define STU 4int FindMax (int score[CLASS][STU], int m, int *pRow, int *pCol);int main(){int score[CLASS][STU], i, j, maxScore, row, col;for (i=0; i<CLASS; i++){for (j=0; j<STU; j++){scanf ("%d", &score[i][j]);}}maxScore = FindMax(score, CLASS, &row, &col);printf ("maxScore=%d,class=%d,number=%d\n", maxScore, row+1, col+1);return 0;}int FindMax(int score[CLASS][STU], int m, int *pRow, int *pCol){int i, j, maxScore;maxScore = score[0][0];*pRow = 0;*pCol = 0;for (i=0; i<m; i++){for (j=0; j<STU; j++){if (score[i][j] > maxScore){maxScore = score[i][j];*pRow = i;*pCol = j;}}}return (maxScore);}本资源来自寝室同学作业,鸣谢!!!!。
1.创建程序,实现计算一个数的平方和立方#include <stdio.h>void main(){int a;printf(" 请输入1个数,按回车结束:");scanf("%d",&a);printf(" %d的平方:%d\n",a,a*a);printf(" %d的立方:%d\n",a,a*a*a);}2计算两个数的加减乘除. #include <stdio.h>void main(){float a,b;printf("----计算器----\n");printf("请分别输入2个数,用空格分隔,按回车结束:\n");scanf("%f%f",&a,&b);printf("计算结果:\n");printf(" %f + %f = %f\n",a,b,a+b);printf(" %f - %f = %f\n",a,b,a-b);printf(" %f * %f = %f\n",a,b,a*b);printf(" %f / %f = %f\n",a,b,a/b);}3.猜数字#include<stdlib.h> //为了获得随机数#include <stdio.h>#include<time.h> //获取时间int rNumber();void main(){int a,number,i;printf("-------小游戏----猜数字-------\n");number=rNumber();printf("随机数字生成完成,游戏开始!\n");printf("\n");for(i=1;i<=8;i++){printf("第%d次猜数字,请输入数字,按回车键结束:",i);scanf("%d",&a);if(a>number){printf("您输入的数字偏大!\n");}else if(a<number){printf("您输入的数字偏小!\n");}else{printf("您猜对了,恭喜你!游戏胜利!\n");break;}}if(i>8){printf("您猜的不对,对不起!游戏失败!\n");}}int rNumber(){int number;srand(time(NULL));number=1+(rand()%100);//获得一个100以内的随机数return number;}实验3实验目的1、掌握输入输出语句2、掌握基础数据类型实验内容1、编写程序,输入两个整数,计算它们的商和余数,并输出,将源程序文件保存名称为“1.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位小数。
N0.1在屏幕打印菱形#include<stdio.h>int main(){printf("* * * \n");printf(" * * \n");printf(" * * * \n");printf(" * * \n");printf(" * * *\n");system("pause");return 0;}N0.2在屏幕输出两个整数的和#include<stdio.h>int main(){int a = 1, b = 2;printf("a + b = %d\n", a + b);system("pause");return 0;}No.1教材P.23-1.4#include<stdio.h>int main(){int a, b, c;scanf("%d%d%d", &a, &b, &c); //从程序输入三个整数 printf("a + b + c= %d\n", a + b + c); // 打印三个整数的和 system("pause");return 0;}N0.2教材P.23-1.5#include<stdio.h>#include<math.h> //调用数学库函数int main(){int a, b; //定义两个变量a,b scanf("%d%d", &a, &b); //从程序输入两个整数 printf("a + |b| = %d\n", a + abs(b)); // 打印a+|b|的和system("pause");return 0;}程序设计基础第三次实验3-1输入一个小写字母,将其以大写的形式输出#include<stdio.h>int main(){char letter;printf("请输入一个小写字母:");scanf("%c", &letter);if(letter>='a' && letter<='z')printf("该小写字母的大写字母为:%c\n", letter-32);elseprintf("没有输入正确的小写字母\n");system("pause");return 0;}3-2计算圆的面积并输出它的值#include<stdio.h>#define PI 3.142int main(){float r, area;printf("请输入圆的半径:");scanf("%f", &r);area = r * r * PI;printf("圆的面积为:%.3f\n", area);system("pause");return 0;}3-3将变量A和B的值进行互换#include<stdio.h>int main(){int a = 1, b = 2, temp;temp = a;a = b;b = temp;printf("a = %d b = %d\n", a, b);system("pause");return 0;}3-4判断给定的三条边是否能组成等腰三角形#include<stdio.h>int main(){int a, b, c;printf("请输入三角形三边长:\n");scanf("%d%d%d", &a, &b, &c);if(a+b>c && b+c>a && c+a>b){if(a==b || b==c || c==a)printf("三边能组成等腰三角形\n"); elseprintf("三边不能组成等腰三角形\n"); }elseprintf("三边不能组成三角形\n");system("pause");return 0;}3-5编写程序,设计一个学生成绩管理的功能菜单#include<stdio.h>int main(){printf("学生成绩管理系统\n");printf("A.学生信息录入\n");printf("B.学生成绩统计\n");printf("C.学生成绩查询\n");printf("D.退出\n");system("pause");return 0;}3-6判断一个数n能否同时被3和5整除#include<stdio.h>int main(){int num;printf("请输入一个整数:\n");scanf("%d", &num);if(num%3==0 && num%5==0)printf("该整数能同时被3和5整除\n"); elseprintf("该整数不能同时被3和5整除\n"); system("pause");return 0;}程序设计基础第四次实验4-1成绩判断#include <stdio.h>int main(){float score;printf("请输入一个分值:");scanf("%f", &score);if(score >= 60)printf("及格\n");elseprintf("不及格\n");system("pause");return 0;}4-2输入三个实数,输出最大数和最小数#include <stdio.h>int main(){double a, b, c;double max, min;printf("请输入三个实属数:");scanf("%lf%lf%lf", &a, &b, &c);if(a > b){max = a;min = b;if(c > a)max = c;if(c < b)min = c;}else{max = b;min = a;if(c > b)max = c;if(c < a)min = c;}printf("最大数为%.2lf,最小数为%.2lf\n", max, min);system("pause");return 0;}4-3一周食谱设计#include <stdio.h>int main(){int week = 1;while(week != 0){printf("一周食谱,请输入星期数(数字1-7,0退出):"); scanf("%d", &week);switch(week){case 0:break;case 1:printf ("星期一:青菜\n");break;case 2:printf ("星期二:鸡\n");break;case 3:printf ("星期三:鱼\n");break;case 4:printf ("星期四:肉\n");break;case 5:printf ("星期五:鸡蛋\n");break;case 6:printf ("星期六:海鲜\n");break;case 7:printf ("星期七:豆制品\n");break;default:printf ("请输入正确的数值(0-7)\n");break;}}return 0;}2910-10分类:关于助教作者:admin 阅读次数:53 views没有评论程序设计基础第四次实验选做题1.计算器设计:–输入:运算数和四则运算符–输出:运算结果。
#include<stdio.h>int main(){double a, b;int sign = 1;char opt;while(sign != 0){printf("请输入要运算的式子,格式如1+1,3/4等:");scanf("%lf%c%lf", &a, &opt, &b);switch(opt){case '+':printf ("%.2lf + %.2lf = %.2lf\n", a, b, a+b);break;case '-':printf ("%.2lf - %.2lf = %.2lf\n", a, b, a-b);break;case '*':printf ("%.2lf * %.2lf = %.2lf\n", a, b, a*b);break;case '/':if(b == 0)printf("除数不能为0\n");elseprintf ("%.2lf / %.2lf = %.2lf\n", a, b, a/b); break;default:printf ("请按正确的格式输入,如1+1,3/4等\n");break;}printf("继续?1.继续 0.退出:");scanf("%d", &sign);}return 0;}程序设计基础第五次实验5-1参考第四次实验5-2输入一个整数,求这个整数的阶乘#include<stdio.h>int main(){int num, total = 1;scanf("%d", &num);while(--num){total *= (num + 1);}printf("该数的阶乘为%d\n", total);system("pause");return 0;}5-3计算输入的元音字母的个数及输入字母个数#includeint main(){int sum_y = 0, sum = 0;char ch;scanf("%c", &ch);while(ch != '\n'){switch(ch){case 'a':case 'e':case 'i':case 'o':case 'u':case 'A':case 'E':case 'I':case 'O':;case 'U': sum_y++; break;default: break;}if(ch >= 'a' && ch <= 'z' || ch >= 'A' && ch <= 'Z') sum++;scanf("%c", &ch);}printf("元音字母的个数:%d,字母个数:%d\n", sum_y, sum);system("pause");return 0;}5-4简易产品销售系统#includeint main(){int n;float OrderAmount, rate = 0.00;printf("产品销售系统\n\n====================\n\n");printf("编号产品\n\n");printf("1 计算机文具\n\n");printf("2 移动硬盘\n\n");printf("3 计算机\n\n");printf("====================\n\n请选择:");scanf("%d", &n);if(n >= 1 && n <= 3){printf("\n请输入订购金额:\n");scanf("%f", &OrderAmount);if(n == 1){if(OrderAmount >= 500) rate = 0.12;else if(OrderAmount >= 300 && OrderAmount < 500) rate=0.08; }else if(n == 2){if(OrderAmount >= 2000) rate = 0.1;else if(OrderAmount >= 1500 && OrderAmount < 2000) rate=0.05; }else{if(OrderAmount >= 6000) rate = 0.13;else if(OrderAmount >= 2500 && OrderAmount < 6000) rate=0.05; }OrderAmount*=(1-rate);printf("你应付的金额为:%.2f\n",OrderAmount);}elseprintf("\n没有该产品\n");system("pause");return 0;}程序设计基础第六次实验6-1计算当半径为1~10时圆的面积,直到面积大于100时,停止计算,将最终的半径和面积的值显示出来#include<stdio.h>#define PI 3.14int main(){int r;float area;for(r = 1; r <= 10; r++){area = r * r * PI;if(area >= 100)break;}printf("最终的半径为:%d,面积为:%.2f\n", r, area);system("pause");return 0;}6-2求1-100之间不能被5整除的所有数的和#include<stdio.h>int main(){int i, sum = 0;for(i = 1; i <= 100; i++){if(i % 5 == 0)continue;sum += i;}printf("1-100之间不能被5整除的所有数的和为:%d\n",sum);system("pause");return 0;}6-3编写一个程序,在屏幕上显示出100,95,90……10,5。