不挂科2021

此博客涵盖了多个数学和物理问题的计算,包括摄氏温度、华氏温度转换、自由落体距离、指数函数值、分段函数计算、速度判断等。此外,还涉及到字符串处理、字符计数、身份证号码验证、矩阵操作和组合数的求和等编程问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

计算摄氏温度
# 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("%d",&n);
	if (n > 0)/*注意检测人数为0*/
	{
		for (int i = 0; i < n; i++)
		{
			scanf("%d", &sore);
			sum += sore;
			if (sore >= 60)
			{
				count++;
			}
		}
		average = sum / n;
	}
	printf("average = %.1f\n", average);
	printf("count = %d\n", count);
	return 0;
}
统计字符
#include<bits/stdc++.h>
using namespace std;
int main()
{
	int a,b,c,d,i;
	a=b=c=d=0;
	char s;
	for(i=0;i<10;i++){
		scanf("%c",&s);
		if((s>='a'&&s<='z')||(s>='A'&&s<='Z'))a++;
		else if(s==' '||s=='\n')b++;
		else if(s>='0'&&s<='9')c++;
		else d++;
	}
	printf("letter = %d, blank = %d, digit = %d, other = %d",a,b,c,d);
	return 0;	
}
输出闰年
# include <stdio.h>

int main (void)
{
    int X;
    int count = 0;
    scanf("%d",&X);
    if(X>2000 && X<=2100)  
    {
        for(int i=2001; i<=X; i++)
        {
            if( (0 == i%4 && 0 != i%100)||(0 == i%400) )
            {
                printf("%d\n",i);
                count++;
            }
            
        }
        if (count == 0)
                printf("None");
    }
    else
        printf("Invalid year!");
    return 0;
}
统计学生成绩
#include<stdio.h>
int main()
{
  int A = 0 , B = 0 ,C = 0 , D = 0 , E = 0;
  int N = 0, score, i = 0;
  
  scanf("%d", &N);//人数
  for(i = 1; i <= N; i++)
  {
    scanf("%d", &score);//成绩
    if(score >= 90)
      A++;
    else if(score >= 80&&score < 90)
      B++;
    else if(score >= 70&&score < 80)
      C++;
    else if(score >= 60&&score < 70)  
      D++;
    else if(score < 60)
      E++;
  }
  printf("%d %d %d %d %d", A, B, C, D, E);
  return 0;
}
求e的近似值
#include <stdio.h>
int main (){
	int n,i;
	double sum ,factorial; 
	sum = factorial = 1.0;
	scanf("%d",&n);
	for( i=1; i<=n ; i++){
		factorial *= i;
		sum += 1/factorial;			}
	printf("%.8f",sum);
	return 0 ;
} 
求分数序列前N项和
#include <stdio.h>
int main()
{

    int n,m=1;
    double a=1.0,b=1.0,z;
    double temp,sum=0;
    scanf("%d",&n);
    while(m<=n){
        m++;
        z=a;
        a=a+b;
        b=z;
        temp=a*1.000/b;
        sum+=temp;
    }
    printf("%.2f",sum);
}
打印菱形图案
#include <stdio.h>
int main() {
    int n;
    if (scanf("%d", &n)) {};
    for (int i = 1,b = n-1; i <= (n / 2) + 1; i++,b -= 2) {
        for (int m = 1; m <= b; m++) {
            printf(" ");
        }
        for (int t = 1; t <= 2 * i - 1; t++) {
            printf("* ");
        }
        printf("\n");
    }
    for (int i = 1,b = 0,a = n; i <= n / 2 + 1; i++,b += 2,a -= 2) {
        if (i != 1) {
            for (int m = 1; m <= b; m++) {
                printf(" ");
            }
            for (int t = 1; t <= a; t++) {
                printf("* ");
            }
            printf("\n");
        }
    }
    return 0;
}
猴子吃桃问题
#include<stdio.h>
int main()
{
    int N,i,sum=1;
    scanf("%d", &N);
    for ( i=1; i<=N-1; i++ ) {
    	sum = (sum+1)*2;
	}
	printf("%d\n", sum);
	
	return 0;
}1100的和
#include<stdio.h>
int main(){
	int i,sum = 0;
	for(i=1;i<=100;i++){
		sum = sum +i;
	}
	printf("sum = %d\n",sum);
	return 0;
}
求幂之和
#include<stdio.h>
#include<math.h>
int main()
{int n,sum=0;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{sum+=pow(2,i);
}
printf("result = %d",sum);
return 0;
}
近似求PI
#include<stdio.h>
double fenzi(int n);
double fenmu(int n);
int main()
{
	int n=0;
	double sum=0;
	double eps;
	scanf("%le",&eps);
	do
	{
		sum+=fenzi(n)/fenmu(n);
			  		n++;
	}while((fenzi(n)/fenmu(n))>=eps);
	if(sum>=eps)
	sum+=fenzi(n)/fenmu(n);
	printf("PI = %.5lf", sum * 2);
	return 0;
}
double fenzi(int n)
{
	if(n==0)
	return 1;
	
	return n*fenzi(n-1);
}
double fenmu(int n)
{
	if(n==0)
	return 1;
	return (n*2+1) * fenmu(n-1);
}
求整数段和
#include <stdio.h>
 
int main(){
	int a,b,i;
	int sum = 0;
	int couter = 0;   
	scanf("%d %d",&a,&b);
    for(i=a;i<=b;i++){       
    	sum += i;
    	couter++;       
    	printf("%5d",i);     
    	if(couter%5 == 0 && i!=b){   
    		printf("\n");
		}
	}
	printf("\n");            
	printf("Sum = %d",sum);
	return 0;
}
大笨钟
#include<stdio.h>
#include<math.h>
 
int main()
{
  int hh, mm;
  int n, i;
  scanf("%d:%d",&hh, &mm);
  if( (0<=hh && hh<=11) || (hh == 12 && mm == 0)) printf("Only %02d:%02d.  Too early to Dang.\n", hh, mm);
  else{
      n = hh - 12 + ceil(1.0*mm / 60);
      for(i=0; i<n; i++){
          printf("Dang");
      }
      printf("\n");
  }
  return 0;
}
谁先倒
#include<stdio.h>
int main()
{
 int A, B, N, i, j, flag, A_drink = 0, B_drink = 0;
 int com[100][4];
 scanf("%d%d%d", &A, &B, &N);
 for (i = 0; i < N; i++)
  for (j = 0; j < 4; j++)
   scanf("%d", &com[i][j]);
 for (i = 0; i < N; i++)
 {
  flag = com[i][0] + com[i][2];
  if (com[i][1] != com[i][3])
  {
   if (flag == com[i][1])A_drink++;
   else if (flag == com[i][3])B_drink++;
  }
  if (A_drink > A || B_drink > B)break;
 }
 if (A_drink > A)printf("A\n%d\n", B_drink);
 else printf("B\n%d\n", A_drink);
 return 0;
}
奇偶分家
#include <stdio.h>
#include <math.h>
int main()
{
	int n;			
	int a[1001];	
	int i;		
	int ji=0,ou=0;	
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	for(i=0;i<n;i++)
	{
		if(a[i]%2==0)
			ou++;
		else
			ji++;
	}
	printf("%d %d\n",ji,ou);
	return 0;
}
到底是不是太胖了
#include <stdio.h>

int main(void) {
    int n, i, height, weight;
    double standard_weight;

    scanf("%d", &n);
    for (i = 1; i <= n; i++) {
        scanf("%d %d", &height, &weight);
        standard_weight = (height - 100)*0.9 * 2;
        if (weight >= standard_weight) {
            if (weight - standard_weight < standard_weight*0.1) {
                printf("You are wan mei!\n");
            }
            else {
                printf("You are tai pang le!\n");
            }
        }
        else {
            if (standard_weight - weight < standard_weight*0.1) {
                printf("You are wan mei!\n");
            }
            else {
                printf("You are tai shou le!\n");
            }
        }
    }

    return 0;
}
查验身份证
#include<stdio.h>
int main()
{
  int q[17]={7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};
  char n[18],M[11]={'1','0','X','9','8','7','6','5','4','3','2'};
  int N,i,j,sum=0,k=0,flag=0,Z;
  scanf("%d",&N);
  getchar();
  for(i=0;i<N;i++)
  {
    flag=0;
    sum=0; 
	  scanf("%s",n);
    for(j=0;j<17;j++)
    {
      sum=sum+(n[j]-'0')*q[j];
      if(n[j]<'0'||n[j]>'9')
        flag=1;
    }
    Z=sum%11;
    if(M[Z]!=n[17]||flag==1)
    {
      k++;
      printf("%s\n",n);
    }
  }
  if(k==0)
    printf("All passed");
  return 0;
} 
情人节
#include<iostream>
#include<string.h>
using namespace std;
int main()
{
    int n=0;
    string s1,s2,s;
    for(1;s!=".";)
    {
        cin>>s;
        n++;
        if(n==2) s1=s;
        if(n==14) s2=s;
    }
    if(n>=14)cout<<s1<<" and "<<s2<<" are inviting you to dinner..."<<endl;
    else if(n>2)cout<<s1<<" is the only one for you..."<<endl;
    else cout<<"Momo... No one is for you ..."<<endl;
    
}
电子汪
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<algorithm>
using namespace std;
int main()
{
	int A,B;
	scanf("%d %d",&A,&B);
	for(int i=1;i<=(A+B);i++)
		printf("Wang!");
	return 0;
}
 求集合数据的均方差
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{

    int n,i,a[10000];
    double avage,sum = 0;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
        sum+=a[i];
    }
    avage = sum/n;
    sum = 0;
    for(i=0;i<n;i++)
    {
        sum += pow(a[i]-avage,2.0);
    }
    avage = sum/n;
    printf("%.5lf",sqrt(avage));
    return 0;
}1到N的和
#include<stdio.h>
main()
{
	int s=0,n,i;
	scanf("%d",&n);
	for(i=1;i<=n;i++)
	{
		s+=i;
	}
	printf("sum = %d",s);
}
吃鱼还是吃肉
#include<stdio.h>
int main()
{
  int N,s,t,a,i=0;
  scanf("%d",&N);
  while(i<N)
  
  {
    scanf("%d %d %d",&a,&s,&t);//把身高体重都分开讨论。
    if(a==1)
    {
      if(s<130) printf("duo chi yu! ");
      if(s==130) printf("wan mei! ");
      if(s>130) printf("ni li hai! ");
      if(t<27) printf("duo chi rou!\n");
      if(t==27) printf("wan mei!\n");
      if(t>27) printf("shao chi rou!\n");
    }
    if(a==0)
    {
      if(s<129) printf("duo chi yu! ");
      if(s==129) printf("wan mei! ");
      if(s>129) printf("ni li hai! ");
      if(t<25) printf("duo chi rou!\n");
      if(t==25) printf("wan mei!\n");
      if(t>25) printf("shao chi rou!\n");
    }
    i++;
  }
  return 0;
}
找出三位水仙花数
#include<stdio.h>
#include<math.h>
int main()
{
    int M,N,q,w;
    int g,s,b;
    scanf("%d%d",&M,&N);
    q=M;
    w=N;
        if(M<=N&&M>=100&&N>=100&&N<=999)
        {
            for(q;q<=w;q++)
            {
                g=q%10;
                s=q%100/10;
                b=q/100;
                if(q==pow(g,3)+pow(s,3)+pow(b,3))
                {
                    printf("%d\n",q);//如果是则输出
                }
            }
        }
        else
        { 
            printf("Invalid Value.");
        }
        return 0;
}
统计证书成绩
#include<stdio.h>
int main()
{
  int A = 0 , B = 0 ,C = 0;
  int N = 0, score, i = 0;
  printf("输入学生人数:\n"); 
  scanf("%d", &N);            
  printf("请输入%d个学生的成绩\n",N); 
  for(i = 1; i <= N; i++)
  {
    scanf("%d", &score);     
    if(score >= 85)
      A++;
    else if(score >= 60&&score < 85)
      B++;
    else if(score < 60)
      C++;
  }
  printf("优秀证书%d\n合格证书%d\n没有证书%d\n", A, B, C);
  return 0;
}
调和平均
# include <stdio.h>
int main(){
	int n;
	scanf("%d",&n);
	double sum =0,t;
	for(int i=0;i<n;i++){
	scanf("%lf",&t);
		sum += 1/t;
	}
	sum = sum/n;
	printf("%.2lf\n",1/sum);
} 
胎压监测
#include<bits/stdc++.h>
using namespace std;

int main(){
	int a[4],x,y;
	cin>>a[0]>>a[1]>>a[2]>>a[3]>>x>>y;
	int max = *max_element(a,a+4);
	int flag=0,f;
	for(int i=0;i<4;i++){
		if(max-a[i]>y||a[i]<x){
			flag+=1;
			f=i;
		}
	}
	if(flag==0)
		cout<<"Normal"<<endl;
	else if(flag==1)
		cout<<"Warning: please check #"<<f+1<<"!"<<endl;
	else
		cout<<"Warning: please check all the tires!"<<endl;
}
统计字符2
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])
{
int a[256],i,max,s;
char c[101];
while(gets(c))
{memset(a,0,sizeof(a));s=0;
for(i=0;c[i]!=0;i++)
{if(c[i]!=' ')
{
a[c[i]]++;
}
}
max=a[0];
for(i=0;i<256;i++)
{if(max<a[i])
{max=a[i];
s=i;
}
}
printf("%c %d\n",s,max);

}
return 0;
}
统计数字字符和空格
#include <iostream>
using namespace std;
int main()
{
	int blank=0,digit=0,other=0,i;
	i=cin.get();
	while (i!=10) 
	{
	
		switch(i)
		{
		case 32:blank++;i=cin.get();break;
		case 48:digit++;i=cin.get();break;
		case 49:digit++;i=cin.get();break;
		case 50:digit++;i=cin.get();break;
		case 51:digit++;i=cin.get();break;
		case 52:digit++;i=cin.get();break;
		case 53:digit++;i=cin.get();break;
		case 54:digit++;i=cin.get();break;
		case 55:digit++;i=cin.get();break;
		case 56:digit++;i=cin.get();break;
		case 57:digit++;i=cin.get();break;
		default:other++;i=cin.get();break;
		}
	}
	cout<<"blank = "<<blank<<", digit = "<<digit<<", other = "<<other;
	return 0;
}
简化的插入排序 
#include <stdio.h>

int main()
{
	int n,i,x;
	int a[20];  
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%d",&a[i]);
	scanf("%d",&x);

	int j,num;
	for(i=0;i<n;i++)
	{
		if(a[i]>x)
		{
			for(j=n;j>i;j--)
				a[j]=a[j-1];
			break;
		}
	}
	a[i]=x;
	for(i=0;i<=n;i++)
		printf("%d ",a[i]);
	
}
查找整数
#include<stdio.h>
int main()
{
	int a[20];
	int n,number;
	int isPrime = 0;
	scanf("%d", &n);
	
	for(int i=0;i<n;i++)
		scanf("%d",&a[i]);
		
	scanf("%d", &number);
	
	for(int i=0;i<n;i++)
	{
		if(a[i]==number)
		{
			isPrime = 1;
			printf("%d",i+1);
			break;
		}
	}
	if(isPrime == 0)
		printf("-1");
			
	return 0;
}
交换最小值和最大值
#include<stdio.h>
int main()
{
  int n,a[10],i,min,max,min1=0,max1=0,t;
  scanf("%d",&n);
  for(i=0;i<n;i++){
    scanf("%d",&a[i]);
    getchar();
  }
  max=a[0];
  min=a[0];
  for(i=1;i<n;i++){
    if(max<a[i]){
        max1=i;
        max=a[i];
    }
    if(min>a[i]){
        min1=i;
        min=a[i];
    }
  }
  t=a[0];
  a[0]=a[min1];
  a[min1]=t;
  if(max1==0)
    max1=min1;
  t=a[n-1];
  a[n-1]=a[max1];
  a[max1]=t;
   for(i=0;i<n;i++){
    printf("%d ",a[i]);
  }

  return 0;
}
输出数组元素
#include<stdio.h>
int main()
{
	int n;
	scanf("%d",&n);
	int a[n],b[n-1];
	for(int i=0;i<n;i++)
		scanf("%d",&a[i]);
	int count=0;
	for(int i=0;i<n-1;i++)
	{
		
			b[i]=a[i]-a[i+1];
			count++;
		printf("%d",a[i+1]-a[i]);
		if(count%3!=0&&i<n-2) printf(" ") ;
		else if(count%3==0) printf("\n");
	}
		
}
 计算符号函数的值
#include<stdio.h>
int main(int argc,char* argv[])
{
	int n;
	int result;
	scanf("%d",&n);
	if(n<0)
	result=-1;
	else if(n==0)
	result=0;
	else
	result=1;
	printf("sign(%d) = %d",n,result);
	return 0;
}
比较大小
#include <stdio.h>
 
int main()
{
	int a[3];
	while (~scanf("%d %d %d", &a[0], &a[1], &a[2]))
	{
		for (int i = 0; i < 2; i++)
		{
			for (int j = 0; j < 2-i; j++)
			{
				if (a[j] > a[j+1])
				{
					int t = a[j];
					a[j] = a[j+1];
					a[j+1] = t;
				}
			}
		}
		printf("%d->%d->%d\n", a[0], a[1], a[2]);
	}
	return 0;
}
计算个人所得税
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
	int wage=0;
	double pay=0;
	scanf("%d",&wage);
	if(wage<=1600)
	{
		pay=0;
	}
	else if(wage>1600&&wage<=2500)
	{
		pay=(wage-1600)*0.05;
	}
	else if(wage>2500&&wage<=3500)
	{
		pay=(wage-1600)*0.1;
	}
	else if(wage>3500&&wage<=4500)
	{
		pay=(wage-1600)*0.15;
	}
	else if(wage>4500)
	{
		pay=(wage-1600)*0.2;
	}
	printf("%.2f",pay);
	
	return 0;
}
用天平找小球
#include<stdio.h>
int main()
{
 int a,b,c;
 scanf("%d%d%d",&a,&b,&c);
 if(a==b)
  printf("C");
 else if(a==c)
  printf("B");
 else
  printf("A");
 return 0;
}
分段计算居民水费
#include <stdio.h>
 
int main(){
	double x;
	double y;
	scanf("%lf",&x);
	if(x<=15){
		y = 4*x/3;
	}
	else{
		y = 2.5*x-17.5;
	}
	printf("%.2lf",y);
	return 0;
}
 两个数的简单计算器
#include<iostream>
using namespace std;
int main(void)
{
	int x, y;
	char c;
	scanf("%d %c %d", &x, &c, &y);
	switch (c)
	{
	case '+': cout << x + y << endl;
		break;
	case '-': cout << x - y << endl;
		break;
	case '*': cout << x * y << endl;
		break;
	case '/':
		if (x != 0)
		{
			cout << x / y << endl;
			break;
		}
		else
		{
			cout << "ERROR" << endl;
			break;
		}
	case '%':
		if (x != 0)
		{
			cout << x % y << endl;
			break;
		}
		else
		{
			cout << "ERROR" << endl;
			break;
		}
	default: cout << "ERROR" << endl;
		break;
	}
	return 0;
}
寻找250
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int arr[10005];
    int i;
    for(i=1;i<=10005;i++)
    {
        scanf("%d",&arr[i]);
        if(arr[i]==250)
        {
            break;
        }
    }
    printf("%d",i);
    return 0;
}
福到了
#include<iostream>
#include<string>
#include<cstring>
using namespace std;
int main() {
	char a;
	int N;
	cin>>a>>N;
	getchar();
	string b[N];
	for(int i=0; i<N; i++)
		getline(cin,b[i]);
	bool flag=true;
	for(int i=N-1; i>=0; i--) {
		for(int j=N-1; j>=0; j--) {
			if(b[i][j]!=b[N-1-i][N-1-j])
				flag=false;
		}
		if(flag&&i==0)
			cout<<"bu yong dao le"<<endl;
	}
	for(int i=N-1; i>=0; i--) {
		for(int j=N-1; j>=0; j--) {
			if(b[i][j]=='@')
				cout<<a;
			else
				cout<<" ";
		}
		if(i!=0) {
			cout<<endl;
		}
	}
	return 0;
}
幸运彩票
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int main()
{
    int n;
    int sz;
    cin>>n;
    while(n--)
    {
        cin>>sz;
        if(sz/100000+sz/10000%10+sz/1000%10==sz%10+sz%100/10+sz%1000/100)
            cout<<"You are lucky!"<<endl;
        else
            cout<<"Wish you good luck."<<endl;
    }
    return 0;
}
判断一个三位数是否为水仙花数
#include <stdio.h>
#include <math.h>
int main(int argc, char *argv[])
{
	int n;
	scanf("%d",&n);
	if(100>n||n>999) printf("Invalid Value.\n");
	else if(pow((n/100),3)+pow((n/10)%10,3)+pow(n%10,3)==n)
	printf("Yes\n");
	else printf("No\n");
	return 0;
}
查找指定字符
#include <stdio.h>
int main()
{
	char n;
	char s[81];
	int index = -1;
	scanf("%c",&n);
	scanf(" %[^\n]s",s);
	for(int i=0;s[i]!=0;i++){
		if(n==s[i]){
			index = i;
		}
	} 
	if(index == -1){
		printf("Not Found");
	}else{
		printf("index = %d",index);
	}
	return 0;
}
字符串逆序
#include <stdio.h>
int main ()
{
	int i,k;
	char str [80];
	i=0;
	while((str[i] = getchar())!='\n')
		i++;
		str[i]='\0';
		for(i=i-1;i>=0;i--)
			printf("%c",str [i]);
		return 0;
}
字符串转换成十进制整数
#include<stdio.h>
#include<string.h>
int main()
{
    int i,j,k=0,n=0,flgh=1;
    long s=0;
    char a[100],b[100];
    i=0;
    while((a[i]=getchar())!='#') {
                        i++;
    }
    a[i]='\0';
    for(j=0; a[j]!='\0'; j++) {
        if(a[j]>='0'&&a[j]<='9'||a[j]>='A'&&
                   a[j]<='F'||a[j]>='a'&&a[j]<='f') {
            b[k]=a[j];
            k++;
        }
    }
    b[k]='\0';
    for(j=0;a[j]!='\0';j++){
    if(a[j]=='-') n++;
    if(a[j]>='0'&&a[j]<='9'||a[j]>='A'&&
       a[j]<='F'||a[j]>='a'&&a[j]<='f') break;
    }
    if(n>=1) flgh=-1;
    for(i=0; b[i]!='\0'; i++) {
        if(b[i]>='0'&&b[i]<='9') s=s*16+(b[i]-'0');
        else if(b[i]>='A'&&b[i]<='F') s=s*16+(b[i]
                                                  -'A')+10;
        else if(b[i]>='a'&&b[i]<='f') s=s*16+(b[i]
                                                  -'a')+10;
    }
    printf("%ld",s*flgh);
    return 0;
}
统计一行文本的单词个数
#include<stdio.h>  
  
int main()  
{  
    char str[1001];  
    gets(str);  
    int count=0;  
    int i=0;  
    while(str[i]==' ') 
        i++;  
      
    while(str[i]!='\0')  
    {  
        if(str[i]!=' ')  
        {   
            count++;  
            while(str[i]!=' ') 
            {  
                if(str[i]=='\0') 
                    break;  
                i++;      
            }  
        }  
        else  
        {  
            while(str[i]==' ' )  
                i++;      
        }  
    }  
    printf("%d\n",count);  
}
统计大写辅音字母
#include <stdio.h>   
int main()  
{   	
	char a[80];
	int d,i,j,k;
	i=0;
	while((d=getchar())!='\n'){
		a[i]=(char)d;
		i++;
	}
	a[i]='\0';
	
	k=0;
	for(j=0;j<i;j++){
		if(a[j]>='A'&&a[j]<='Z'&&a[j]!='A'&&a[j]!='E'&&a[j]!='I'&&a[j]!='O'&&a[j]!='U'){
			k++;	
		}
	}
	printf("%d",k);
	
    return 0;  
  
} 
字符串替换
#include <stdio.h>
char a[90];
int main() {
    int b = 0;
    int length = 0;
    for(int i = 0; b != '\n'; i++){
        b = getchar();
        a[i] = b;
        if(a[i] >= 'A' &&  a[i] <= 'Z'){
            a[i] = 155 - b;
        }
        length ++;
    }
    for(int i = 0; i < length; i ++){
        printf("%c",a[i]);
    }
    return 0;
}
字符转换 
#include <stdio.h>
 
char a[90];
char b[90];
int main() {
    int i = 0;
    int cnt = 0;
    int medi;
    while((a[i] = getchar())!= '\n'){
        i++;
        a[i] = '\0';
    }for(int  m = 0; a[m] != '\0'; m++){
        if( a[m] >= '0' && a[m] <='9'){
            b[cnt] = a[m];
            cnt++;
        }}
    b[cnt] = '\0';
    for(int k = 0; k < cnt; k ++){ 
         if(b[k] != '0'){
            medi = k;
            break;
            }
        }
    for(int j = medi; j < cnt; j ++){
        printf("%c",b[j]);
    }
 
    return 0;
}
字符串字母大小写转换
#include <stdio.h>
int main()
{
 char s[100];
 int i;
 gets(s);
 for ( i = 0; s[i] != '#'; i++)
 {
  if (s[i] >= 'A'&&s[i] <= 'Z')
  {
   s[i] += 32;
  }
  else if (s[i] >= 'a'&&s[i] <= 'z')
  {
   s[i] -= 32;
  }
 }
 for ( i = 0; s[i] != '#'; i++)
 {
  printf("%c", s[i]);
 }
 return 0; 
}
输出大写英文字母
#include<stdio.h>,
int main()
{int count,cnt=0,k=0;
	char str[81];
	char a[26];
	int i,j=0;
	gets(str);
	for(i=0;str[i]!='\0';i++)
	{
	    count = 0;
		for(j=0;j<cnt;j++)
		{
		if(str[i]==a[j])
		{
		count=1;break;
		}
		}
		if(str[i]>='A'&&str[i]<='Z'&&count==0)
		{
			k=1;
			a[j]=str[i];
			printf("%c",a[j]);
			j++;
			cnt++;
 		}
	}
	if(k==0)printf("Not Found");	
}
找最小的字符串
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<string.h>
int main(void)
{
	char a[10000][80];
	int n;
	int i,j;
	int min;
	char temp[80];
	scanf("%d",&n);
	getchar();
	for(i=0;i<n;i++)
		gets(a[i]);
	for(i=0;i<n-1;i++)
	{
		min=i;
		for(j=i+1;j<n;j++)
			if(strcmp(a[min],a[j])>0)
				min=j;
			if(min!=i)
			{
				strcpy(temp,a[min]);
				strcpy(a[min],a[i]);
				strcpy(a[i],temp);
			}
	}
	printf("Min is: %s",a[0]);
	return 0;
}
找最长的字符串
#include<stdio.h>
#include<string.h>
int main()
{
int n;
char s[80],t[80];
scanf("%d",&n);

	for(int i=0;i<n;i++)
	{
		gets(s);
		if(strlen(t)<strlen(s))
		{
			strcpy(t,s);
		}
		
	}
	printf("The longest is: %s",t);	
}
藏头诗
#include<stdio.h>
int main()
{
int i,j;
char a[4][20],b[20];
for(i=0;i<4;i++){
scanf("%s",&a[i]);
b[j++]=a[i][0];
b[j++]=a[i][1];
}
b[j]=’\0;
printf("%s",b);
return 0;
}
九宫格输入法
 
#include<stdio.h>
 
#include<string.h>
 
char b[10][10]={"0 ","1,.?!","2ABC","3DEF","4GHI","5JKL","6MNO","7PQRS","8TUV","9WXYZ"};
 
int main()
 
{
 
	char a[505];
 
	while(scanf("%s",a)!=EOF)
 
	{
		int m=strlen(a)%strlen(b[a[0]-'0']);
 
		if(m==0)
 
		m=strlen(b[a[0]-'0']);
 
		printf("%c",b[a[0]-'0'][m-1]);
 
	}
 
	
 
}
到底有多二
#include <stdio.h>
#include <string.h>

int main()
{
    int sign;
    int notodd = 1;
    int fool;
    char str[51] = {0};
    int i, j, n;
    float power = 1.0;
    i = 0;
    scanf("%s", &str);
    if (str[0] == '-')
    {
        sign = -1;
        i++;
    }
    else
        sign = 1;
    n = 0;
    while(str[i])
    {
        if (str[i] == '2')
            n++;
        i++;
    }
    j = (sign == -1) ? strlen(str) - 1 : strlen(str);
    if ((str[strlen(str) - 1] - '0') % 2 == 0)
        notodd = 2;
    if (sign == -1)
        power = 1.5;
    float sum;
    sum = n*1.0 / j *power*notodd*100;
    printf("%0.2f%%", sum);
    return 0;
}
正整数A+B
#include<stdio.h>
int main(){
	char a;
	int sum1=0,sum2=0,flag1=0,flag2=0;
	while((a=getchar())!=EOF&&a!=' '){
		if(a<'0'||a>'9') flag1=1;
		sum1*=10;
		sum1+=a-'0';
		if(sum1>1000||sum1<1) flag1=1;
	}
	
	while((a=getchar())!=EOF&&a!='\n'){
		if(a<'0'&&a>'9') flag2=1;
		sum2*=10;
		sum2+=a-'0';
		if(sum2>1000||sum2<1) flag2=1;
	}
	if(flag1==0&&flag2==0) printf("%d + %d = %d",sum1,sum2,sum1+sum2);
	else if(flag1&&flag2) printf("? + ? = ?");
	else if(flag1){printf("? + %d = ?",sum2);}
	else printf("%d + ? = ?",sum1);
	
	return 0;
}
个位数统计
#include <stdio.h>
#include <stdlib.h>
#define MAXN 1000+1
char array[MAXN];

int main()
{
    char c;
    int i=0;
    int a[10] = {0};
    while(scanf("%c",&c)!= EOF){
        array[i] = c;
        i++;
    }

    int j = 0;
    for(; j < i-1; j++){
        int temp = array[j]-'0';
        a[temp]++;
    }

    for(j = 0; j < 10; j++){
        if(a[j]==0) continue;
        printf("%d:%d\n",j,a[j]);
    }
    return 0;
}
考试座位号
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
struct node
{
    char x[1005];
    int y,z;
}a[1005];
int main()
{
    int t;
    cin>>t;
    for(int i=0;i<t;i++)
    {
        cin>>a[i].x>>a[i].y>>a[i].z;
    }
    int m,n;
    cin>>m;
    while(m--)
    {
        cin>>n;
        for(int i=0;i<t;i++)
        {
            if(a[i].y==n)
                cout<<a[i].x<<" "<<a[i].z<<endl;
        }
    }
    return 0;
}
检查密码
#include<stdio.h>
#include<iostream>
#include<cstring>
using namespace std;
int youshuzi,youzimu,youdian,youffzf;
int main(){
    int n;
    cin>>n;
    getchar();
    for(int i= 0;i<n;i++){
        string a;
        getline(cin,a);
        int len=a.length();
        if(len<6){
            cout<<"Your password is tai duan le."<<endl;
            }else {
            for(int j=0;j<len;j++){
                if(a[j]>='a'&&a[j]<='z'||a[j]>='A'&&a[j]<='Z'){
                    youzimu++;
                }else if(a[j]>='0'&&a[j]<='9'){
                    youshuzi++;
                }else if(a[j]=='.'){
                    youdian++;
                }else{
                    youffzf++;
                }
            }
        }
        if(youzimu&&youshuzi==0&&len>=6){
            cout<<"Your password needs shu zi."<<endl;
        }else if(youshuzi&&youzimu==0&&len>=6){
            cout<<"Your password needs zi mu."<<endl;
        }else if(youffzf&&len>=6){
            cout<<"Your password is tai luan le."<<endl;
        }
        else if(youshuzi&&youzimu&&len>=6){
            cout<<"Your password is wan mei."<<endl;
        }
        youshuzi=0;
        youzimu=0;
        youdian=0;
        youffzf=0;
    }
    return 0;
}
倒数第N个字符串
#include <stdio.h>
#include <string.h>

char alpha[27] = "zyxwvutsrqponmlkjihgfedcba";

int main() {
	int L, N; scanf("%d %d", &L, &N);
	char str[L];
	memset(str, 'z', sizeof(str));
	int a = N, b;
	for(int i = 1; i <= L; i++) {
		b = a%26; a = a/26;				
		if(i == 1) {									
			if(b != 0) {str[L-i] = alpha[b-1];}			
			if(b == 0) {str[L-i] = 'a'; a = a-1;}		
		} 
		else											
			str[L-i] = alpha[b];										
	}		
	for(int i = 0; i < L; i++)
		printf("%c", str[i]);
}
6翻了
#include<bits/stdc++.h>
using namespace std;
int main(){
  string s;
  getline(cin, s);
  cout << regex_replace(regex_replace(s, regex("6{10,}"), "27"), regex("6{4,}"), "9");
  return 0;
}
吃火锅
#include<bits/stdc++.h>
using namespace std;

int main(){
	string s;
	int sum1=0,sum2=0,first=0;
	while(1){
		getline(cin,s);
		if(s=="."){
			cout<<sum1<<endl;
			if(first){
				cout<<first<<" "<<sum2;
			}else{
				cout<<"-_-#";
			}
			return 0;
		}
		sum1++;
		int n = s.length();
		for(int i=0;i<n;i++){
			if(s[i]=='c'){
				if(s.substr(i,14)=="chi1 huo3 guo1"){
					if(!first) first=sum1;
					sum2++;
					break;
				}
			}
		}
	}
}
判断上三角矩阵
#include <stdio.h>
#define MAXN 10

int main()
{
    int n,N,a[MAXN][MAXN],i,j,k,num[1000];
  
	scanf("%d",&n);
	
    for(i=0;i<n;i++){
        c=1;
        scanf("%d",&N);
        for(j=0;j<N;j++){
            for(k=0;k<N;k++)
                scanf("%d",&a[j][k]);
        }
        	

		for(j=1;j<N;j++){ 
          for(k=0;k<j;k++){
              if(a[j][k]!=0){
                  c=0;
                  break;
			  }    
		  }
		
          if(!c)
              break;
		}

        if(c==1)            
			num[i]=1;
        else
            num[i]=0;
    }


    for(i=0;i<n;i++){        
        if(num[i]==1)
            printf("YES\n");
        else
            printf("NO\n");
    }
    
    return 0;
}
求矩阵各行元素之和
#include <stdio.h>
int main()
{
    int m,n;
    int i,j;
    int a[6][6],b[6]={0};
    scanf("%d %d",&m,&n);
    for(i=0;i<m;i++)
        for(j=0;j<n;j++){
            scanf("%d",&a[i][j]);
            b[i]+=a[i][j];
        }
    for(i=0;i<m;i++)
    printf("%d\n",b[i]);
    return 0;
}
输出三角形字符阵列
#include<stdio.h>
#include<math.h>
int main()
{
    char c='A';
    int n;
    scanf("%d",&n);
    while(n)
    {
        int i;
        for(i = 0; i < n; i++)
      {      putchar(c++);
            printf(" ");
      }
        n--;
        printf("\n");
    }
    return 0;
}
输出整数各位数字
#include <stdio.h>
#include <math.h>
int main(void)	
{
	long n;
	scanf("%ld",&n);
	
	long temp=n,mask=1;
	while(temp/10!=0){	
		temp/=10;
		mask*=10;
	}
	printf("i=%d\n",i); 
	while(mask!=0){	
		printf("%d ",n/mask);
		n%=mask;
		mask/=10;
		printf("p=%d n=%d\n",p,n);
	}
	return 0;
}
求整数序列中出现次数最多的数
#include<stdio.h>
int count(int n);
int main (){
    int n,i,k,a[1000],max=0;
    static int b[1000];
    scanf("%d",&n);
    for(i=0;i<n;i++){
    	scanf("%d",&a[i]);
	}    
	for(i=0;i<n;i++){
	   for(k=0;k<n;k++){
	   	if(a[k]==a[i]){
	   		b[i]++;
		   }
	   }
	}
	for(i=0;i<n;i++){
		if(b[max]<b[i])
		max=i;
	}
	printf("%d %d",a[max],b[max]);
}
求符合给定条件的整数集
#include<stdio.h>

int main() {
	int a, count = 0;
	scanf_s("%d", &a);
	for (int b = a; b <= a + 3; b++) {
		for (int c = a; c <= a + 3; c++) {
			if (b == c) continue; 
			for (int d = a; d <= a + 3; d++) {
				if (b == d||c == d) continue;
					printf("%d%d%d", b, c, d);
					count++;
					if (count % 6 == 0) {
						printf("\n");
					}
					else {
						printf(" ");
					}
				}
		}
	}
	return 0;
}
支票面额
#include <stdio.h>
int main(){
    int y, f;
    int n;
    int find=0;
    scanf("%d", &n);
    for(y=0; y<100; y++){
        for(f=1;f<100;f++){
            if(98*f-199*y==n){
                printf("%d.%d\n", y, f);
                find =1;
                break;
            }
            else if(98*f-199*y>n)
                break;
        }
        if(find)
            break;
    }
    if(y==100){
        printf("No Solution\n");
    }
    return 0;
}
打印九九口诀表
#include <stdio.h>
int main(void)
{
	int i, j, N;
	scanf("%d", &N);
	for (i = 1; i <= N; i++)
		for (j = 1; j <= i; j++)
		{
			printf("%d*%d=%-4d", j, i, j*i);
			if (i == j)
				printf("\n");
		}
 
	return 0;
}
求特殊方程的正整数解
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n,a,b,s=0;
    scanf("%d",&n);
    for(a=1;a*a<=n/2;a++)
    {
        for(b=1;b<=n;b++)
        {
           if(a*a+b*b==n)
              {printf("%d %d\n",a,b);
           s=1;}
        }
    }
    if(!s) printf("No Solution");
    return 0;
}
人民币兑换
#include<stdio.h>
int main()
{
	int i,j,k;
	int wu,er,san;
	int n;
	int t=0;
	scanf("%d",&n);
	for(i=1;i<=150/5;i++)		
	{
		for(j=1;j<=150/2;j++)	
		{
			for(k=1;k<=100;k++)	
			{
				if(i*5+j*2+k==150 && i+j+k==100 && t<n)	
				{
					printf("%d %d %d\n",i,j,k);
					t++;	
				}
			}
		}
	}
}
跟奥巴马一起画方块
#include<bits/stdc++.h>
using namespace std;
int main()
{
	int N;
	char c;
	cin >> N >> c;
	for (int i = 0; i < (N+1)/2; i++)
	{
		for (int j = 0; j < N; j++)
			cout << c;
		cout << endl;
	}
	return 0;
}
稳赢
#include<iostream>
#include<string> 
using namespace std;
string opp;
int k, t;
int main()
{
    cin.tie(0);
	cin >> k;
	cin >> opp;
	while(opp != "End"){
		t ++ ;
		if(t % (k + 1) != 0)
		{
			if(opp == "ChuiZi") cout << "Bu" << endl;
			if(opp == "JianDao") cout << "ChuiZi" <<endl;
			if(opp == "Bu")cout << "JianDao" << endl; 
		}
		else{
			t = 0;
			cout << opp << endl;
		}
		cin >> opp;
	}
}
判断题
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
    int n,m,a[101],b[101],c[101],sum[101]={0};
    scanf("%d%d",&n,&m);
    for(int i=0;i<m;i++){
        scanf("%d",&a[i]);
    }
    for(int i=0;i<m;i++){
        scanf("%d",&b[i]);
    }
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            scanf("%d",&c[j]);
            if(c[j]==b[j])
                sum[i]+=a[j];
        }
        printf("%d\n",sum[i]);
    }
    return 0;
}
Wifi密码
#include <iostream>
#include <string.h>
 
using namespace std;
 
int main(void)
{
	int n;
	string s,xx;
	scanf("%d",&n);
	for(int i=0; i<n; i++){
		for(int i=0; i<4; i++){
			cin >> s;
			if(s[2] == 'T'){
				if(s[0] == 'A')
					xx += '1';
				else if(s[0] == 'B')
					xx += '2';
				else if(s[0] == 'C')
					xx += '3';
				else if(s[0] == 'D')
					xx += '4';
			}
		}
	}
	
	cout << xx << endl;
	return 0;
}
组合数的和
#include <iostream>
#include <algorithm>
using namespace std;
int main (void)
{
	int n, sum = 0; 
	int a[10], b[10];
	cin >> n; 
	for(int i = 0; i < n; ++i){
		cin >> a[i];
	}
	for(int i = 0; i < n; ++i){
		for(int j = 0; j < n; ++j){
			if(i != j){
				sum += 10*a[i] + a[j];
			}
		}
	}
	cout << sum;
	
	return 0;
 } 
输出学生成绩
#include <stdio.h>
int main()
{
	int n, a[100000];
	double ave, max = 0, min = 1000, sum = 0;
	scanf("%d", &n);
	for (int i = 0; i < n; i++)
	{
		scanf("%d", &a[i]);
		sum += a[i];
	}
	ave = sum / n;
	for (int i = 0; i < n; i++)
	{
		if (a[i] > max)
			max = a[i];
		if (a[i] < min)
			min = a[i];
	}
	printf("average = %.2f\n", ave);
	printf("max = %.2f\n",max);
	printf("min = %.2f\n",min);
	return 0;
}
查找书籍
#include <stdio.h>
#include <string.h>
struct Book
{
    double price;
    char name[31];
} book;
 
int main()
{
    int n;
    char c;
    scanf("%d",&n);
    struct Book book[n];
 
    int i,max = 0,min = 0;
    for(i=0; i<n; i++)
    {
        scanf("%c",&c);
        gets(book[i].name);
        scanf("%lf",&book[i].price);
        if(book[i].price>book[max].price)
        {
            max = i;
        }
        if(book[i].price<book[min].price)
        {
            min = i;
        }
    }
    printf("%.2lf, %s\n",book[max].price,book[max].name);
    printf("%.2lf, %s\n",book[min].price,book[min].name);
    return 0;
}
通讯录排序
#include<stdio.h>
struct people{
	char name[10];
	int born;
	char number[20];	
}p[10],t;
int main(){
	int n,i,j;
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%s %d %s",p[i].name,&p[i].born,p[i].number);
	for(i=0;i<n-1;i++)
		for(j=0;j<n-i-1;j++)	
			if(p[j].born>p[j+1].born){
				t=p[j];p[j]=p[j+1];p[j+1]=t;
			}
	for(i=0;i<n;i++)
		printf("%s %d %s\n",p[i].name,p[i].born,p[i].number);
	return 0;
}
找出总分最高的学生

#include <stdio.h>
#include <stdlib.h>
#include<string.h>

struct Student{
 	int num[10];
 	char name[20];
 	int score[3];
 	int sum;
 };
int main(){
	int n;
	struct Student temp;
	scanf("%d",&n);
	struct Student stu[n];
	for(int i=0;i<n;i++){
		scanf("%s %s %d %d %d",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);
		stu[i].sum=stu[i].score[0]+stu[i].score[1]+stu[i].score[2];
	}
	for(int i=0;i<n-1;i++){
		for(int j=i+1;j<n;j++){
			if(stu[i].sum<stu[j].sum){
				temp=stu[i];
				stu[i]=stu[j];
				stu[j]=stu[i];
				}
		}
	}
	printf("%s %s %d",stu[0].name,stu[0].num,stu[0].sum);
	return 0;
}
有理数均值 
#include <stdio.h>
#define N 100
struct Rational {  /*结构体表示一分式*/
    int n;  /* 分子 */
    int d;  /* 分母 */
};
int gcd(int m, int n) { /* 求最大公约数 */
    int r;
    if(m == 0 && n == 0)
        return 0;
    if(m == 0)
        return n;
    if(n == 0)
        return m;
    while(1) {
        r = m % n;
        if(r == 0)
            break;
        m = n;
        n = r;
    }
    return n;
}
int main()
{
    struct Rational ra[N], r;
    int i, n, g;
    scanf("%d", &n); 
    for(i = 0; i < n; ++i)
        scanf("%d/%d", &ra[i].n, &ra[i].d);
    r.n = 0;  
    r.d = 1;
    for(i = 0; i < n; ++i) {
        r.n = r.n * ra[i].d + r.d * ra[i].n;
        r.d = r.d * ra[i].d;
    }
    r.d *= n; 
    g = gcd(r.n, r.d);
    if(g != 0) {
        r.n /= g;
        r.d /= g;
    }                             
    if(r.n == 0)
        printf("%d\n", r.n);
    else if(r.d == 1)
        printf("%d\n", r.n);
    else
        printf("%d/%d\n", r.n, r.d);
    return 0;
}
学生成绩排序
#include <stdio.h>
#define N 51
struct st
{
	long num;
	char name[10];
	int yw;			
	int sx;
	int yy;
	double average;
}ST[N]; 

int main()
{
	int i,n;
	int j,k;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%d %s %d %d %d",&ST[i].num,ST[i].name,&ST[i].yw,&ST[i].sx,&ST[i].yy);
		ST[i].average=(((double)ST[i].yw+ST[i].sx+ST[i].yy)/3);
	}
	
	for(j=0;j<N-1;j++)
	{
		for(k=j+1;k<N-1;k++)
			if(ST[j].average<ST[k].average)			
			{
				ST[50]=ST[j];
				ST[j]=ST[k];
				ST[k]=ST[50];
			}
	}
	
	for(i=0;i<n;i++)
	{
		printf("%d,%s,%.2lf\n",ST[i].num,ST[i].name,ST[i].average);		
	}
}
选民投票
#include<iostream>
#include<stdio.h>
#include<map>
#include<vector>
#include<algorithm>
using namespace std;
struct xuanpiao{
	string name;
	long long piao;
};
bool cmp(xuanpiao a,xuanpiao b){
	return a.piao>b.piao;
}
int main(){
	long long n,m,len;
	string s;
	while(cin>>n){
		vector<string>f; 
		xuanpiao p[n+100];
		f.clear();
		for(int j=0;j<n;j++){
			cin>>s;
			len=s.length(); 
			for(int i=0;i<len;i++){
				if(s[i]>='A'&&s[i]<='Z'){
					s[i]+=('a'-'A');
				}
			}
			p[j].name=s;
			p[j].piao=0;
		}
		cin>>m;
		long long  ans=0;
		for(int i=0;i<m;i++){
			cin>>s;
			len=s.length(); 
			string str=s;
			for(int j=0;j<len;j++){
				if(s[j]>='A'&&s[j]<='Z'){
					s[j]+=('a'-'A');
				}
			}
			int flag=0;
			for(int j=0;j<n;j++){
				if(p[j].name==s){
					ans++;
					p[j].piao++;
					flag=1;
					break;
				}
			}
			if(flag==0){
				f.push_back(str);
			}
		}
		
		if(ans){
			sort(p,p+n,cmp);
			for(int i=0;i<n;i++){
				cout<<p[i].name<<":"<<p[i].piao<<endl;
			}
			
		}
		long long l=f.size();
		if(l){
			cout<<endl<<"invalid vote:"<<endl;
			for(int i=0;i<l;i++){
				cout<<f[i]<<endl;
			}
		}
	}
	return 0;
} 
加勒比海盗船——最优解转载问题
#include <iostream>
#include <algorithm>
using namespace std;
double w[100];
int main()
{
   double c;
    int n,i;
    cout << "输入载重量c,古董件数n" << endl;
    cin>>c>>n;
    cout << "请输入没件的重量" << endl;
    for(i=0;i<n;i++)
    {
        cin>>w[i];
    }
    sort(w,w+n);
    double temp;
    int ans=0;
    for(i=0;i<n;i++)
    {
        temp+=w[i];
        if(temp<=c)
            ans++;
        else
            break;
    }
      cout << "最大数量为 ans=" << endl;
      cout<<ans<<endl;
    return 0;
}
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值