C语言实训题目集
计算摄氏温度
# include <stdio.h>
int main (void)
{
int celsius, fahr;
fahr=100;
celsius=5*(fahr-32)/9;
printf ("fahr =% d, celsius =% d\n", fahr, celsius);
return 0;
}
计算火车运行时间
#include<stdio.h>
int main(){
int x,y,a,b;
scanf("%d%d",&x,&y);
a=y%100-x%100;
b=y/100-x/100;
if(a>0||a==0)printf("%02d:%02d",b,a);
else printf("%02d:%02d",b-1,60+a);
return 0;
}
表格输出
#include<stdio.h>
int main(){
printf("------------------------------------\n");
printf("Province Area(km2) Pop.(10K)\n");
printf("------------------------------------\n");
printf("Anhui 139600.00 6461.00\n");
printf("Beijing 16410.54 1180.70\n");
printf("Chongqing 82400.00 3144.23\n");
printf("Shanghai 6340.50 1360.26\n");
printf("Zhejiang 101800.00 4894.00\n");
printf("------------------------------------\n");
return 0;
}
混合类型数据格式化输入
#include<stdio.h>
int main()
{
float i,k;
int j;
char c;
scanf("%f %d %c %f",&i,&j,&c,&k);
printf("%c %d %.2f %.2f",c,j,i,k);
return 0;
}
Say Hello to Integers
#include <stdio.h>
int main()
{
int n,m;
scanf("%d%d",&n,&m);
printf("Hello, %d and %d!\n",n,m);
}
算术入门之加减乘除
#include <stdio.h>
int main(){
int a, b; // a,b are integers in [0,100]
scanf("%d%d", &a, &b);
printf("%d + %d = %d\n", a, b, a+b);
printf("%d - %d = %d\n", a, b, a-b);
printf("%d * %d = %d\n", a, b, a*b);
if(a%b==0){
printf("%d / %d = %d\n", a, b, a/b );
}
else
printf("%d / %d = %.2f\n", a, b, (double)a/b );
return 0;
}
重要的话说三遍
#include <stdio.h>
int main(){
printf("I'm gonna WIN!\n");
printf("I'm gonna WIN!\n");
printf("I'm gonna WIN!\n");
return 0;
}
I Love GPLT
#include<stdio.h>
int main(){
printf("I\n \n");
printf("L\no\nv\ne\n \n");
printf("G\nP\nL\nT\n");
return 0;
}
新世界
#include<stdio.h>
int main()
{
printf("Hello World\n");
printf("Hello New World\n");
return 0;
}
日期格式化
#include<stdio.h>
int main()
{
int y,m,d;
scanf("%d-%d-%d",&m,&d,&y);
printf("%d-%02d-%02d",y,m,d);
}
宇宙无敌大招呼
#include<stdio.h>
int main()
{
char a[8];
fgets(a,8,stdin);
printf("Hello %s", a);
}
2018我们要赢
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char *argv[]) {
printf("2018\nwo3 men2 yao4 ying2 !");
return 0;
}
PTA使我精神焕发
#include<stdio.h>
int main()
{
printf("PTA shi3 wo3 jing1 shen2 huan4 fa1 !\n");
return 0;
}
整数算术运算
#include<stdio.h>
int main()
{
int A,B;
scanf("%d%d",&A,&B);
printf("%d + %d = %d\n",A,B,A+B);
printf("%d - %d = %d\n",A,B,A-B);
printf("%d * %d = %d\n",A,B,A*B);
printf("%d / %d = %d\n",A,B,A/B);
printf("%d %% %d = %d",A,B,A%B);
return 0;
}
温度转换
#include<stdio.h>
int main()
{
int f=150;
printf("fahr = 150, celsius = %d\n",5*(f-32)/9);
return 0;
}
计算物体自由下落的距离
#include<stdio.h>
int main()
{
printf("height = %.2lf",0.5*10*9);
return 0;
}
计算摄氏温度
#include<stdio.h>
int main()
{
printf("fahr = 100, celsius = %d\n",5*(100-32)/9);
return 0;
}
将x的平方赋值给y
#include<stdio.h>
int main()
{
int x=3;
int y;
printf("%d = %d * %d\n%d * %d = %d\n",x*x,x,x,x,x,x*x);
return 0;
}
计算华氏温度
#include<stdio.h>
int main()
{
int f;
f = 9 * 26 / 5 + 32;
printf("celsius = 26, fahr = %d\n",f);
return 0;
}
后天
#include <stdio.h>
int main(void) {
int d, day;
scanf("%d", &d);
day = d + 2;
if (day > 7) {
day -= 7;
}
printf("%d\n", day);
return 0;
}
是不是太胖了
#include<stdio.h>
#include<string.h>
#include<math.h>
int main()
{
double h,i,j;
scanf("%lf",&h);
double x;
x=(h-100)*0.9;
printf("%.1f",x*2);
}
计算指数
#include<stdio.h>
int main()
{
int a,n,i;
a=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
a=a*2;
}
printf("2^%d = %d",n,a);
return 0;
}
A乘以B
#include<stdio.h>
int main()
{
int a,b;
scanf("%d%d",&a,&b);
printf("%d\n",a*b);
return 0;
}
打折
#include <stdio.h>
int main()
{
int m,n;
float s;
scanf("%d %d",&m,&n);
s=1.0*m*n/10;
printf("%.2lf\n",s);
return 0;
}
心理阴影面积
#include <stdio.h>
#include <math.h>
int main()
{
int x,y,z,a,b;
scanf("%d %d",&x,&y);
a=100-x;
b=100-y;
z=100*100/2-x*y/2-a*b/2-a*y;
printf("%d\n",z);
return 0;
}
3人分糖果
#include<stdio.h>
int main()
{
int a=8,b=9,c=10;
a/=3;b+=a;c+=a;
b/=3;a+=b;c+=b;
c/=3;a+=c;b+=c;
printf("%d %d %d",a,b,c);
}
猫是液体
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b,c;
cin>>a>>b>>c;
cout<<a*b*c;
}
计算分段函数[1]
#include <stdio.h>
int main ()
{
double x,result;
scanf("%lf",&x);
if(x!=0){
result=1/x;
}else{
result=0;
}
printf("f(%.1f) = %.1f",x,result);
return 0;
}
计算分段函数[2]
#include<stdio.h>
#include<math.h>
int main()
{
double x,y;
scanf("%lf",&x);
if(x>=0)y=pow(x,0.5);
else y=(x+1)*(x+1)+2*x+1.0/x;
printf("f(%.2lf) = %.2lf",x,y);
return 0;
}
计算分段函数[3]
#include<stdio.h>
int main()
{
double x,y;
scanf("%lf",&x);
if(x!=10)y=x;
else y=1.0/x;
printf("f(%.1lf) = %.1lf",x,y);
return 0;
}
超速判断
#include<stdio.h>
int main()
{
int s;
scanf("%d",&s);
if(s>60)
{
printf("Speed: %d - Speeding\n",s);
}
else
{
printf("Speed: %d - OK\n",s);
}
return 0;
}
A除以B
int main()
{
int a,b;
float c=0.0;
scanf("%d %d",&a,&b);
c=(float)a/b;
if(b<0)
printf("%d/(%d)=%.2f",a,b,c);
else if(b==0)
printf("%d/%d=Error",a,b);
else
printf("%d/%d=%.2f",a,b,c);
return 0;
}
最佳情侣身高差
#include<iostream>
#include<cstdio>
#include<set>
using namespace std;
const int maxn=1010;
int num[maxn];
int main(){
int n;
char ch;
double h;
scanf("%d",&n);
while(n--){
getchar();
scanf("%c%lf",&ch,&h);
if(ch=='M') printf("%.2f\n",h/1.09);
else printf("%.2f\n",h*1.09);
}
return 0;
}
装睡
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
int n;
scanf("%d",&n);
while(n--)
{
char s[105];
int a,b;
scanf("%s%d%d",s,&a,&b);
if((!(a>=15&&a<=20))||!(b>=50&&b<=70))
printf("%s\n",s);
}
}
谁是赢家
#include<stdio.h>
int main()
{
int pa, pb, p1, p2, a, b, c;
scanf("%d%d", &pa, &pb);
scanf("%d%d%d", &a, &b, &c);
p2 = a + b + c;
p1 = 3-p2;
if (pa > pb && a+b+c < 3 || a+b+c == 0)
printf("The winner is a: %d + %d", pa, p1);
else
printf("The winner is b: %d + %d", pb, p2);
return 0;
}
冠军魔术
#include<stdio.h>
#include<math.h>
int main(void){
int a,b,x,sum;
scanf("%d%d",&a,&b);
if(b%2 == 0){
x=0;
}else{
x=1;
}
sum=a*pow(2,b/2);
printf("%d %d\n",x,sum);
return 0;
}
}
新胖子公式
#include<stdio.h>
#include<math.h>
int main(){
double x,y,n;
scanf("%lf %lf",&x,&y);
n=x/pow(y,2);
printf("%0.1lf\n",n);
if(n>25){
printf("PANG");
}
else
printf("Hai Xing");
return 0;
}
洛希极限
#include<bits/stdc++.h>
using namespace std;
int main(){
double x,y;
int f;
cin>>x>>f>>y;
if(f) x*=1.26;
else x*=2.455;
printf("%.2f ",x);
if(x<y) printf("^_^");
else printf("T_T");
}
输出华氏-摄氏温度转换表[1]
#include<stdio.h>
int main()
{
int i;
double m,n;
scanf("%lf %lf",&m,&n);
if(m>n){
printf("Invalid.");return 0;
}
printf("fahr celsius\n");
for(i=m;i<=n;i++){
printf("%4d%6.1lf\n",i,5*(i-32)/9.0);
}
return 0;
}
求N分之一序列前N项和
#include<stdio.h>
#include<math.h>
double item(int b);
int main(void)
{
int N,i;
double sum=0;
scanf("%d",&N);
for(i=1;i<=N;i++){
sum=sum+item(i);
}
printf("sum = %f",sum);
}
double item(int b){
return 1.0/b;
}
求奇数分之一序列前N项和
#include <stdio.h>
#include <stdlib.h>
int main()
{
int N,i;
double S;
S=0;
printf("N:");
scanf("%d",&N);
for(i=1;i<=N;i+=1){
S=S+1.0/(2*i-1);
}
printf("sum=%.6f",S);
return 0;
}
求交错序列前N项和
#include <stdio.h>
int main(){
int n,i;
double sum=0;
int sign=1;
scanf("%d",&n);
for(i=1;i<=n;i++){
sum += (double)i*sign/(2*i-1);
sign=-sign;
}
printf("%.3f\n",sum);
return 0;
}
生成3的乘方表
#include<stdio.h>
#include<math.h>
int main (void)
{
int n,i,s;
scanf("%d",&n);
for(i=0;i<=n;i++){
s=pow(3,i);
printf("pow(3,%d) = %d\n",i,s);
}
return 0;
}
求组合数
#include<stdio.h>
double fact(int n);
int main()
{
int m,n;
double res;
scanf("%d %d",&m,&n);
res=fact(n)/(fact(n-m)*fact(m));
printf("result = %.0lf",res);
}
double fact(int n)
{
int i;
double p=1;
for(i=1;i<=n;i++)
{
p=p * i;
}
return p;
}
求平方与倒数序列的部分和
#include<stdio.h>
#include<math.h>
int main(void)
{
int i, n, m;
double sum;
scanf("%d%d", &m, &n);
sum=0;
for(i=m; i<=n; i++){
sum=sum+pow(i,2)+1.0/i;
}
printf("sum = %.6f", sum);
return 0;
}
求交错序列前N项和
#include<stdio.h>
int main()
{
int n;
int i;
int zi = 1,mu = 1;
int flag=1;
double sum=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
sum+=zi*1.0/mu*flag;
flag=-flag;
zi+=1;
mu+=2;
}
printf("%.3lf\n",sum);
}
求平方根序列前N项和
#include<stdio.h>
#include<math.h>
int main(void)
{
int n,i;
double sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sum=sum+sqrt(i);
}
printf("sum = %.2f\n",sum);
return 0;
}
求阶乘序列前N项和
#include <stdio.h>
double fact( int n )
{
if(n==1||n==0)
return 1;
else
return fact(n-1)*n;
}
double factsum( int n )
{
if(n==0)
return 0;
int sum=0;
int j;
for(j=1;j<=n;j++)
{
sum+=fact(j);
}
return sum;
}
int main()
{
int n;
scanf("%d",&n);
printf("%.0f\n",factsum(n));
return 0;
}
统计学生平均成绩与及格人数
#include<stdio.h>
int main()
{
double sum = 0;
double average = 0;
int count = 0;
int n, sore;
scanf(