C语言刷题训练DAY.6
1.进制A+B
解题思路:
这里我们按照备注的提示,调整输入格式。
注意:%x是十六进制的数字
%o是八进制的数字
解题代码:
#include<stdio.h>
int main()
{int a = 0;int b = 0;scanf("0x%x 0%o", &a, &b);printf("%d", a + b);return 0;
}
2.网购
解题思路:
这里我们用if else语句判断是双十一还是双十二,用了优惠卷还是没有用优惠卷。
解题代码:
#include<stdio.h>
int main()
{//价格double a = 0.0;//月int b = 0;//日int c= 0;//优惠卷int d = 0;//最后的价格double last = 0.0;//输入scanf("%lf %d %d %d", &a, &b, &c, &d);if (b == 11 && c == 11){//使用优惠卷if (d == 1){last = a * 0.7 - 50;}//不使用优惠卷else{last = a * 0.7;}}else if (b == 12 & c == 12){//使用优惠卷if (d == 1){last = a * 0.8 - 50;}//不使用优惠卷else{last = a * 0.8; }}if (last < 0.0)printf("%.2lf\n", 0.0);elseprintf("%.2lf\n",last);return 0;
}
3.争夺前五名
解题思路:
这里我们把值输入到数组里面存储,再使用冒泡排序即可,不懂冒泡排序的可以看我下面这个文章。
冒 泡 排 序_艾老虎尤的博客-CSDN博客
解题代码:
#include<stdio.h>
int main()
{int n = 0;int arr[40] = { 0 };scanf("%d", &n);int i = 0;for (i = 0; i < n; i++){scanf("%d", &arr[i]);}for (i = 0; i < n - 1; i++)//趟数{int j = 0;for (j = 0; j < n - 1 - i; j++){//判断是否要交换if (arr[j] < arr[j + 1]){int tmp = arr[j];arr[j ] = arr[j+1];arr[j+1] = tmp;}}}for (i = 0; i < 5; i++){//输出printf("%d ", arr[i]);}return 0;
}
4.竞选社长
解题思路:
这里我们写两种方法,第一种方法是利用库函数gets,获得输入的字符再进行判断。
第二种是用getchar,获得输入的字符再进行判断。
方法一:库函数gets
#include<stdio.h>
int main()
{char a[100] = { 0 };gets(a);int i = 0;int count_A = 0;int count_B = 0;while (a[i] != 0){if (a[i] == 'A'){count_A++;}if(a[i] == 'B'){count_B++;}i++;}if (count_A > count_B){printf("A");}else if(count_A < count_B){printf("B");}else{printf("E");}return 0;
}
方法二:getchar
#include<stdio.h>
int main()
{int n = 0;int count_A = 0;int count_B = 0;while ((n = getchar()) != '0'){if (n == 'A'){count_A++;}if(n == 'B'){count_B++;}}if (count_A > count_B){printf("A");}else if(count_A < count_B){printf("B");}else{printf("E");}return 0;
}
5.你是天才吗?
解题思路:
直接输入,并且用while语句设置循环条件,if语句判断即可。
解题代码:
#include<stdio.h>
int main()
{int IQ = 0;while(scanf("%d", &IQ) != EOF){if (IQ >= 140)printf("Genius");}return 0;
}
6.完美成绩
解题思路:
直接输入,并且用while语句,&&操作符设置循环条件,if语句判断即可。
解题代码:
#include<stdio.h>
int main()
{int a = 0;while(scanf("%d", &a) != EOF){if (a >= 90 && a <= 100)printf("Perfect");}return 0;
}