- 题目一:(25分)
- 题目描述:输入终值,输出所有能被7整除的数值及其和
- 评分要求
-
- 根据接收值准确定义变量类型(2分)
- 提示并输入终值(2分)
- 阅读题目确定循环要素:起始值、终值、步长(3分)
- 循环判断指定范围内能被7整除的数值并输出(5分) 核心
- 每5个换行输出
- (2分)
- 累计全部符合条件的数值和并输出(3分)
- 代码中添加不少于5行的关键注释描述实现思路(3分)
-
答案:
- 题目二: (20分)
- 题目描述: 注册账号时需输入6位密码,根据密码组成验证其安全等级
- 评分要求
-
- 根据接收用户值定义变量类型,命名遵守规范(2分)
- 利用循环结构、getchar()函数 输入验证密码(3分)
- 判断并统计输入的密码各组成部分个数(4分) 核心
- 如长度不符合要求给出提示信息(1分)
- 根据字母、数字、特殊字符、空格个数验证密码等级(3分) 核心
- 代码中需要添加至少5行关键注释描述实现思路(3分)
-
答案:
- 题目三 :(30分)
- 题目描述: 神州租车公司为提升服务质量近期展开满意度调查活动,请输入近期租车6位顾客满意度进行相关运算
- 评分要求 :
-
- 正确定义一维数组 (3分)
- 循环输入6位顾客的满意度值(5分) 核心
- 将 6位用户的满意度按由小到大的顺序排序输出(5分) 核心
- 统计满意度个数,计算百分比并输出 (90分为合格) (4分) 核心
- 判断如果百分比值低于90%则显示信息“服务质量有待改进”,否则提示“保持现
-
有服务质量水平” (3分)
-
-
- :代码关键处添加不少于5行的规范注释(5分)
-
答案 :
#include <stdio.h> #include <string.h> #include <stdlib.h> int main(int argc, const char *argv[]) { int a[6]; int i,j,t; float my=0; for(i=0;i<6;i++){ printf("请输入第%d位顾客的满意度:",i+1); scanf("%d",&a[i]); } for(i=0;i<6;i++){ for(j=0;j<6-i;j++){ if(a[j]>a[j+1]){ t=a[j],a[j]=a[j+1],a[j+1]=t; } } } printf("由低到高的分数为:"); for(i=0;i<6;i++){ printf("%4d",a[i]); } printf("\n"); for(i=0;i<6;i++){ if(a[i]>=90){ my++; } } printf("满意度为%.2f%%\n",my/6*100); if(my!=6){ printf("服务质量有待改进\n"); }else{ printf("保持现有服务质量水平\n"); }
- 题目四 :(25分)
- 题目描述: 输入一批数,输出是3倍数的数值,计算3倍数中的最大值、最小值
- 评分要求
-
- 正确定义一维数组(2分)
- 提示并输入数组长度(2分)
- 循环输入数组元素的值(5分) 核心
- 循环判断并输出数组元素中是3倍数的元素(4分) 核心
- 循环查找数组元素中是3倍数的最小值,最大值并输出结果(4分) 核心
- 代码中添加不少于5行的关键注释描述程序实现思路(4分)
-
答案:
#include <limits.h> int main(int argc, const char *argv[]) { int i,j; printf("请输入数组长度:"); scanf("%d",&i); int a[i]; printf("输入长度为%d的数字:",i); for(j=0;j<i;j++){ scanf("%d",&a[j]); } printf("三的倍数:"); int count=0,MAX=INT_MIN,MIN=INT_MAX; for(j=0;j<i;j++){ if(a[j]%3==0){ printf("%d ",a[j]); count++; if(count==1){ MAX=a[j]; MIN=a[j]; } if(MAX<a[j]){ MAX=a[j]; } if(MIN>a[j]){ MIN=a[i]; } } } if(count==0){ printf("没有三的倍数\n"); return 0; } printf("\n最大值:%d\n最小值:%d\n",MAX,MIN); return 0;
- 题目一:(30分)
- 题目描述:输入操作数及运算符完成数值的加、减、乘、除运算
- 评分要求
- 定义接收操作数及运算符的变量,名称要符合规范(2分)
- 提示并输入第一个操作数(2分)
- 提示并输入运算符[加减乘除用字母代表](2分)
- 提示并输入第二个操作数(2分)
- 采用多分支选择结构switch对输入的操作数进行判断,输入大小写字母都可以调用
- 对应的运算(3分) 核心
- 正常计算两数相加并输出结果(2分)核心
- 正常计算两数相减并输出结果(2分)核心
- 正常计算两数相乘并输出结果(2分)核心
- 正常计算两数相除并输出结果(2分)核心
- 如分母为0则输出提示信息“分母不能为零!”(2分)
- 核心语句需添加不少于5行的规范注释描述实现思路(4分
答案:
#include <stdio.h> #include <string.h> #include <stdlib.h> int main(int argc, const char *argv[]) { char a; int i,j; printf("请输入第一个操作数:"); //输入第一个操作数 scanf("%d",&i); printf("请输入运算符[加-P/p 减-S/s 乘-M/m 除-D/d]:"); scanf(" %c",&a); printf("请输入第二个操作数:"); //输入第二个操作数 scanf("%d",&j); switch(a){ //使用switch语句 case'P':case'p': printf("%d+%d=%d\n",i,j,i+j); break; //使用break进行截断 case'S':case's': printf("%d-%d=%d\n",i,j,i-j); break; case'M':case'm': printf("%d*%d=%d\n",i,j,i*j); break; case'D':case'd': if(j!=0){ printf("%d/%d=%d\n",i,j,i/j); }else{ printf("分母不能为零!\n"); //分母不能为0 } break; } return 0; }