9.7作业

  • 题目一:(25分)
  1. 题目描述:输入终值,输出所有能被7整除的数值及其和

              

  1. 评分要求
      1. 根据接收值准确定义变量类型(2分)
      2. 提示并输入终值(2分)
      3. 阅读题目确定循环要素:起始值、终值、步长(3分)
      4. 循环判断指定范围内能被7整除的数值并输出(5分) 核心
      5. 每5个换行输出
      6. (2分)
      7. 累计全部符合条件的数值和并输出(3分)
      8. 代码中添加不少于5行的关键注释描述实现思路(3分)

答案: 

 

  • 题目二: (20分)
  1. 题目描述:  注册账号时需输入6位密码,根据密码组成验证其安全等级

  1.  评分要求
      1. 根据接收用户值定义变量类型,命名遵守规范(2分)
      2. 利用循环结构、getchar()函数 输入验证密码(3分)
      3. 判断并统计输入的密码各组成部分个数(4分) 核心
      4. 如长度不符合要求给出提示信息(1分)
      5. 根据字母、数字、特殊字符、空格个数验证密码等级(3分) 核心
      6. 代码中需要添加至少5行关键注释描述实现思路(3分)

答案: 

 

  • 题目三 :(30分)
  1. 题目描述:  神州租车公司为提升服务质量近期展开满意度调查活动,请输入近期租车6位顾客满意度进行相关运算

  1. 评分要求 :
      1. 正确定义一维数组 (3分)
      2. 循环输入6位顾客的满意度值(5分) 核心
      3. 将 6位用户的满意度按由小到大的顺序排序输出(5分) 核心
      4. 统计满意度个数,计算百分比并输出 (90分为合格) (4分) 核心
      5. 判断如果百分比值低于90%则显示信息“服务质量有待改进”,否则提示“保持现

有服务质量水平” (3分)

      1. :代码关键处添加不少于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分)
  1. 题目描述:  输入一批数,输出是3倍数的数值,计算3倍数中的最大值、最小值

    

  1. 评分要求
      1. 正确定义一维数组(2分)
      2. 提示并输入数组长度(2分)
      3. 循环输入数组元素的值(5分) 核心
      4. 循环判断并输出数组元素中是3倍数的元素(4分) 核心
      5. 循环查找数组元素中是3倍数的最小值,最大值并输出结果(4分) 核心
      6. 代码中添加不少于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分)
  1. 题目描述:输入操作数及运算符完成数值的加、减、乘、除运算

         

  1. 评分要求
  1. 定义接收操作数及运算符的变量,名称要符合规范(2分)
  2. 提示并输入第一个操作数(2分)
  3. 提示并输入运算符[加减乘除用字母代表](2分)
  4. 提示并输入第二个操作数(2分)
  5. 采用多分支选择结构switch对输入的操作数进行判断,输入大小写字母都可以调用
  6. 对应的运算(3分)  核心
  7. 正常计算两数相加并输出结果(2分)核心
  8. 正常计算两数相减并输出结果(2分)核心
  9. 正常计算两数相乘并输出结果(2分)核心
  10. 正常计算两数相除并输出结果(2分)核心
  11. 如分母为0则输出提示信息“分母不能为零!”(2分)
  12. 核心语句需添加不少于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;
}

 

 

  • 23
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值