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