3954 Problem A 变量交换输出
#include <stdio.h>
int main()
{
int a,b,c,x;
scanf("%d%d%d",&a,&b,&c);
//假设a,b,c分别为1,2,3;选择一个中间值进行数值替换
x=a; //把a赋值给x,此时x就等于a的值为1
a=c; //把c赋值给a,此时a就等于c的值为3
c=b; //把b赋值给c,此时c就等于b的值为2
b=x; //把x赋值给b,此时b就等于x的值为1
printf("%d\n%d\n%d",a,b,c);
return 0;
}
3955 Problem B 数字换位
#include <stdio.h>
int main()
{
int x,a,b=0;
scanf("%d",&x); //假设输入的数是963
while(x>0) //当x小于等于0时结束循环
{
a=x%10;//取最后一个数963%10=3;此时a的值为3;
b=b*10+a; //b每次都乘10加a;具体就是0+3,然后就是30+6,最后是360+9
x/=10; //x去掉最后一个数3,具体就是变成96,然后是9,最后变成0,跳出循环
}
printf("%d",b);
return 0;
}
4323 Problem C 买西瓜
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n);
if(n==2) printf("NO"); //特殊情况,2一分为二为1,都是奇数。
else
{
if (n%2!=0) printf("NO"); //奇数不可能分为两个偶数。
else printf("YES"); //只有偶数才可以分为两个偶数
}
return 0;
}
4636 Problem D 简简单单的签到题
#include <stdio.h>
int main()
{
double d,h;
scanf("%lf %lf",&d,&h); // 输入不一定是整数,可能是浮点数。
double area=d*h/2;
printf("%.1lf",area); //输出保留小数点后一位
return 0;
}
3987 Problem E 计算器
//这题可以用swich-case。也可以用if-else语句来写,判断条件就是字符+-*/
#include <stdio.h>
int main()
{
float a,b;char n;
scanf("%f %f\n",&a,&b);
scanf("%c",&n);
switch(n)
{
case '+':printf("%.2lf",a+b);break;
case '-':printf("%.2lf",a-b);break;
case '*':printf("%.2lf",a*b);break;
case '/':printf("%.2lf",a/b);break;
default:printf("输入有误");
}
return 0;
}
4634 Problem F 小卷同学的讨厌数
#include <stdio.h>
int main()
{
int t;scanf("%d",&t); //输入n组数据
while(t--)
{
int n,sum=0;
scanf("%d",&n);
for(int i=0;i<n;++i)
{
int x;scanf("%d",&x);
if(x==1) continue;
bool ok=true;
for(int i=2;i<=x/i;++i) //一个大于等于2的数,要么是素数要么是合数,根据合数的性质只需要遍历到x/i向上取整即可。
{
if(x%i==0) // 判断是不是素数,不是bool就变false。
{
ok=false;
break;
}
}
if(ok)
{
sum+=x; //对素数进行累加。
printf("%d ",x);
}
}
printf("\n%d\n",sum);
}
return 0;
}
4164 Problem G 奇数位偶数位和与差
#include <stdio.h>
int main()
{
int t;scanf("%d",&t);
int sum1=0,sum2=0;
for (int i = 1; i <= t; ++i)
{
int x;scanf("%d",&x);
if (i%2!=0) sum1 += x; //奇数累加
else sum2 += x; //偶数累加
}
printf("%d\n%d\n", sum1, sum2);
//用大的数减小的数
if (sum1 >= sum2) printf("%d", sum1 - sum2);
else printf("%d", sum2 - sum1);
return 0;
}
1026 Problem H 完数
#include <stdio.h>
int main()
{
int i,j,n;
scanf("%d",&n);
for(i=2;i<=n;i++)
{
int cnt=0;
for(j=1;j<i;j++) if(i%j==0) cnt+=j; //求出所有因子之和
if(cnt==i) //如果相等就是完数
{
printf("%d its factors are ",i);
for(j=1;j<i;j++) if(i%j==0) printf("%d ",j); //升序打印因子
printf("\n"); //打印完空格
}
}
return 0;
}
4635 Problem I 小卷同学的小算盘
#include <stdio.h>
int main()
{
double x;
scanf("%lf",&x);
double max=0;
for(int i=0;i<12;++i)
{
double re;scanf("%lf",&re);
if(max<re) max=re; //找出最大值
}
printf("%.2lf",max*x); //美元对人民币汇率最高的时候所换的钱越多。
return 0;
}
这只是一次测试,永不会挡住你前进的步伐,坚持不懈去追求,相信有一天你也可以成为被人仰慕的大佬,有缘再见
标签:11,main,晚上,测试题,int,scanf,printf,Problem,include From: https://www.cnblogs.com/expect-999/p/17802605.html