linux 操作 day 8

题目一

  1. 题目描述输入终值,输出所有能被7整除的数值及其和
  2. 评分要求
  • 根据接收值准确定义变量类型(2分)
  • 提示并输入终值(2分)
  • 阅读题目确定循环要素:起始值、终值、步长(3分)
  • 循环判断指定范围内能被7整除的数值并输出(5分) 核心
  • 每5个换行输出(2分)
  • 累计全部符合条件的数值和并输出(3分)
  • 代码中添加不少于5行的关键注释描述实现思路(3分)
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
    int num, i,k,sum;
    
    //开辟一片空间用于装能被7整除的数
    int a[2000000];

    printf("请输入终值:");
    scanf("%d",&num);
    
    //能被7整除的个数
    k=num/7;            
    
    //判断输入为正还是为负
    if(num>=0){
        for(i=0;i<=k;i++){
            //将能被7整除的数逐个装入数组中
            a[i]=7*(i+1);
            sum+=a[i];
            printf("%5d",a[i]);
            
            //每五个换行
            if((i+1)%5==0){
                printf("\n");
            }
        }
    }else{
        for(i=0;i<=k;i++){
            a[i]=-7*(i+1);
            sum+=a[i];
            printf("%5d",a[i]);
            if((i+1)%5==0){
                printf("\n");
            }

        }
    }

    printf("%d以内能被7整除的数值之和:%d",num,sum);
    
    return 0;
}

题目二: 

题目描述:  注册账号时需输入6位密码,根据密码组成验证其安全等级

 评分要求

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

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
	int le=0,num=0,sp=0,ot=0;
	char p[10];
	printf("请输入你的六位密码:");
	int ch;
	int i=0;
	while((ch=getchar())!='\n'){
		p[i]=ch;
		i++;
	}
//判断是否正确输入六位密码;
	if(i!=5){
		printf("你输入的不是六位,请重新输入。");
		return 0;
	}
	for(i=0;i<=6;i++){
		if(p[i]>='A'&&p[i]<='z'){
			le++;
		}else if(p[i]>='0'&&p[i]<='9'){
			num++;
		}else if(p[i]>=' '){
			sp++;
		}else{
			ot++;
		}
	}
//是否只存在字符或特殊符号,如果是,重新输入;
	if(sp+ot==6){
		printf("不能只存在空格和特殊字符,请重新开始");
		return 0;
	}
//是否只存在数字或字母;
	if(le==6||num==6){
		printf("一级密码");
	}
   //是否只有两种符号;
     else if(le+num==6||le+sp==6||le+ot==6||num+sp==6||num+ot==6){
		printf("二级密码");	
	}
  //是由三种符号组成;
     else if(le+num+sp==6||le+num+ot==6||num+sp+ot==6){
		printf("三级密码");
	}else{
		printf("四级密码");
	}
		
	return 0;
}

题目 :

  1. 题目描述  神州租车公司为提升服务质量近期展开满意度调查活动,请输入近期租车6位顾客满意度进行相关运算
  2. 评分要求 :
  • 正确定义一维数组
  • 循环输入6位顾客的满意度值
  • 将 6位用户的满意度按由小到大的顺序排序输出
  • 统计满意度个数,计算百分比并输出 (90分为合格) 
  • 判断如果百分比值低于90%则显示信息“服务质量有待改进”,否则提示“保持现有服务质量水平”
  • 代码关键处添加不少于5行的规范注释

#include <stdlib.h>
 
int main()
{
   int a[6];
   int i=0,t;
   //循环输入顾客满意度
   while(i<6){
        printf("请输入第%d名顾客的满意度:",i+1);
        scanf("%d",a[i]);
        i++;
   } 
   //运用循环,将满意度有小到大排序
   for(i=0;i<6;i++){
       for(j=i+1;j<6;j++){
          if(a[i]>a[j]){
              t=a[i],a[i]=a[j],a[j]=t;
          } 
       }
   }
   printf("六名顾客满意度由小到大为:%5d",a);
   float p;
   int s=0;
   //统计大于90的个数
   for(i=5;i>=0;i--){
       if(a[i]>=90){
           s++;
       }
   }
   //强制将输出结果转换成浮点数。
   p=(float)s/6;
   //打印结果占5个字符空间,小数点后没有字符空间。
   printf("满意度大于90分的顾客占比:%5.0d",p*100);
   if(p<0.9){
       printf("服务质量有待改进。");
   }else{
       printf("保持现有服务质量水平。");
   }
    return(0);
}

 

题目 :

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

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
	int a[6],b[6];
	printf("请输入六个数");
	int i=0, k=0;

//记录输入的六个数
	while(i<6){
		scanf("%d",&a[i]);
		i++;
	}
	for(i=0;i<6;i++){
		if(a[i]%3==0&&a[i]!=0){
			b[k]=a[i];
			k++;
		}

	}printf("六个数中是三的倍数的数量:%d",k+1);
	int max=b[0],min=b[0];
	for(i=1;i<k;i++){
	    if(max<b[i]){
	        max=b[i];
	   }
	   if (min>b[i]){
	       min=b[i];
	   }
	    
	}printf("三的倍数中的最大值是%d,最小值是%d",max,min);
	return 0;
}

题目五:

  1. 题目描述输入操作数及运算符完成数值的加、减、乘、除运算
  2. 评分要求
  • 定义接收操作数及运算符的变量,名称要符合规范
  • 提示并输入第一个操作数
  • 提示并输入运算符[加减乘除用字母代表]
  • 提示并输入第二个操作数
  • 采用多分支选择结构switch对输入的操作数进行判断,输入大小写字母都可以调用对应的运算(3分) 
  • 正常计算两数相加并输出结果
  • 正常计算两数相减并输出结果
  • 正常计算两数相乘并输出结果
  • 正常计算两数相除并输出结果
  • 如分母为0则输出提示信息“分母不能为零!”
  • 核心语句需添加不少于5行的规范注释描述实现思路
#include <stdlib.h>
 
int main()
{
    double n[2],out;
//将运算符重新命名;
    int p=43,s=45,M=42,d=47;
    printf("请输入第一个数:");
    n[0]=scanf("%d",&n[i]);
    printf("(+为p;-为s;*为M;/为d)请输入运算符:");
    f=getchar();
    printf("请输入第二个数:");
    n[1]=scanf("%d",&n[1]);
//输入什么运算,进入相应的运算方法;
    switch(f){
        caes p://加法
            out=n[0]+n[1];
            break;
       
        caes s://减法
            out=n[0]-n[1];
            break;
        
        caes M:乘法
            out=n[0]*n[1];
            break;
        
        caes d://除法
            //将分母为零时单独运行;
            if(n[1]!=0){
                out=n[0]/n[1]
            }else{
                printf("分母不能为零。");
            };
            break;
        default:printf("还未学习其他运算");break;
    }
    

    
}
    return(0);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值