1.题目描述:输入终值,输出所有能被7整除的数值及其和
1 #include<stdio.h>
2
3 int main(int agrc,const char *argv[])
4 {
5 printf("请输入值:");
6 int a;//定义变量a用来接收输入的值
7 scanf("%d",&a);
8 int num=0;//用来存储能被7整除的数值的和
9 int ind=0;//用来记录输出多少次已便换行
10 for(int i=1;i<=100;i++){
11 //通过对7取模是否等于0判断能否被7整除
12 if(i%7==0){
13 //打印输出能被7整除的数
14 printf("%2d ",i);
15 ind++;
16 //对能对7取模的数进行相加求和
17 num+=i;
18 //每输入五个换一次行
19 if(ind%5==0){
20 printf("\n");
21 }
22 }
23
24
25 }
26
27 printf("\n");
28 //输出能被7整除的和
29 printf("%d以内能被7整除的数值和是%d:\n",a,num);
30
31
32
33 return 0;
34 }
2.题目描述: 注册账号时需输入6位密码,根据密码组成验证其安全等级
1 #include<stdio.h>
2
3
4
5 int main(int agrc,const char *argv[])
6 {
7 //此变量接收用户密码
8 char pass;
9 //此变量判断密码长度是否正确
10 int i=0;
11 //定义一个循环,可多次输入密码
12 while(1){
13 //变量归零方便多次判断密码长度
14 i=0;
15 //以下三个变量x判断是否有数字,y判断是否有字母,z判断是否有特殊字符
16 int x=0;
17 int y=0;
18 int z=0;
19 printf("请输入六位数密码长度:\n");
20
21 //定义内层循环配合getchar()可多次输入
22 while(1){
23 //用getchar让用户输入密码
24 pass = getchar();
25 //判断是否回车,用于接触内层循环
26 if(pass=='\n'){
27 break;
28 }
29
30 //判断是否有数字
31 if(pass>='0'&&pass<='9'){
32 x=1;
33 }
34
35 //判断是否有字母
36 if(pass>='a'&&pass<='z'){
37 y=1;
38
39 }
40
41 //判断是否有特殊字符
42 if(pass>=32&&pass<=47){
43 z=1;
44
45 }
46
47 printf("%c",pass);
48 i++;
49 }
50
51 //判断密码长度是否正确,及其密码的等级
52 if(i>6||i<6){
53 printf("密码长度有误");
54 }else if(x==1&&y==1&&z==1){
55 printf("输入的密码中含有字母数字及其他字符 等级验证:高\n");
56
57 }else if(x==1&&y==1){
58 printf("输入六位数密码包含数字,字母,等级:中");
59
60 }else if(x==1){
61 printf("输入六位数密码,等级:低");
62
63 }
64 printf("\n");
65
66 //确认是否退出,0退出,1继续输入密码
67 printf("按1继续,按0退出\n");
68 int ac;
69 scanf("%d",&ac);
70 if(ac==0){
71 printf("谢谢使用^o^\n");
72 return 0;
73
74 }
75
76 //这个getchar用来吸收上面按0后按下的回车键
77 getchar();
78 }
79
80 return 0;
81 }
3.题目描述: 神州租车公司为提升服务质量近期展开满意度调查活动,请输入近期租车6位顾客满意度进行相关运算
1 #include<stdio.h>
2
3 #define N 6
4
5 //快速排序
6 void kp(int arr[],int let,int rig){
7 //判断起始下标和末尾下标是否相等,相等则结束
8 if(let>=rig){
9 return;
10 }
11
12 //将开始下标赋给i,结尾下标赋给j
13 int i=let;
14 int j=rig;
15
16 //保存一个i位置的元素用于比较
17 int key=arr[i];
18
19 //循环整体思路,假设key是中间的元素,把比key小的放到他左边,把比key大的放到他右边
20 //最终形成数组左边都是比key小的,数组右边都是比key大的
21 while(i<j){
22 while(i<j&&arr[j]>=key){
23 j--;
24 }
25 arr[i]=arr[j];
26
27 while(i<j&&arr[i]<=key){
28 i++;
29 }
30 arr[j]=arr[i];
31 }
32
33 arr[i]=key;
34 //将key左边和右边看做两个数组传递给函数本身再进行调用
35 kp(arr,0,i-1);
36 kp(arr,i+1,rig);
37
38
39 }
40
41
42 int main(int argc,const char *argv[])
43 {
44
45
46
47
48 printf("请输入满意度:\n");
49 //定义数组用于接收用户的满意度
50 int arr[N];
51 //在循环内部通过scanf的输入对数组arr进行复制
52 for(int i=0;i<N;i++){
53 printf("请输入第%d位客户的满意度:",i+1);
54 scanf("%d",&arr[i]);
55 }
56
57 //调用排序方法对用户的满意度由第到高进行排序
58 kp(arr,0,N-1);
59
60 printf("本次满意度调查由低到高分数值是:");
61 //定义此变量用于统计满意用户的个数用于计算用户满意的百分比
62 float sat=0;
63 for(int i=0;i<N;i++){
64 //如果满意度大于90视为满意那么sat++
65 if(arr[i]>=90){
66 sat++;
67 }
68 //输出用户的满意度
69 printf("%d ",arr[i]);
70 }
71 printf("\n");
72 //计算用户满意度百分比
73 float f=sat/N*100;
74 printf("满意度为:%f%%\n",f);
75
76 //判断整体是否满意
77 if(f>=90.00){
78 printf("保持现有服务水准\n");
79 }else{
80 printf("服务质量有待改进\n");
81 }
82
83
84
85
86
87
88
89 return 0;
90 }
4.题目描述: 输入一批数,输出是3倍数的数值,计算3倍数中的最大值、最小值
1#include<stdio.h>
2
3
4 int main(int argc,const char *argv)
5 {
6 int len;
7
8 printf("请输入数组长度:");
9 scanf("%d",&len);
10 printf("\n");
11 int arr[len];
12 printf("请以此输入数组的元素值:");
13 //利用循环输入给数组初始化
14 for(int i=0;i<len;i++){
15 scanf("%d",&arr[i]);
16 }
17
18 //定义最大值最小值
19 int max=0;
20 int min=0;
21
22 printf("\n");
23 printf("数组中是3倍数的元素包含:");
24 for(int i=0;i<len;i++){
25 //通过判断对3取模是否为0判断是否为3的倍数
26 if(arr[i]%3==0){
27 printf("%d ",arr[i]);
28
29 //寻找最大值
30 if(arr[i]>max){
31 max=arr[i];
32 }
33
34 //寻找最小值,min如果等于0不进行判断直接赋值
35 if(min==0){
36 min=arr[i];
37 }else if(min>arr[i]){
38 min=arr[i];
39 }
40 }
41 }
42
43 printf("\n");
44 printf("数组元素中3的最小倍速是:%d,最大倍数是:%d\n",min,max);
45
46
47
48 return 0;
49 }
5.题目描述:输入操作数及运算符完成数值的加、减、乘、除运算
1 #include<stdio.h>
2
3 int main(int argc,const char* argv[])
4 {
5 //定义两个float变量用于存储操作数
6 float a,b;
7 //定义字符用于存储运算符
8 char c;
9 printf("请输入第一个操作数:");
10 scanf("%f",&a);
11 printf("请输入运算符[加-P/p 减-S/s 乘-M/m 除-D/d]:");
12 scanf(" %c",&c);
13 printf("请输入第二个操作数:");
14 scanf("%f",&b);
15 printf("运算结果\n");
16
17 //利用switch来对运算符进行判断
18 switch(c){
19 case 'P':
20 case 'p':
21 printf("%.2f+%.2f=%.2f\n",a,b,a+b);
22 break;
23 case 'S':
24 case 's':
25 printf("%.2f-%.2f=%.2f\n",a,b,a-b);
26 break;
27 case 'M':
28 case 'm':
29 printf("%.2f*%.2f=%.2f\n",a,b,a*b);
30 break;
31 case 'D':
32 case 'd':
33
34 if(b!=0){
35 printf("%.2f/%.2f=%.2f\n",a,b,a/b);
36 }else{
37 printf("分母不能为0\n");
38 }
39 break;
40
41 default:
42 printf("符号输入有误\n");
43
44
45 }
46
47
48 return 0;
49 }