C 语言期中考试 程序分析
题目编号:1
编程先由计算机“想”一个1到100之间的数请人猜,如果人猜对了,则结束游戏,并在屏幕上输出人猜了多少次才猜对此数,以此来反映猜数者“猜”的水平,否则计算机给出提示,告诉人所猜的数是太大还是太小,最多可以猜10次,如果猜了10次仍未猜中的话,则结束游戏。
编程思路:
程序开始需要生成一个伪随机数num,num必须在1~100之间,这里用到了C语言的rund方法,来生成一个伪随机数,还需要一个种子.
在一个循环里(10次),提示人输入一个1~100的整数n,并与num比较,如果相等,则程序结束,如果n大于num,提示输入的数太大,如果n小于num,提示输入的数太小.如果循环结束还没有猜到结果,也结束游戏.
源代码:
#include <stdio.h> #include <stdlib.h> void main() { //declear variables int num,n,i=1,flag =0; //create a ramdom num use rand method srand( (unsigned)time(NULL) ); num = rand()%100+1; printf("The game start...\n"); while(i++<=10) { printf("please input a number between 1 and 100 :"); scanf("%d",&n); if(n==num) { printf("congratulation!!! you input %d times.\n" , i-1); flag= 1; break; } else if(n>num) { printf("your number greater than the random number!\n"); } else { printf("your number less than the random number!\n"); } } if(!flag) { printf("sorry, you did't guess right! game over...\n"); } }
程序截图:
题目编号:2
题目描述:任意给定n个整数,求这n个整数序列的和、最小值、最大值 输入描述:输入一个整数n,代表接下来要输入的整数个数,n<=100,接着输入n个整数 输出描述:输出证书序列的和、最小值和最大值,用空格隔开,占一行
样例输入:
2
1 2
样例输出:
3 1 2
编程思路:
首先声明变量n ,储存整数序列个数, 数组array,循环n次输入来储存的整数序列,然后循环数组中的前n个元素,找到最大值和最小值,并计算总数.
源代码:
#include <stdio.h> void main() { int a[100]; int i, j, k, n; int sum=0,min,max; printf("please input a integer n:"); scanf("%d",&n); printf("please input n numbers:"); for (i = 0; i<n; i++) scanf("%d", &a[i]); max =min = a[0]; for (j = 0; j<n; j++) { if(a[j]>max) max=a[j]; if(a[j]<min) min=a[j]; sum+=a[j]; } printf("sum=%d,max=%d,min=%d\n",sum,max,min); }
程序截图:
题目编号:3
外卖费。上了一上午的课,终于到了午饭时间,大家讨论中午吃什么,有人说吃食堂盖饭,有人说吃海底捞,最后宿舍长大人一拍桌子,说:叫外卖!于是开始打电话叫外卖,规则如下:每单少于20元(不含)不予以送餐,每单在20(含)到30(不含)元之间收取8块钱送餐费,每单在30(含)到40(不含)元之间收取5元送餐费,每单在40(含)元以上免费送餐,请你计算这顿午餐的全部费用。 输入格式:输入共2行,第一行包括一个整数n(n>=1&&n<=20),表示这一单一共要了几个菜,第2行有n个浮点数,以空格分开,表示每个菜的价格 输出格式:输出1行,包含一个浮点数,表示全部外卖费,保留小数点后面2位,当不够送餐服务时,输出error
输入样例:
3
10.5 11.5 10.5
编程思想:
首先声明变量n ,储存整数序列个数, 数组array,循环n次输入来储存的浮点型序列并计算总数,然后判断订单总数在哪个区间,分别加上对应的运送费用,最终打印输出结果.
源代码:
#include <stdio.h> void main() { int n,i,fee=0; double sum = 0; double array[20]; printf("please input you number:"); scanf("%d",&n); for(i=0;i<n;i++) { scanf("%lf",&array[i]); sum+=array[i]; } if(sum<20) { printf("sorry, The total price of the order must greater than 20,otherwise we don't send the order!\n"); return; } else if(sum<30) { fee = 8; } else if( sum < 40) { fee = 5; } printf("The total price of the order:%.2lf include Shipping fees:%d\n",sum+fee,fee); }
程序截图: