9.7 C语言基础习题练习

题目一:输入终值,输出所有能被7整除的数值及其和

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
	int num,i;
	int sum=0;
	printf("请输入终值:\n");
	scanf("%d",&num);
		if(num<=0){
		printf("请重新输入终值\n");
		scanf("%d",&num);
		}
		for(i=1;i<=num;i++){
			if(i%7==0){
			printf("%4d",i);
				sum+=i;}
		}
	printf("\n %d以内能被7整除的数的和为%d",num,sum);

	return 0;
}

题目二: 注册账号时需输入6位密码,根据密码组成验证其安全等级标准如下:

#include <stdio.h>
#include <ctype.h> // 引入ctype.h库,用于字符类型判断

int main() {
    // (1). 定义变量类型,命名遵守规范
    char password[7]; // 存储用户输入的密码,额外一个字符用于存储字符串结束符'\0'
    int i = 0; // 循环计数器
    char ch; // 用于存储每次从getchar()读取的字符
    int digitCount = 0; // 数字个数
    int letterCount = 0; // 字母个数
    int specialCharCount = 0; // 特殊字符个数
    int spaceCount = 0; // 空格个数
    const int MIN_LENGTH = 6; // 密码最小长度

    // 提示用户输入密码
    printf("请输入您的6位密码:");

    // (2). 利用循环结构、getchar()函数输入验证密码
    while ((ch = getchar()) != '\n' && i < MIN_LENGTH) {
        password[i++] = ch;
        if (isalpha(ch)) {
            letterCount++; // 字母
        } else if (isdigit(ch)) {
            digitCount++; // 数字
        } else if (ispunct(ch)) {
            specialCharCount++; // 特殊字符
        } else if (isspace(ch)) {
            spaceCount++; // 空格
        }
    }
    password[i] = '\0'; // 确保字符串以空字符结尾

    // (4). 如长度不符合要求给出提示信息
    if (i != MIN_LENGTH) {
        printf("密码长度不符合要求,密码必须是6位。\n");
        return 1; // 返回错误码
    }

    // (5). 根据字母、数字、特殊字符、空格个数验证密码等级
    if (digitCount > 0 && letterCount > 0 && specialCharCount > 0 && spaceCount > 0) {
        printf("密码强度:高\n");
    } else if (digitCount > 0 && letterCount > 0) {
        printf("密码强度:中\n");
    } else if (digitCount > 0) {
        printf("密码强度:低\n");
    } else {
        printf("密码不符合要求,必须包含数字。\n");
        return 1; // 返回错误码
    }

    // (6). 代码中需要添加至少5行关键注释描述实现思路
    // 循环读取字符直到达到6位或换行符
    // 统计密码中字母、数字、特殊字符和空格的数量
    // 检查密码长度是否满足6位要求
    // 根据密码组成部分的数量评估密码强度
    // 输出密码强度等级

    return 0;
}

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

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
	int a[6],i,j,count=0,sum=0;
	for(i=0;i<6;i++){
		printf("请输入%d位客户满意度评分:",i+1);	
		scanf("%d",&a[i]);
		sum += a[i];
		if(a[i]>=90){
			count++;
		}
	}
	printf("客户满意度从小到大排序为:");
	int temp;
	for(i=0;i<6;i++){
		for(j=i+1;j<6;j++){
			if(a[i]>a[j]){
				temp=a[i];a[i]=a[j];a[j]=temp;
			}
		}
	}
	for(i=0;i<6;i++){
		printf("%d ",a[i]);
	}
	printf("\n");
	float myd=(float)count/6*100;
	printf("客户满意度为:%.2f%%\n",myd);
	if(myd>=90){
		printf("服务不错哟,请继续保持!\n");
	}else{
		printf("服务有待提升!\n");
	}
	return 0;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值