谁周六还不加个班呢?

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

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

答案:

#include<stdio.h>
#include<string.h>
int main(int argc, const char *argv[])
{
	int end_num = 0 , i=0 , sum = 0;
	int count = 0;//计数
//首先输入终值
	printf("请输入终值:");
	scanf("%d" , &end_num);
//循环遍历至终值
	for(i=1 ; i<=end_num ;i++){
		//判断能被7整除的数并输出以及计算总和
		if(i%7 == 0){
			printf("%-8d", i);
			count++;
			//判断是否输出5个并换行a
			if(count %5 == 0){
				printf("\n");
			}
			//将输出的能被7整出的数求和
			sum += i;
		}
	}
//输出最终能被7整除的数值的和
	printf("\n\n%d以内能被7整除的数值和是%d\n" , end_num , sum);
	return 0;
}

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

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

 答案

#include<stdio.h>
#include<string.h>
int main(int argc, const char *argv[])
{	
	int i = 0 , count =0 ;
	char m[100]="0" ;
//输入6位密码
	printf("请输入6位密码:");
	m[0] = getchar();//先写入第一位使m[0]不为'\0'??????.
	while(m[i] !='\n'){
		m[i+1]=getchar();
		i++;
	}
	m[i] = '\0';//将最后写入的'/n'改成'/0',防止输出多余的行。
//判断密码长度以及分别数字字符、英语字符和其它字符的个数用于密码强度的判断。
	int n1=0, n2=0;//n1.n2分别为数字字符数和英语字符数
	if(strlen(m)!=6)
		printf("\n        密码长度不符合要求\n");
	else{
		for(i=0 ; i < strlen(m);i++){
			if(m[i]>='0' && m[i]<='9'){
				n1++;//数字字符数
			}
			if(m[i]>='a' &&  m[i]<= 'z'|| m[i]>'A' && m[i]<'Z'){
				n2++;//英文字符数
			}
		}
		//通过对数字字符数,英语字符数和总字符数验证密码等级
		if(n1 == strlen(m)){
			printf("输入的六位密码等级验证为:低\n");
		}else if(n1 + n2 == strlen(m)){
			printf("输入的六位密码含有字母、数字等级验证为:中\n");	
		}else{
			printf("输入的六位密码含有字母、数字、空格及其他字符等级验证为:高\n");
		}
	}
	return 0;
}

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

  1. 评分要求 :

      1. 正确定义一维数组 (3分)

      2. 循环输入6位顾客的满意度值(5分) 核心

      3. 将 6位用户的满意度按由小到大的顺序排序输出(5分) 核心

      4. 统计满意度个数,计算百分比并输出 (90分为合格) (4分) 核心

      5. 判断如果百分比值低于90%则显示信息“服务质量有待改进”,否则提示“保持现有服务质量水平” (3分)

      6. 代码关键处添加不少于5行的规范注释(5分)

答案 

#include<stdio.h>
#include<string.h>
int main(int argc, const char *argv[])
{
	int a[100]={0};
	int i = 0;
//循环输入6位顾客的满意度
	for(i=0 ; i<6 ; i++){
		printf("请输入第%d位顾客的满意度:", i+1);
		scanf("%d" , &a[i]);
		printf("\n");
	}
//把顾客满意度进行排序
	for(i = 1; i<6;i++){
		for(int j = 0;j<6-i;j++){
			if(a[j] > a[j+1]){
				a[j] = a[j]^a[j+1];
				a[j+1] = a[j]^a[j+1];
				a[j] = a[j]^a[j+1];
			}
		}
	}
//输出顾客满意度并计数满意顾客数计算百分比
	int n=0;
	float b =0;
	printf("本次满意度调查由低到高的分数值是:");
	for(i=0; i<6 ;i++){
		printf("%-6d", a[i]);
		if(a[i]>=90)
			n++;
	}
	b = (float)n/6*100;
//输出服务统计结果的提示
	printf("\n        满意度为:%.2f%%" ,b);
	if(b>=90){
		printf("保持现有服务质量水平\n");
	}else{
		printf("服务质量有待改进\n");
	}
	return 0;
}

  • 题目四 :(25分)
  1. 题目描述:  输入一批数,输出是3倍数的数值,计算3倍数中的最大值、最小值

    

  1. 评分要求
      1. 正确定义一维数组(2分)
      2. 提示并输入数组长度(2分)
      3. 循环输入数组元素的值(5分) 核心
      4. 循环判断并输出数组元素中是3倍数的元素(4分) 核心
      5. 循环查找数组元素中是3倍数的最小值,最大值并输出结果(4分) 核心
      6. 代码中添加不少于5行的关键注释描述程序实现思路(4分)

答案

#include<stdio.h>
#include<string.h>
int main(int argc, const char *argv[])
{		
	int i = 0;
//输入数组长度
	int n  ;
	printf("请输入数组长度:");
	scanf("%d" , &n);
//输入一批数
	int m[n];
	for(i=0 ; i<n ; i++){
		scanf("%d",&m[i]);
	}
//遍历寻找是3倍数的元素
	int max=0 , min = 0;
	printf("数组中是3倍数的元素包含:");
	for(i= 0 ; i<n ;i++){
		if(m[i]%3 == 0){
			printf("%-8d" , m[i]);
			if(max<m[i]);
				max = m[i];
			if(min>m[i]);
				min = m[i];
		}
			
	}
	printf("数组元素中3的最小倍数是%d       最大倍数是%d\n", min ,max);
	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>
int main(int argc, const char *argv[])
{
//定义第一个操作数
	double a ;
	printf("请输入第一个操作数:");
	scanf("%lf", &a);
//记录操作符
	getchar();//吸收回车
	char x;
	printf("请输入运算符[加-P/p 减-S/s 乘 -M/m 除-D/d]:");
	scanf("%c",  &x);
//记录第二个操作数
	double b ,c;
	printf("请输入第二个操作数:");
	scanf("%lf", &b);
//判断第二个操作数是否为0
	if(b == 0){
		printf("分母不能为零!\n");
	}else{
		switch(x){
		  case 'P': case 'p':x = '+';c = a + b; break;
		  case 'S': case 's':x = '-';c = a - b; break;
		  case 'M': case 'm':x = '*';c = a * b; break;
		  case 'D': case 'd':x = '/';c = a / b; break;
		}
		//输出计算结果
		printf("运算结果\n%.2lf%c%.2lf=%.2lf\n", a , x , b ,c );
	}
}

简单一个getchar()吸收了我一个回车和一个小时O- >..< -O

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值