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);
else
printf("%.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;
}