本文最后更新于1469 天前,其中的信息可能已经过时,如有错误请发送邮件到lwenhao1010@163.com
1-1 hello,world
任务描述:
编写程序输出一行文字:hello,world。 注释:“hello,world”程序是指在计算机屏幕上输出“hello,world”这行字符串的计算机程序。这个例程因在Brian Kernighan和Dennis M. Ritchie合著的《The C Programme Language》一书中使用而广泛流行。
输入格式:
此程序无需输入
输出格式:
输出一行文本:hello,world
输入样例:
输出样例:
hello,world
相关限制:
代码长度限制16KB 时间限制400ms 内存限制64MB 栈限制8192KB
答案:
#include <stdio.h>
int main()
{
printf("hello,world\n");
return 0;
}
1-2 逆序的三位数
任务描述:
程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。
输入格式:
每个测试是一个3位的正整数。
输出格式:
输出按位逆序的数。
输入样例:
123
输出样例:
321
相关限制:
代码长度限制16KB 时间限制400ms 内存限制64MB 栈限制8192KB
答案:
#include <stdio.h>
int main()
{
int a,b,c,d;
scanf("%d",&a);
b=a%10;
c=a/10%10;
d=a/100;
printf("%d",b*100+c*10+d);
return 0;
}
1-3 分苹果
任务描述:
一袋苹果有n个,每个孩子子可以分4个苹果,请问可以分给几个孩子,还剩几个苹果?
输入格式:
输入一个正整数表示苹果个数。
输出格式:
输出可以得到苹果的孩子人数和剩余苹果个数,两个数据之间用逗号分隔。
输入样例:
101
输出样例:
25,1
相关限制:
代码长度限制16KB 时间限制400ms 内存限制64MB 栈限制8192KB
答案:
#include <stdio.h>
int main()
{
int a,b,c;
scanf("%d",&a);
b=a/4;
c=a%4;
printf("%d,%d",b,c);
return 0;
}
1-4 计算两个整数之和
任务描述:
要求输入2个整数A和B,然后输出它们的和。
输入格式:
输入在一行中给出整数A和B。
输出格式:
输出A+B的值。
输入样例:
在这里给出一组输入。例如:
3 5
输出样例:
在这里给出相应的输出。例如:
8
相关限制:
代码长度限制16KB 时间限制400ms 内存限制64MB 栈限制8192KB
答案:
#include <stdio.h>
int main()
{
int a,b;
scanf("%d %d",&a,&b);
printf("%d",a+b);
return 0;
}
1-5 求整数均值
任务描述:
本题要求编写程序,计算4个整数的和与平均值。题目保证输入与输出均在整型范围内。
输入格式:
输入在一行中给出4个整数,其间以空格分隔。
输出格式:
在一行中按照格式“Sum = 和; Average = 平均值”顺序输出和与平均值,其中平均值精确到小数点后一位。
输入样例:
在这里给出一组输入。例如:
1 2 3 4
输出样例:
在这里给出相应的输出。例如:
Sum = 10; Average = 2.5
相关限制:
代码长度限制16KB 时间限制400ms 内存限制64MB 栈限制8192KB
答案:
#include <stdio.h>
int main()
{
int a,b,c,d,Sum;
double Average;
scanf("%d %d %d %d",&a,&b,&c,&d);
Sum=a+b+c+d;
Average=Sum*1.0/4;
printf("Sum = %d; Average = %.1f",Sum,Average);
return 0;
}
1-6 两个整数最大值
任务描述:
求两个整数a,b的最大值,结果存入max中。
输入格式:
在一行中输入两个整数,之间用一个空格间隔,没有其它任何附加字符。
输出格式:
在一行中按照“max=结果”的顺序输出,结果原样输出,没有其它附加格式。
输入样例:
在这里给出一组输入。例如:
3 5
输出样例:
在这里给出相应的输出。例如:
max=5
相关限制:
代码长度限制16KB 时间限制400ms 内存限制64MB 栈限制8192KB
答案:
#include <stdio.h>
int main()
{
int a,b,max;
scanf("%d %d",&a,&b);
if(a>b)
max=a;
else
max=b;
printf("max=%d",max);
return 0;
}
1-7 三个数由小到大输出
任务描述:
输入三个整数x,y,z,请把这三个数由小到大输出。
输入格式:
在一行中直接输入3个整数,之间各用一个空格间隔。
输出格式:
在一行中按照“x=最小值,y=次小值, z=最大值”的顺序输出结果,最大值、次大值和最小值均原样输出,没有宽度控制。
输入样例:
在这里给出一组输入。例如:
2 1 3
输出样例:
在这里给出相应的输出。例如:
x=1,y=2,z=3
相关限制:
代码长度限制16KB 时间限制400ms 内存限制64MB 栈限制8192KB
答案:
#include <stdio.h>
int main()
{
int a,b,c,d;
scanf("%d %d %d",&a,&b,&c);
if(a>b)
{
d=a;
a=b;
b=d;
}
if(a>c)
{
d=a;
a=c;
c=d;
}
if(b>c)
{
d=b;
b=c;
c=d;
}
printf("x=%d,y=%d,z=%d",a,b,c);
return 0;
}
1-8 求该月天数
任务描述:
求一个月有多少天,用switch完成。
输入格式:
输入两个整数,如2021 9,第一个表示年,第二个表示月,输出该月的天数。需要考虑闰年。如果月份错误,输出ERROR。
输出格式:
31
输入样例:
在这里给出一组输入。例如:
2021 9
输出样例:
在这里给出相应的输出。例如:
30
相关限制:
代码长度限制16KB 时间限制400ms 内存限制64MB 栈限制8192KB
答案:
#include <stdio.h>
int main()
{
int a,b;
scanf("%d %d",&a,&b);
switch(b)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
printf("31\n");
break;
case 4:
case 6:
case 9:
case 11:
printf("30\n");
break;
case 2:
if((a%4==0&&a%100!=0)||(a%400==0))
printf("29\n");
else
printf("28\n");
break;
default :
printf("ERROR\n");
}
return 0;
}