一些常见的必须会的谭浩强基本代码大全也是常考的应试是没问题的

这篇具有很好参考价值的文章主要介绍了一些常见的必须会的谭浩强基本代码大全也是常考的应试是没问题的。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

//1. 1£¡+2£¡+3£¡+...20!
/*
#include <stdio.h>
int main()
{
    int i;
    long sum=0,k=1;
    for(i=1;i<=20;i++)
    {
        k*=i;
        sum+=k;
    }
    printf("%d",sum);
}
*/

//方法2
/*
#include <stdio.h>
int main()
{
    int i,j;
    long sum=0,k;
    for(i=1;i<=20;i++)
    {
        k=1;
        for(j=1;j<=i;j++)
        {
            k*=j;
        }sum+=k;
    }printf("%d",sum);
}
*/

//2. 利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来
/*
#include<stdio.h>
void reverse(int n)
{
    int next;
    if(n<=1)
    {
        next=getchar();
        putchar(next);
    }
    else
    {
        next=getchar();
        reverse(n-1);
        putchar(next);
    }
}

int main()
{
    int n=5;  //这里n是字母的个数,也可以通过键盘输入
    reverse(n);
    return 0;
}
*/

//3.  输入一个小于5位的正整数,分别输出它的位数及其逆序打印出各位数字
/*
#include<stdio.h>


int main()
{
    int a,b,c,d,e,x;
    printf("请输入一个小于5位的正整数;");
    scanf("%d",&x);
    a=x/10000;
    b=x%10000/1000;
    c=x%1000/100;
    d=x%100/10;
    e=x%10;
    if(a!=0){
        printf("为5位数字,逆序为:%d%d%d%d%d\n",e,d,c,b,a);
    }
    else if(b!=0)
    {
        printf("为4位数字,逆序为:%d%d%d%d",e,d,c,b);

    }
    else if(c!=0){
        printf("位3位数字,逆序为:%d%d%d",e,d,c);
    }
    else if(d!=0){
        printf("为2位数字,逆序为:%d%d",e,d);
    }
    else if(e!=0){
        printf("位1位数字,逆序为:%d",e);
    }
    return 0;
}
*/

//编写一个程序输出 HelloWord

//4. 输入3个数abc 输出他们其中最大的数
/*
#include<stdio.h>
int main()
{
   int a,b,c,max;
   printf("请输出a,b,c\n");
   scanf("%d%d%d",&a,&b,&c);
   if(a>b)
   {
       if(c>a)
        max=c;
       else
        max=a;
   }
   else{
    if(c>b)
        max=c;
    else
        max=b;
   }
   printf("max=%d",max);
   return 0;
}
*/


//5.  请输入星期几的第一个字母来判断是星期几,
//如果第一个字母一样,则继续判断第二个字母
/*
#include <stdio.h>

int main()
{
    char i, j;
    printf("请输入第一个字母:");
    scanf("%c", &i);
    getchar();//处理‘\n’
    switch (i)
    {
    case 'm':
        printf("monday\n");
        break;
    case 'w':
        printf("wednesday\n");
        break;
    case 'f':
        printf("friday\n");
        break;
    case 't':
        printf("请输入下一个字母\n");
        scanf("%c", &j);
        if ('u' == j) {
            printf("tuesday\n");
            break;
        }
        if ('h' == j) {
            printf("thursday\n");
            break;
        }
    case 's':
        printf("请输入下一个字母\n");
        scanf("%c", &j);
        if ('a' == j) {
            printf("saturday\n");
            break;
        }
        if ('u' == j) {
            printf("sunday\n");
            break;
        }
    default:
        printf("error\n");
        break;
    }
    return 0;
}
*/

// 6. 函数调用的用法实例
/*
#include<stdio.h>
int main()
{
    int n;
    printf("打印多少次:");
    scanf("%d",&n);
    hello(n);
    return 0;
}
void hello(n)
{
    if(n)
    {
    printf("hello C!\n");
    hello(n-1);
    }

}

*/

//7. 求2/1,3/2, 5/3,8/5,13/8,21/13...这个数列的前20项之和

/*#include<stdio.h>
int main()
{
    int i,t;
    float sum=0;
    float a=2,b=1;
    for(i=1;i<=20;i++)
    {
        sum=sum+a/b;
        t=a;
        a=a+b;
        b=t;
    }
    printf("%f\n",sum);
    return 0;
}
*/
//8. 打印出所有的水仙花数(一个三位数,其各位数字立方和等于该数本身)
/*
int main()
{
    int i,x,y,z;
    for(i=100;i<1000;i++)
    {
        x=i%10;
        y=i/10%10;
        z=i/100%10;

        if(i==(x*x*x+y*y*y+z*z*z))
            printf("%d\n",i);
    }
    return 0;
}
*/

//9. 输出101-200 之间的素数
/*
#include<stdio.h>
int main()
{
    int i,j;
    int count=0;
    for(i=101;i<=200;i++)
    {
        for(j=2;j<i;j++)
        {
            if(i%j==0)
                break;
        }
        if(j>=i)
        {
            count++;
            printf("%d ",i);
            if(count%5==0)
                printf("\n");
        }
    }
    return 0;
}
*/

//10 . 输出9*9乘法表口诀
/*
#include<stdio.h>
int main()
{
    int i,j,result;
    for(i=1;i<10;i++)
    {
        for(j=1;j<=i;j++)
        {
            result=i*j;
            printf("%d*%d=%-3d",i,j,result); //-3d表示左对齐,占3位
        }printf("\n");
    }
    return 0;

}
*/


//11 .输入三个整数xyz,请把这三个数由小到大输出。
/*
#include<stdio.h>
int main()
{
    int x,y,z,t;
    printf("请输入三个数字:\n");
    scanf("%d %d %d",&x,&y,&z);
    //return 0;
    if(x>y){
        t=x;
        x=y;
        y=t;
    }
    if(x>z){
        t=x;
        x=z;
        z=t;
    }
    if(y>z)
    {
        t=y;
        y=z;
        z=t;
    }
    printf("从小到大的顺序:%d %d %d\n",x,y,z);
    return 0;
}
*/
// 12.判断2000-2500年中的每一年是否为闰年,并将结果输出
/*
#include<stdio.h>
int main()
{
    int i;
    for(i=2000;i<=2500;i++){
        if(i%400==0||i%4==0&&i%100!=0){
            printf("闰年的年份:%d\n",i);
            continue;
        }
        else
        {
            continue;
            //printf("不是闰年的年份:%d\n",i);
        }
    }
}
*/

//13 . 输入一个数是否能被3和5整除
/*
#include<stdio.h>
int main()
{
    int a;
    printf("请输入一个数:");
    scanf("%d",&a);
    if(a%3==0&&a%5==0){
        printf("这是能被3和5整除的数:%d",a);
    }
    else{
        printf("不能:%d",a);
    }
}
*/

//14 . 求1+2+3+...+100的和
/*
#include<stdio.h>
int main()
{
    int i,a=0;
    for(i=1;i<=100;i++){
        a+=i;
    }
    printf("%d",a);
}
*/
//15. 求两个数m和n的最大公约数
/*
#include<stdio.h>
//#include<stdlib.h>
int main(){
#include<stdio.h>
int a,b,r,t;
printf("请输入两个数");
scanf("%d,%d",&a,&b);
if(b==0){
    t=a;
    a=b;
    b=t;
}
while(a%b!=0){
    r=a%b;
    a=b;
    b=r;
}
printf("最大公约数为:%d",r);
return 0;
}
*/

//16 依次输入10个数,求出之中的最大数
/*
#include<stdio.h>
int main()
{
    int b[10]={0};
    int a;
    int i,max;
    for(i=0;i<10;i++)
    {
        printf("please input your ten number%d:",i);
        scanf("%d",&b[i]);
    }
    max=b[0];
    for(i=0;i<10;i++)
    {
        if(max<b[i]){
            max=b[i];
            a=i+1;
        }
    }
    printf("max:max=%d\n",max);
    printf("max index:%d\n",a);
}
*/

// 17迭代法
//1-1/2+1/3-1/4+.....+1/99-1/100
/*
#include<stdio.h>
int main()
{
    int i;
    double sum = 0.0;

    for (i = 1; i <= 100; i++)
    {
        if (i % 2 == 0)
        {
            sum -= 1.0/i;
        }
        else
        {
            sum += 1.0/i;
        }
    }

    printf("The result is: %lf\n", sum);

    return 0;
}
*/



//18 给出一个大于或等于3的正整数,判断它是不是一个素数
// 所谓素数prime是指除了1和该本身之外,不能被其他任何整数整除的数
//输出1-100之间的素数
/*
#include<stdio.h>
int main()
{
    int i,j;
    for(i=2;i<100;i++)
    {
       int isprime=1;
        for(j=2;j<i;j++)
        {
            if(i%j==0)
            {
                isprime=0;
                break;
            }
        }
        if(isprime==1)
        {
            printf("%d ",i);
        }
    }
    return 0;
}
*/

//19 求5!
/*
#include<stdio.h>
int main()
{
    int i,n=5,fact=1;
    for(i=1;i<=n;i++)
    {
        fact*=i;
    }
    printf("%d!=%d\n",n,fact);
}
*/
//20 有50个同学,要求将成绩在80分以上的学生的学号和成绩输出 c语言
/*
#include <stdio.h>

int main()
{
    int i, score[50], id[50];

    for (i = 0; i < 50; i++)
    {
        printf("请输入第%d个学生的学号和成绩:", i + 1);
        scanf("%d%d", &id[i], &score[i]);
    }

    printf("成绩在80分以上的学生有:\n");

    for (i = 0; i < 50; i++)
    {
        if (score[i] >= 80)
        {
            printf("学号:%d,成绩:%d\n", id[i], score[i]);
        }
    }

    return 0;
}
*/

/*
#include<stdio.h>
int main()
{
    int i,j;
    for(i=1;i<=4;i++)
    {
        for(j=1;j<=i;j++)
        {
            printf("&");
        }printf("\n");
    }
    return 0;
}
*/
// 21 输入一个字符串,统计出其中字母、数字和其他字符的个数
/*
#include<stdio.h>
int main()
{
    char s[50];
    int i,alpha=0,digit=0,other=0;
    gets(s);
    for(i=0;s[i]!='\0';i++){
        if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z'){
            alpha++;
        }
        else if(s[i]>='0'&&s[i]<='9'){
            digit++;
        }
        else {
            other++;
        }
    }
    printf("alpha:%d,digit:%d,other:%d",alpha,digit,other);
    return 0;
}

*/


//22 编写一个函数,输入一个整数数组和数组长度,输出该数组中的最大值、最小值和平均值。
/*
#include<stdio.h>
void operator(int a[], int n, int *max, int *min, float *avg) {
    int sum=0, i;
    *max=*min=a[0]; // 假设a列表中第一个数为最大数,最小数。
    for (i=0; i<n; i++) {
        sum += a[i];
        if (a[i]>*max) {
            *max=a[i];
        }
        if (a[i]<*min) {
            *min=a[i];
        }
    }
    *avg=(float)sum/n; // 注意强制类型转换为float类型
}
int main() {
    int i, n, a[50], max, min;
    float avg;
    scanf("%d", &n);
    for (i=0; i<n; i++) {
        scanf("%d", &a[i]); // 读入数组
    }
    operator(a, n, &max, &min, &avg); // 调用函数
    printf("最大值:%d,最小值:%d,平均值:%0.2f", max, min, avg);
    return 0;
}

*/
//23 设计一个计算器程序,可以进行加、减、乘、除和求幂运算

/*
#include<stdio.h>
#include<math.h>
int main() {
    int a, b, oper;
    printf("请输入两个整数:");
    scanf("%d%d", &a, &b);
    printf("请输入运算符号:1. 加 2. 减 3. 乘 4. 除 5. 求幂 ");
    scanf("%d", &oper);
    switch (oper) {
        case 1: printf("结果为:%d", a+b); break;
        case 2: printf("结果为:%d", a-b); break;
        case 3: printf("结果为:%d", a*b); break;
        case 4: printf("结果为:%d", a/b); break;
        case 5: printf("结果为:%f", pow(a, b)); break;
        default: printf("输入有误,请重新输入!");
    }
    return 0;
}
*/

//24 编写一个程序,输入任意一个整数n,输出n的阶乘,要求使用递归实现。
/*
#include<stdio.h>
int factorial(int n) {
    if (n==0) { // base case
        return 1;
    } else {
        return n * factorial(n-1); // 递归调用
    }
}
int main() {
    int n, result;
    scanf("%d", &n);
    result=factorial(n);
    printf("%d的阶乘为%d", n, result);
    return 0;
}
*/
// TEST
/*
#include <stdio.h>
void main()
{
    //printf("123456789\n");
   // printf("h\ti\n");
   // printf("h\ti\bj_k\n");
   // printf("h\ti\rj_k\n");
   // printf("\a");
}
*/

/*
#include<stdio.h>
int main()
{
    int a,b;
   // b=(a=3*5,a*4);
   b=((a=3*5,a*4),a+5);
    printf("%d",a);
    printf("\n");
    printf("%d",b);
    return 0;
}
*/
//test
/*
#include<stdio.h>
int main()
{

    int a,b,c,d;
   // scanf("%d%d%d%d",&a,&b);
    //printf("%d,%d,%d,%d\n",a,b);
    //printf("\n");
    scanf("%c%c",&c,&d);
    printf("%c,%c\n",c,d);
}

*/
// 查询成绩
/*
#include<stdio.h>
int main()
{
        int x,mark;
    printf("请输入您的成绩:");
    scanf("%d",&mark);
    if(mark>=90)
        printf("优秀");
    else if(mark>=80)
        printf("良好");
    else if(mark>=70)
        printf("中等");
    else if(mark>=60)
        printf("及格");
    else
        printf("不及格");
}
*/
//判断是否为闰年
/*
#include<stdio.h>
int main()
{
    int year,leap;
    printf("please input");
    scanf("%d",&year);
    if((year%4==0&&year%100!=0)||(year%400==0))
        printf("闰年");
    else
    printf("非闰年");
}
*/
/*
#include<stdio.h>
int main()
{
    int i,sum=0;
    while(i<=100)
    {
        sum=sum+i;
        i++;
    }
    printf("sum=%d",sum);
}
*/
/*
#include<stdio.h>
int main()
{
    int i,sum=0;
    do
    {
        sum=sum+i;
        i++;
    }
    while(i<=100);
    printf("sum=%d",sum);

}
*/
// 菱形
/*
#include<stdio.h>
int main()
{
    int i,j;
    for(i=1;i<=4;i++)
    {
        for(j=1;j<=4-i;j++)
            printf(" ");
        for(j=1;j<=i*2-1;j++)
            printf("*");
            printf("\n");
    }
     for(i=3;i>=1;i--)
    {
        for(j=1;j<=4-i;j++)
            printf(" ");
        for(j=1;j<=i*2-1;j++)
            printf("*");
            printf("\n");
    }
}
*/

//小小矩阵
/*
#include<stdio.h>
void main()
{
    int i,j,n=0;
    for(i=1;i<=4;i++)




        for(j=1;j<=5;j++,n++)
        {
            if(n%5==0&&n!=0)
            printf("\n");
            printf("%d\t",i*j);
       }

        printf("\n");

}
*/
//1!+2!+3!+4!+5!
/*
#include<stdio.h>
void main()
{
    int i,j=1;
    int sum=0;
    for(i=1;i<=5;i++)
       {
        j*=i;
        sum+=j;
       }
       printf("%d",sum);
}
*/
//2
/*
#include<stdio.h>
void main()
{
    int i,j;
    int sum=0,jec=1;
    for(i=1;i<=5;i++)
    {
        jec=1;

            for(j=1;j<=i;j++)

               {jec*=j;}
            sum+=jec;



    }
    printf("%d",sum);
}
*/

//迭代法
/*
#include<stdio.h>
#include<math.h>
void main()
{
  int sign=1;double n=1,pi=0,term=1;
  while(fabs(term)>=1e-6)
  {
      pi+=term;
      n+=2;
      sign=-sign;
      term=sign/n;
  }
  pi=pi*4;
  printf("pi=%10.8lf\n",pi);
}
*/

/*
//打印1000以内的水仙花数
#include<stdio.h>
int main()
{
    int i,a,b,c;
    for(i=100;i<=999;i++)
    {
        a=i%10;
        b=i/10%10;
        c=i/100%10;
        if(i==(a*a*a+b*b*b+c*c*c))
            printf("%d ",i);
    }
}
*/
/*
// 求素数

#include <stdio.h>
#include <math.h>
int prime(int x);
int main()
{
    int i;
    for(i=100;i<=200;i++)
    {
        if(prime(i)) printf("%d ",i);
    }
    return 0;
}
int prime(int x)
{
    int i;
    if(x==1) return 0;
    for(i=2;i<=sqrt(x);i++)
        if(x%i==0) return 0;
        return 1;
}
*/
/*
// fib 兔子
#include<stdio.h>

int fib(int x)
{
    if(x==0)
        return 0;
    else if (x==1||x==2)
        return 1;
    else
        return fib(x-1)+fib(x-2);
}


int main() {
    int month;
    printf("请输入月份:");z
    scanf("%d", &month);
    int result = fib(month);
    printf("第%d个月共有%d对兔子\n", month, result);
    return 0;
}
*/

/*
#include <stdio.h>

int main()
{
    int i,t,s=0,sign=1;
    for(i=1;i<=101;i+=2)
    {
        t=sign*i;
        s+=t;
        sign=-sign;
        //printf("%d\n",s);
    }
    printf("%d",s);
    return 0;
}
*/
/*
#include<stdio.h>
int main()
{
    int m=5;
    if(m++>5)
        printf("%d\n",m);
    else
        printf("%d\n",m--);
    return 0;
}
*/
/*
#include<stdio.h>
int main()
{
    printf("abc123\rdef");
}
*/
//实现一个小型计算器
/*
#include<stdio.h>
int main()
{
    printf("hello");
}
*/

// 函数调用n的阶乘
/*
#include<stdio.h>
int main()
{
    int fac(int n);
    int n,y;
    printf("please input:");
    scanf("%d",&n);
    y=fac(n);
    printf("%d!=%d\n",n,y);
    return 0;

}
int fac(int n){
    int f;
    if(n<0) printf("error");
    else if(n==0||n==1) f=1;
    else f=fac(n-1)*n;
    return (f);
}
*/
// 函数调用五个同学问年龄的问题
/*
#include<stdio.h>
int main()
{
    int age(int n);
    printf("%d\n",age(5));
    return 0;
}
int age(int n)
{
    int c;
    if(n==1)
        c=10;
    else
        c=age(n-1)+2;
    return (c);
}
*/
/*
问题利用数组实现寻找最大值
*/
/*
#include<stdio.h>
int main()
{
    int max(int x, int y);//定义实参
    int a[10],m,n,i;//这里需要用到的数组 和三个变量m用于最大值,n用于下标 i用于循环
    printf("enter 10 integer numbers;");//
    for (i=0;i<10;i++)//外层循环为了给数组赋初值
        scanf("%d",&a[i]);
    printf("\n");
    for(i=1,m=a[0],n=0;i<10;i++)//内层for循环,在这个吧a[0]给到了m
    {
        if(max(m,a[i])>m)//把m和下一个数作为实参传递到形参去运算判断最大值返回的数和上个最大值的m比较
        {
            m=max(m,a[i]);//如果条件满足把m的值替换掉
            n=i;//当前下标
        }
    }
    printf("the largest number is%d\nit is the %dth number.\n",m,n+1);

}
int max(int x,int y)
{
    return (x>y? x:y);
}
*/
/*
#include<stdio.h>
int main()
{
    float x,y;//x表示服务类型 y表示汽油类型
    float n,m;//n表示汽油的数量
}
*/
/*
#include<stdio.h>
#include <stdlib.h>
int main(){
    int a[5]={1,4,5,8,9};
    int b[5]={2,6,8,10,11};
    int c[10];
    int i=0,j=0,k=0;
    while(i<5&&j<5){
        if (a[i]<b[i]){
            c[k++]=a[i++];
        }
        else{
            c[k++]=b[j++];
        }
    }
    while(i<5){
        c[k++]=a[i++];
    }
    while(j<5){
        c[k++]=b[i++];
    }
    for(k=0;k<10;k++){
        printf("%d\t",c[k]);
    }
    return 0;
}
*/
/*
#include <stdio.h>

int main()
{
    printf("Prime numbers between 1 and 100 are:\n");
    for (int i = 2; i <= 100; i++) {
        int j;
        for (j = 2; j <= i; j++)
            if (i % j == 0) {
                break;
            }

        if (j >= i) {
            printf("%d ", i);
        }
    }
    return 0;
}
*/
/*
#include <stdio.h>

int main()
{
    printf("Prime numbers between 1 and 100 are:\n");
    for (int i = 2; i <= 100; i++){
        int j;
        for (j = 2; j <= i; j++)
            if (i % j == 0)
            {
                break;
            }
            if (j>=i)
            {
                printf("%d ", i);
            }
    }
    return 0;
}
*/


//指针

/*
#include<stdio.h>
int main()
{
    int *p1,*p2,*p,a,b;
    printf("please enter two integer numbers:");
    scanf("%d,%d",&a,&b);
    p1=&a;
    p2=&b;
    if(a<b)
    {
        p1=&b,p2=&a;
    }
    printf("a=%d,b=%d\n",a,b);
    printf("max=%d,min=%d\n",*p1,*p2);
    return 0;
}
*/
/*
#include<stdio.h>
int main()
{
    void exchange(int *q1,int *q2,int *q3);
    int a,b,c,*p1,*p2,*p3;
    printf("please enter three numbers:");
    scanf("%d,%d,%d",&a,&b,&c);
    p1=&a;p2=&b,p3=&c;
    exchange(p1,p2,p3);
    printf("the order is:%d,%d,%d\n",a,b,c);
    return 0;
}
void exchange(int *q1,int*q2,int*q3)
{
    void swap(int *pt1,int*pt2);
    if(*q1<*q2)swap(q1,q2);
    if(*q1<*q3)swap(q1,q3);
    if(*q2<*q3)swap(q2,q3);

}
void swap(int * pt1,int * pt2)
{
    int temp;
    temp=*pt1;
    *pt1=*pt2;
    *pt2=temp;

}
*/
//数组交换
/*
#include<stdio.h>
#define N 10
int main()
{
    int a[N]={0,1,2,3,4,5,6,7,8,9};
    int i,t;
    printf("Original array:\n");
    for(i=0;i<N;i++)
        printf("%d ",a[i]);
    for(i=0;i<N/2;i++)
    {
        t=a[i];
        a[i ]=a[N-1-i];
        a[N-1-i]=t;
    }
    printf("\nSorted array:\n");
    for(i=0;i<N;i++)
        printf("%d ",a[i]);
    printf("\n");
    return 0;
}
*/

/*
#include <stdio.h>


void reverse(char* s)
{
    // 获取字符串长度
    int len = 0;
    char* p = s;
    while (*p != 0)
    {
        len++;
        p++;
    }

    // 交换 ...
    int i = 0;
    char c;
    while (i <= len / 2 - 1)
    {
        c = *(s + i);
        *(s + i) = *(s + len - 1 - i);
        *(s + len - 1 - i) = c;
        i++;
    }
}

int main()
{
    char s[] = "www.runoob.com";
    printf("'%s' =>\n", s);
    reverse(s);           // 反转字符串
    printf("'%s'\n", s);
    return 0;
}

*/

/*
#include<stdio.h>
int main(){
	char a[100];
	char *p;
	p=a;
	do{*p++=getchar();
	}
	while(*(p-1)!='\n');
	for(*p='\0';p>=a;p--)
	    printf("%c",*p);
	return 0;
}

*/


//100 随机产生若干个10以内的自然数存储在数组中,删除其中重复的元素,输出原数组和新数组




/*
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define N 10
void main()
{
    int a[N];
    int i,j;
    srand(time(NULL));
        for(i=0;i<N;i++)
        {
            a[i]=rand()%11;
            printf("%3d",a[i]);
        }
        printf("\n");

for(i=0;i<N-1;i++)
    for(j=i+1;j<N;j++)
        if(a[j]==a[i])
            a[j]=-1;


for(i=0;i<N;i++)
    if(a[i]!=-1)
        printf("%3d",a[i]);

}
*/



// 99 假设有13位评委参与评分工作,计算每位歌手最终得分的方法是;
//去掉一个最高分和一个最低分,然后计算剩余11哥分数的平均值,所得结果就是最终得分

/*
#include<stdio.h>
#define N 13
void main()
{
    int score[N],i,sum=0,max,min;
    for(i=0;i<N;i++)
    {
        scanf("%d,",&score[i]);
        sum+=score[i];
    }

max=score[0];
min=score[0];
for(i=0;i<N;i++)
{
    if(max<score[i]) max=score[i];
    if(min>score[i]) min=score[i];
    printf("%3d",(int)(sum-max-min)/(N-2));

}
}
*/


//98模拟投筛子游戏100次,编程统计并输出色子的6个面各自出现的次数


/*
#include<stdio.h>
#define N 100
#include<stdlib.h>
#include<time.h>
void main()
{
    int s[N];
    int a,b,c,d,e,f,i;
    srand(time(0));
    for(i=0;i<N;i++)
    s[i]=rand()%6+1;
    a=b=c=d=e=f=0;
    for(i=1;i<=N;i++)
    {
        if (s[i]==1)
        a++;
        else if (s[i]==2)
        b++;
        else if (s[i]==3)
        c++;
        else if (s[i]==4)
        d++;
        else if (s[i]==5)
        e++;
        else if (s[i]==6)
        f++;
    }
    printf("1,%2d\n",a);
    printf("2,%2d\n",b);
    printf("3,%2d\n",c);
    printf("4,%2d\n",d);
    printf("5,%2d\n",e);
    printf("6,%2d\n",f);

}


*/
// 方法2
/*
#include<stdio.h>
#include<time.h>
#include<stdlib.h>

int main()
{
    int num[100], times[6] = {0}, i;
    srand(time(0));

    for(i = 0; i < 100; i++) {
        num[i] = rand() % 6 + 1;
        times[num[i] - 1]++;
        printf("%3d", num[i]);
    }

    printf("\n");

    for(i = 0; i < 6; i++) {
        printf("%d,%3d\n", i + 1, times[i]);
    }

    return 0;
}
*/


//有一个3*4的矩阵,要求编程求出其中值最大的那个元素的值,以及其所在的行号和列号

/*
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define M 3
#define N 4
int main()
{
    int i,j,max,a[M][N],m,n;
    srand(time(NULL));
    for(i=0; i<M; i++)
    {
        for(j=0; j<N; j++)
        {
            a[i][j]=rand()%90+10;
            printf("%d\t",a[i][j]);
        }
        printf("\n");

    }
    max=a[0][0];
    m=0;
    n=0;
    for(i=0; i<M; i++)

        for(j=0; j<N; j++)
            if(max<a[i][j])
            {
                max=a[i][j];
                m=i;
                n=j;
            }

    printf("%d,%d,%d",max,m,n);
    return 0;
}

*/

/*
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{

    char a[20]={0};
    char b[]="1234567";
    strncpy(a,b,3);
    puts(a);
    puts(b);
    return 0;
}
*/
/*
#include<stdio.h>
#include<math.h>
double f(double x)
{
    if (x<=-2) return -1*exp(2*x+1)+3;
    else if(x>-2&&x<=3) return 2*x-1;
    else return 2*log10(3*x+5)-11;

}


int main()
{
    double x;
    scanf("%lf",&x);
    printf("%.2lf",f(x));
}
*/
/*
#include<stdio.h>
int main()
{
    int i,t=0,n,sum=0;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        t=t*10+i;
        sum+=t;
    }
    printf("%d",sum);
}

*/


/*结构体类型数组编写一个程序用来输入学生的基本情况信息学生的基本情况信息包括;学号,姓名,c语言成绩,数学成绩,英语成绩,
要求统计每名同学的平均成绩和总成绩,对c语言成绩进行排序,统计c语言不及格的学生信息及不及格人数
*/
/*
#include<stdio.h>
#define M 5
struct student
{
    int xh;
    char sm[8];
    float ccj;
    float sx;
    float yycj;
    float pjcj;
    float sumcj;
    float xx;
};
void main()
{
    struct student xs[M],a;
    int i,j,count=0;
    for(i=0;i<M;i++)
    scanf("%d,%s,%f,%f,%f",&xs[i].xh,xs[i].sm,xs[i].ccj,&xs[i].sx,&xs[i].yycj);
    for(i=0;i<M;i++)
    xs[i].pjcj=(xs[i].ccj+xs[i].sx+xs[i].yycj)/3;
    xs[i].sumcj=(xs[i].ccj+xs[i].sx+xs[i].yycj);
    for(i=0;i<M;i++)
    for(j=0;j<M-i-1;j++)
    {
        if(xs[j].ccj<xs[j+1].ccj)
            a=xs[j];xs[j]=xs[j+1];xs[j+1]=a;
    }
   for (i = 0; i < M; i++) {
        if (xs[i].ccj < 60) {
            xs[i].xx = xs[i].ccj;
            count++;
        }
    }
    printf("%d%s%f%f%f%f%f%f%d",xs[i].xh,xs[i].sm,xs[i].ccj,xs[i].sx,xs[i].yycj,xs[i].pjcj,xs[i].sumcj,xs[i].xx,count);


}
*/

//以下是根据您提供的代码进行了修复的正确版本:

/*
#include <stdio.h>
#define M 5

struct student
{
    int xh;
    char sm[8];
    float ccj;
    float sx;
    float yycj;
    float pjcj;
    float sumcj;
    float xx;
};

int main()
{
    struct student xs[M], a;
    int i, j, count = 0;

    for (i = 0; i < M; i++)
        scanf("%d, %s, %f, %f, %f", &xs[i].xh, xs[i].sm, &xs[i].ccj, &xs[i].sx, &xs[i].yycj);

    for (i = 0; i < M; i++)
    {
        xs[i].pjcj = (xs[i].ccj + xs[i].sx + xs[i].yycj) / 3;
        xs[i].sumcj = xs[i].ccj + xs[i].sx + xs[i].yycj;
    }

    for (i = 0; i < M; i++)
    {
        for (j = 0; j < M - i - 1; j++)
        {
            if (xs[j].ccj < xs[j + 1].ccj)
            {
                a = xs[j];
                xs[j] = xs[j + 1];
                xs[j + 1] = a;
            }
        }
    }

    for (i = 0; i < M; i++)
    {
        if (xs[i].ccj < 60)
        {
            xs[i].xx = xs[i].ccj;
            count++;
        }


    }

    for (i = 0; i < M; i++)
    {
        printf("%d, %s, %.2f, %.2f, %.2f, %.2f, %.2f, %.2f, %d\n", xs[i].xh, xs[i].sm, xs[i].ccj, xs[i].sx, xs[i].yycj, xs[i].pjcj, xs[i].sumcj, xs[i].xx, count);
    }

    return 0;
}
*/



/*
#include <stdio.h>

#define MAX_STUDENTS 100 // 最大学生数量
#define PASS_GRADE 60 // 及格分数线

typedef struct {
    int studentID; // 学号
    char name[50]; // 姓名
    int cGrade; // C语言成绩
    int mathGrade; // 数学成绩
    int englishGrade; // 英语成绩
    float averageGrade; // 平均成绩
    int totalGrade; // 总成绩
} Student; // 学生结构体类型

void inputStudentInfo(Student *student, int n) {
    for (int i = 0; i < n; i++) {
        printf("Enter student %d's ID: ", i+1); // 输入学号
        scanf("%d", &student[i].studentID);
        printf("Enter student %d's name: ", i+1); // 输入姓名
        scanf("%s", student[i].name);
        printf("Enter student %d's C grade: ", i+1); // 输入C语言成绩
        scanf("%d", &student[i].cGrade);
        printf("Enter student %d's Math grade: ", i+1); // 输入数学成绩
        scanf("%d", &student[i].mathGrade);
        printf("Enter student %d's English grade: ", i+1); // 输入英语成绩
        scanf("%d", &student[i].englishGrade);
        student[i].totalGrade = student[i].cGrade + student[i].mathGrade + student[i].englishGrade; // 计算总成绩
        student[i].averageGrade = (float)student[i].totalGrade / 3; // 计算平均成绩
    }
}

void sortCGrades(Student *student, int n) {
    Student temp;
    for (int i = 0; i < n-1; i++) {
        for (int j = 0; j < n-i-1; j++) {
            if (student[j].cGrade > student[j+1].cGrade) { // 使用冒泡排序对C语言成绩进行排序
                temp = student[j];
                student[j] = student[j+1];
                student[j+1] = temp;
            }
        }
    }
}

void printStudentInfo(Student *student, int n) {
    printf("Student Information:\n");
    for (int i = 0; i < n; i++) {
        printf("Student %d\n", i+1);
        printf("ID: %d\n", student[i].studentID);
        printf("Name: %s\n", student[i].name);
        printf("C Grade: %d\n", student[i].cGrade);
        printf("Math Grade: %d\n", student[i].mathGrade);
        printf("English Grade: %d\n", student[i].englishGrade);
        printf("Total Grade: %d\n", student[i].totalGrade);
        printf("Average Grade: %.2f\n", student[i].averageGrade);
        printf("--------------------------\n");
    }
}

void printFailingCGrades(Student *student, int n) {
    int count = 0;
    printf("Students with failing C grades:\n");
    for (int i = 0; i < n; i++) {
        if (student[i].cGrade < PASS_GRADE) { // 判断C语言成绩是否不及格
            printf("Student ID: %d\n", student[i].studentID);
            printf("Name: %s\n", student[i].name);
            printf("C Grade: %d\n", student[i].cGrade);
            printf("--------------------------\n");
            count++; // 统计不及格人数
        }
    }
    printf("Total number of students with failing C grades: %d\n", count);
}

int main() {
    Student students[MAX_STUDENTS]; // 学生数组
    int numStudents; // 学生数量

    printf("Enter the number of students: ");
    scanf("%d", &numStudents); // 输入学生数量

    inputStudentInfo(students, numStudents); // 输入学生信息
    sortCGrades(students, numStudents); // 对C语言成绩排序
    printStudentInfo(students, numStudents); // 打印学生信息
    printFailingCGrades(students, numStudents); // 打印不及格学生信息

    return 0;
}

*/







































//1. 1£¡+2£¡+3£¡+...20!
/*
#include <stdio.h>
int main()
{
    int i;
    long sum=0,k=1;
    for(i=1;i<=20;i++)
    {
        k*=i;
        sum+=k;
    }
    printf("%d",sum);
}
*/

//方法2
/*
#include <stdio.h>
int main()
{
    int i,j;
    long sum=0,k;
    for(i=1;i<=20;i++)
    {
        k=1;
        for(j=1;j<=i;j++)
        {
            k*=j;
        }sum+=k;
    }printf("%d",sum);
}
*/

//2. 利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来
/*
#include<stdio.h>
void reverse(int n)
{
    int next;
    if(n<=1)
    {
        next=getchar();
        putchar(next);
    }
    else
    {
        next=getchar();
        reverse(n-1);
        putchar(next);
    }
}

int main()
{
    int n=5;  //这里n是字母的个数,也可以通过键盘输入
    reverse(n);
    return 0;
}
*/

//3.  输入一个小于5位的正整数,分别输出它的位数及其逆序打印出各位数字
/*
#include<stdio.h>


int main()
{
    int a,b,c,d,e,x;
    printf("请输入一个小于5位的正整数;");
    scanf("%d",&x);
    a=x/10000;
    b=x%10000/1000;
    c=x%1000/100;
    d=x%100/10;
    e=x%10;
    if(a!=0){
        printf("为5位数字,逆序为:%d%d%d%d%d\n",e,d,c,b,a);
    }
    else if(b!=0)
    {
        printf("为4位数字,逆序为:%d%d%d%d",e,d,c,b);

    }
    else if(c!=0){
        printf("位3位数字,逆序为:%d%d%d",e,d,c);
    }
    else if(d!=0){
        printf("为2位数字,逆序为:%d%d",e,d);
    }
    else if(e!=0){
        printf("位1位数字,逆序为:%d",e);
    }
    return 0;
}
*/

//编写一个程序输出 HelloWord

//4. 输入3个数abc 输出他们其中最大的数
/*
#include<stdio.h>
int main()
{
   int a,b,c,max;
   printf("请输出a,b,c\n");
   scanf("%d%d%d",&a,&b,&c);
   if(a>b)
   {
       if(c>a)
        max=c;
       else
        max=a;
   }
   else{
    if(c>b)
        max=c;
    else
        max=b;
   }
   printf("max=%d",max);
   return 0;
}
*/


//5.  请输入星期几的第一个字母来判断是星期几,
//如果第一个字母一样,则继续判断第二个字母
/*
#include <stdio.h>

int main()
{
    char i, j;
    printf("请输入第一个字母:");
    scanf("%c", &i);
    getchar();//处理‘\n’
    switch (i)
    {
    case 'm':
        printf("monday\n");
        break;
    case 'w':
        printf("wednesday\n");
        break;
    case 'f':
        printf("friday\n");
        break;
    case 't':
        printf("请输入下一个字母\n");
        scanf("%c", &j);
        if ('u' == j) {
            printf("tuesday\n");
            break;
        }
        if ('h' == j) {
            printf("thursday\n");
            break;
        }
    case 's':
        printf("请输入下一个字母\n");
        scanf("%c", &j);
        if ('a' == j) {
            printf("saturday\n");
            break;
        }
        if ('u' == j) {
            printf("sunday\n");
            break;
        }
    default:
        printf("error\n");
        break;
    }
    return 0;
}
*/

// 6. 函数调用的用法实例
/*
#include<stdio.h>
int main()
{
    int n;
    printf("打印多少次:");
    scanf("%d",&n);
    hello(n);
    return 0;
}
void hello(n)
{
    if(n)
    {
    printf("hello C!\n");
    hello(n-1);
    }

}

*/

//7. 求2/1,3/2, 5/3,8/5,13/8,21/13...这个数列的前20项之和

/*#include<stdio.h>
int main()
{
    int i,t;
    float sum=0;
    float a=2,b=1;
    for(i=1;i<=20;i++)
    {
        sum=sum+a/b;
        t=a;
        a=a+b;
        b=t;
    }
    printf("%f\n",sum);
    return 0;
}
*/
//8. 打印出所有的水仙花数(一个三位数,其各位数字立方和等于该数本身)
/*
int main()
{
    int i,x,y,z;
    for(i=100;i<1000;i++)
    {
        x=i%10;
        y=i/10%10;
        z=i/100%10;

        if(i==(x*x*x+y*y*y+z*z*z))
            printf("%d\n",i);
    }
    return 0;
}
*/

//9. 输出101-200 之间的素数
/*
#include<stdio.h>
int main()
{
    int i,j;
    int count=0;
    for(i=101;i<=200;i++)
    {
        for(j=2;j<i;j++)
        {
            if(i%j==0)
                break;
        }
        if(j>=i)
        {
            count++;
            printf("%d ",i);
            if(count%5==0)
                printf("\n");
        }
    }
    return 0;
}
*/

//10 . 输出9*9乘法表口诀
/*
#include<stdio.h>
int main()
{
    int i,j,result;
    for(i=1;i<10;i++)
    {
        for(j=1;j<=i;j++)
        {
            result=i*j;
            printf("%d*%d=%-3d",i,j,result); //-3d表示左对齐,占3位
        }printf("\n");
    }
    return 0;

}
*/


//11 .输入三个整数xyz,请把这三个数由小到大输出。
/*
#include<stdio.h>
int main()
{
    int x,y,z,t;
    printf("请输入三个数字:\n");
    scanf("%d %d %d",&x,&y,&z);
    //return 0;
    if(x>y){
        t=x;
        x=y;
        y=t;
    }
    if(x>z){
        t=x;
        x=z;
        z=t;
    }
    if(y>z)
    {
        t=y;
        y=z;
        z=t;
    }
    printf("从小到大的顺序:%d %d %d\n",x,y,z);
    return 0;
}
*/
// 12.判断2000-2500年中的每一年是否为闰年,并将结果输出
/*
#include<stdio.h>
int main()
{
    int i;
    for(i=2000;i<=2500;i++){
        if(i%400==0||i%4==0&&i%100!=0){
            printf("闰年的年份:%d\n",i);
            continue;
        }
        else
        {
            continue;
            //printf("不是闰年的年份:%d\n",i);
        }
    }
}
*/

//13 . 输入一个数是否能被3和5整除
/*
#include<stdio.h>
int main()
{
    int a;
    printf("请输入一个数:");
    scanf("%d",&a);
    if(a%3==0&&a%5==0){
        printf("这是能被3和5整除的数:%d",a);
    }
    else{
        printf("不能:%d",a);
    }
}
*/

//14 . 求1+2+3+...+100的和
/*
#include<stdio.h>
int main()
{
    int i,a=0;
    for(i=1;i<=100;i++){
        a+=i;
    }
    printf("%d",a);
}
*/
//15. 求两个数m和n的最大公约数
/*
#include<stdio.h>
//#include<stdlib.h>
int main(){
#include<stdio.h>
int a,b,r,t;
printf("请输入两个数");
scanf("%d,%d",&a,&b);
if(b==0){
    t=a;
    a=b;
    b=t;
}
while(a%b!=0){
    r=a%b;
    a=b;
    b=r;
}
printf("最大公约数为:%d",r);
return 0;
}
*/

//16 依次输入10个数,求出之中的最大数
/*
#include<stdio.h>
int main()
{
    int b[10]={0};
    int a;
    int i,max;
    for(i=0;i<10;i++)
    {
        printf("please input your ten number%d:",i);
        scanf("%d",&b[i]);
    }
    max=b[0];
    for(i=0;i<10;i++)
    {
        if(max<b[i]){
            max=b[i];
            a=i+1;
        }
    }
    printf("max:max=%d\n",max);
    printf("max index:%d\n",a);
}
*/

// 17迭代法
//1-1/2+1/3-1/4+.....+1/99-1/100
/*
#include<stdio.h>
int main()
{
    int i;
    double sum = 0.0;

    for (i = 1; i <= 100; i++)
    {
        if (i % 2 == 0)
        {
            sum -= 1.0/i;
        }
        else
        {
            sum += 1.0/i;
        }
    }

    printf("The result is: %lf\n", sum);

    return 0;
}
*/



//18 给出一个大于或等于3的正整数,判断它是不是一个素数
// 所谓素数prime是指除了1和该本身之外,不能被其他任何整数整除的数
//输出1-100之间的素数
/*
#include<stdio.h>
int main()
{
    int i,j;
    for(i=2;i<100;i++)
    {
       int isprime=1;
        for(j=2;j<i;j++)
        {
            if(i%j==0)
            {
                isprime=0;
                break;
            }
        }
        if(isprime==1)
        {
            printf("%d ",i);
        }
    }
    return 0;
}
*/

//19 求5!
/*
#include<stdio.h>
int main()
{
    int i,n=5,fact=1;
    for(i=1;i<=n;i++)
    {
        fact*=i;
    }
    printf("%d!=%d\n",n,fact);
}
*/
//20 有50个同学,要求将成绩在80分以上的学生的学号和成绩输出 c语言
/*
#include <stdio.h>

int main()
{
    int i, score[50], id[50];

    for (i = 0; i < 50; i++)
    {
        printf("请输入第%d个学生的学号和成绩:", i + 1);
        scanf("%d%d", &id[i], &score[i]);
    }

    printf("成绩在80分以上的学生有:\n");

    for (i = 0; i < 50; i++)
    {
        if (score[i] >= 80)
        {
            printf("学号:%d,成绩:%d\n", id[i], score[i]);
        }
    }

    return 0;
}
*/

/*
#include<stdio.h>
int main()
{
    int i,j;
    for(i=1;i<=4;i++)
    {
        for(j=1;j<=i;j++)
        {
            printf("&");
        }printf("\n");
    }
    return 0;
}
*/
// 21 输入一个字符串,统计出其中字母、数字和其他字符的个数
/*
#include<stdio.h>
int main()
{
    char s[50];
    int i,alpha=0,digit=0,other=0;
    gets(s);
    for(i=0;s[i]!='\0';i++){
        if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z'){
            alpha++;
        }
        else if(s[i]>='0'&&s[i]<='9'){
            digit++;
        }
        else {
            other++;
        }
    }
    printf("alpha:%d,digit:%d,other:%d",alpha,digit,other);
    return 0;
}

*/


//22 编写一个函数,输入一个整数数组和数组长度,输出该数组中的最大值、最小值和平均值。
/*
#include<stdio.h>
void operator(int a[], int n, int *max, int *min, float *avg) {
    int sum=0, i;
    *max=*min=a[0]; // 假设a列表中第一个数为最大数,最小数。
    for (i=0; i<n; i++) {
        sum += a[i];
        if (a[i]>*max) {
            *max=a[i];
        }
        if (a[i]<*min) {
            *min=a[i];
        }
    }
    *avg=(float)sum/n; // 注意强制类型转换为float类型
}
int main() {
    int i, n, a[50], max, min;
    float avg;
    scanf("%d", &n);
    for (i=0; i<n; i++) {
        scanf("%d", &a[i]); // 读入数组
    }
    operator(a, n, &max, &min, &avg); // 调用函数
    printf("最大值:%d,最小值:%d,平均值:%0.2f", max, min, avg);
    return 0;
}

*/
//23 设计一个计算器程序,可以进行加、减、乘、除和求幂运算

/*
#include<stdio.h>
#include<math.h>
int main() {
    int a, b, oper;
    printf("请输入两个整数:");
    scanf("%d%d", &a, &b);
    printf("请输入运算符号:1. 加 2. 减 3. 乘 4. 除 5. 求幂 ");
    scanf("%d", &oper);
    switch (oper) {
        case 1: printf("结果为:%d", a+b); break;
        case 2: printf("结果为:%d", a-b); break;
        case 3: printf("结果为:%d", a*b); break;
        case 4: printf("结果为:%d", a/b); break;
        case 5: printf("结果为:%f", pow(a, b)); break;
        default: printf("输入有误,请重新输入!");
    }
    return 0;
}
*/

//24 编写一个程序,输入任意一个整数n,输出n的阶乘,要求使用递归实现。
/*
#include<stdio.h>
int factorial(int n) {
    if (n==0) { // base case
        return 1;
    } else {
        return n * factorial(n-1); // 递归调用
    }
}
int main() {
    int n, result;
    scanf("%d", &n);
    result=factorial(n);
    printf("%d的阶乘为%d", n, result);
    return 0;
}
*/
// TEST
/*
#include <stdio.h>
void main()
{
    //printf("123456789\n");
   // printf("h\ti\n");
   // printf("h\ti\bj_k\n");
   // printf("h\ti\rj_k\n");
   // printf("\a");
}
*/

/*
#include<stdio.h>
int main()
{
    int a,b;
   // b=(a=3*5,a*4);
   b=((a=3*5,a*4),a+5);
    printf("%d",a);
    printf("\n");
    printf("%d",b);
    return 0;
}
*/
//test
/*
#include<stdio.h>
int main()
{

    int a,b,c,d;
   // scanf("%d%d%d%d",&a,&b);
    //printf("%d,%d,%d,%d\n",a,b);
    //printf("\n");
    scanf("%c%c",&c,&d);
    printf("%c,%c\n",c,d);
}

*/
// 查询成绩
/*
#include<stdio.h>
int main()
{
        int x,mark;
    printf("请输入您的成绩:");
    scanf("%d",&mark);
    if(mark>=90)
        printf("优秀");
    else if(mark>=80)
        printf("良好");
    else if(mark>=70)
        printf("中等");
    else if(mark>=60)
        printf("及格");
    else
        printf("不及格");
}
*/
//判断是否为闰年
/*
#include<stdio.h>
int main()
{
    int year,leap;
    printf("please input");
    scanf("%d",&year);
    if((year%4==0&&year%100!=0)||(year%400==0))
        printf("闰年");
    else
    printf("非闰年");
}
*/
/*
#include<stdio.h>
int main()
{
    int i,sum=0;
    while(i<=100)
    {
        sum=sum+i;
        i++;
    }
    printf("sum=%d",sum);
}
*/
/*
#include<stdio.h>
int main()
{
    int i,sum=0;
    do
    {
        sum=sum+i;
        i++;
    }
    while(i<=100);
    printf("sum=%d",sum);

}
*/
// 菱形
/*
#include<stdio.h>
int main()
{
    int i,j;
    for(i=1;i<=4;i++)
    {
        for(j=1;j<=4-i;j++)
            printf(" ");
        for(j=1;j<=i*2-1;j++)
            printf("*");
            printf("\n");
    }
     for(i=3;i>=1;i--)
    {
        for(j=1;j<=4-i;j++)
            printf(" ");
        for(j=1;j<=i*2-1;j++)
            printf("*");
            printf("\n");
    }
}
*/

//小小矩阵
/*
#include<stdio.h>
void main()
{
    int i,j,n=0;
    for(i=1;i<=4;i++)




        for(j=1;j<=5;j++,n++)
        {
            if(n%5==0&&n!=0)
            printf("\n");
            printf("%d\t",i*j);
       }

        printf("\n");

}
*/
//1!+2!+3!+4!+5!
/*
#include<stdio.h>
void main()
{
    int i,j=1;
    int sum=0;
    for(i=1;i<=5;i++)
       {
        j*=i;
        sum+=j;
       }
       printf("%d",sum);
}
*/
//2
/*
#include<stdio.h>
void main()
{
    int i,j;
    int sum=0,jec=1;
    for(i=1;i<=5;i++)
    {
        jec=1;

            for(j=1;j<=i;j++)

               {jec*=j;}
            sum+=jec;



    }
    printf("%d",sum);
}
*/

//迭代法
/*
#include<stdio.h>
#include<math.h>
void main()
{
  int sign=1;double n=1,pi=0,term=1;
  while(fabs(term)>=1e-6)
  {
      pi+=term;
      n+=2;
      sign=-sign;
      term=sign/n;
  }
  pi=pi*4;
  printf("pi=%10.8lf\n",pi);
}
*/

/*
//打印1000以内的水仙花数
#include<stdio.h>
int main()
{
    int i,a,b,c;
    for(i=100;i<=999;i++)
    {
        a=i%10;
        b=i/10%10;
        c=i/100%10;
        if(i==(a*a*a+b*b*b+c*c*c))
            printf("%d ",i);
    }
}
*/
/*
// 求素数

#include <stdio.h>
#include <math.h>
int prime(int x);
int main()
{
    int i;
    for(i=100;i<=200;i++)
    {
        if(prime(i)) printf("%d ",i);
    }
    return 0;
}
int prime(int x)
{
    int i;
    if(x==1) return 0;
    for(i=2;i<=sqrt(x);i++)
        if(x%i==0) return 0;
        return 1;
}
*/
/*
// fib 兔子
#include<stdio.h>

int fib(int x)
{
    if(x==0)
        return 0;
    else if (x==1||x==2)
        return 1;
    else
        return fib(x-1)+fib(x-2);
}


int main() {
    int month;
    printf("请输入月份:");z
    scanf("%d", &month);
    int result = fib(month);
    printf("第%d个月共有%d对兔子\n", month, result);
    return 0;
}
*/

/*
#include <stdio.h>

int main()
{
    int i,t,s=0,sign=1;
    for(i=1;i<=101;i+=2)
    {
        t=sign*i;
        s+=t;
        sign=-sign;
        //printf("%d\n",s);
    }
    printf("%d",s);
    return 0;
}
*/
/*
#include<stdio.h>
int main()
{
    int m=5;
    if(m++>5)
        printf("%d\n",m);
    else
        printf("%d\n",m--);
    return 0;
}
*/
/*
#include<stdio.h>
int main()
{
    printf("abc123\rdef");
}
*/
//实现一个小型计算器
/*
#include<stdio.h>
int main()
{
    printf("hello");
}
*/

// 函数调用n的阶乘
/*
#include<stdio.h>
int main()
{
    int fac(int n);
    int n,y;
    printf("please input:");
    scanf("%d",&n);
    y=fac(n);
    printf("%d!=%d\n",n,y);
    return 0;

}
int fac(int n){
    int f;
    if(n<0) printf("error");
    else if(n==0||n==1) f=1;
    else f=fac(n-1)*n;
    return (f);
}
*/
// 函数调用五个同学问年龄的问题
/*
#include<stdio.h>
int main()
{
    int age(int n);
    printf("%d\n",age(5));
    return 0;
}
int age(int n)
{
    int c;
    if(n==1)
        c=10;
    else
        c=age(n-1)+2;
    return (c);
}
*/
/*
问题利用数组实现寻找最大值
*/
/*
#include<stdio.h>
int main()
{
    int max(int x, int y);//定义实参
    int a[10],m,n,i;//这里需要用到的数组 和三个变量m用于最大值,n用于下标 i用于循环
    printf("enter 10 integer numbers;");//
    for (i=0;i<10;i++)//外层循环为了给数组赋初值
        scanf("%d",&a[i]);
    printf("\n");
    for(i=1,m=a[0],n=0;i<10;i++)//内层for循环,在这个吧a[0]给到了m
    {
        if(max(m,a[i])>m)//把m和下一个数作为实参传递到形参去运算判断最大值返回的数和上个最大值的m比较
        {
            m=max(m,a[i]);//如果条件满足把m的值替换掉
            n=i;//当前下标
        }
    }
    printf("the largest number is%d\nit is the %dth number.\n",m,n+1);

}
int max(int x,int y)
{
    return (x>y? x:y);
}
*/
/*
#include<stdio.h>
int main()
{
    float x,y;//x表示服务类型 y表示汽油类型
    float n,m;//n表示汽油的数量
}
*/
/*
#include<stdio.h>
#include <stdlib.h>
int main(){
    int a[5]={1,4,5,8,9};
    int b[5]={2,6,8,10,11};
    int c[10];
    int i=0,j=0,k=0;
    while(i<5&&j<5){
        if (a[i]<b[i]){
            c[k++]=a[i++];
        }
        else{
            c[k++]=b[j++];
        }
    }
    while(i<5){
        c[k++]=a[i++];
    }
    while(j<5){
        c[k++]=b[i++];
    }
    for(k=0;k<10;k++){
        printf("%d\t",c[k]);
    }
    return 0;
}
*/
/*
#include <stdio.h>

int main()
{
    printf("Prime numbers between 1 and 100 are:\n");
    for (int i = 2; i <= 100; i++) {
        int j;
        for (j = 2; j <= i; j++)
            if (i % j == 0) {
                break;
            }

        if (j >= i) {
            printf("%d ", i);
        }
    }
    return 0;
}
*/
/*
#include <stdio.h>

int main()
{
    printf("Prime numbers between 1 and 100 are:\n");
    for (int i = 2; i <= 100; i++){
        int j;
        for (j = 2; j <= i; j++)
            if (i % j == 0)
            {
                break;
            }
            if (j>=i)
            {
                printf("%d ", i);
            }
    }
    return 0;
}
*/


//指针

/*
#include<stdio.h>
int main()
{
    int *p1,*p2,*p,a,b;
    printf("please enter two integer numbers:");
    scanf("%d,%d",&a,&b);
    p1=&a;
    p2=&b;
    if(a<b)
    {
        p1=&b,p2=&a;
    }
    printf("a=%d,b=%d\n",a,b);
    printf("max=%d,min=%d\n",*p1,*p2);
    return 0;
}
*/
/*
#include<stdio.h>
int main()
{
    void exchange(int *q1,int *q2,int *q3);
    int a,b,c,*p1,*p2,*p3;
    printf("please enter three numbers:");
    scanf("%d,%d,%d",&a,&b,&c);
    p1=&a;p2=&b,p3=&c;
    exchange(p1,p2,p3);
    printf("the order is:%d,%d,%d\n",a,b,c);
    return 0;
}
void exchange(int *q1,int*q2,int*q3)
{
    void swap(int *pt1,int*pt2);
    if(*q1<*q2)swap(q1,q2);
    if(*q1<*q3)swap(q1,q3);
    if(*q2<*q3)swap(q2,q3);

}
void swap(int * pt1,int * pt2)
{
    int temp;
    temp=*pt1;
    *pt1=*pt2;
    *pt2=temp;

}
*/
//数组交换
/*
#include<stdio.h>
#define N 10
int main()
{
    int a[N]={0,1,2,3,4,5,6,7,8,9};
    int i,t;
    printf("Original array:\n");
    for(i=0;i<N;i++)
        printf("%d ",a[i]);
    for(i=0;i<N/2;i++)
    {
        t=a[i];
        a[i ]=a[N-1-i];
        a[N-1-i]=t;
    }
    printf("\nSorted array:\n");
    for(i=0;i<N;i++)
        printf("%d ",a[i]);
    printf("\n");
    return 0;
}
*/

/*
#include <stdio.h>


void reverse(char* s)
{
    // 获取字符串长度
    int len = 0;
    char* p = s;
    while (*p != 0)
    {
        len++;
        p++;
    }

    // 交换 ...
    int i = 0;
    char c;
    while (i <= len / 2 - 1)
    {
        c = *(s + i);
        *(s + i) = *(s + len - 1 - i);
        *(s + len - 1 - i) = c;
        i++;
    }
}

int main()
{
    char s[] = "www.runoob.com";
    printf("'%s' =>\n", s);
    reverse(s);           // 反转字符串
    printf("'%s'\n", s);
    return 0;
}

*/

/*
#include<stdio.h>
int main(){
	char a[100];
	char *p;
	p=a;
	do{*p++=getchar();
	}
	while(*(p-1)!='\n');
	for(*p='\0';p>=a;p--)
	    printf("%c",*p);
	return 0;
}

*/


//100 随机产生若干个10以内的自然数存储在数组中,删除其中重复的元素,输出原数组和新数组




/*
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define N 10
void main()
{
    int a[N];
    int i,j;
    srand(time(NULL));
        for(i=0;i<N;i++)
        {
            a[i]=rand()%11;
            printf("%3d",a[i]);
        }
        printf("\n");

for(i=0;i<N-1;i++)
    for(j=i+1;j<N;j++)
        if(a[j]==a[i])
            a[j]=-1;


for(i=0;i<N;i++)
    if(a[i]!=-1)
        printf("%3d",a[i]);

}
*/



// 99 假设有13位评委参与评分工作,计算每位歌手最终得分的方法是;
//去掉一个最高分和一个最低分,然后计算剩余11哥分数的平均值,所得结果就是最终得分

/*
#include<stdio.h>
#define N 13
void main()
{
    int score[N],i,sum=0,max,min;
    for(i=0;i<N;i++)
    {
        scanf("%d,",&score[i]);
        sum+=score[i];
    }

max=score[0];
min=score[0];
for(i=0;i<N;i++)
{
    if(max<score[i]) max=score[i];
    if(min>score[i]) min=score[i];
    printf("%3d",(int)(sum-max-min)/(N-2));

}
}
*/


//98模拟投筛子游戏100次,编程统计并输出色子的6个面各自出现的次数


/*
#include<stdio.h>
#define N 100
#include<stdlib.h>
#include<time.h>
void main()
{
    int s[N];
    int a,b,c,d,e,f,i;
    srand(time(0));
    for(i=0;i<N;i++)
    s[i]=rand()%6+1;
    a=b=c=d=e=f=0;
    for(i=1;i<=N;i++)
    {
        if (s[i]==1)
        a++;
        else if (s[i]==2)
        b++;
        else if (s[i]==3)
        c++;
        else if (s[i]==4)
        d++;
        else if (s[i]==5)
        e++;
        else if (s[i]==6)
        f++;
    }
    printf("1,%2d\n",a);
    printf("2,%2d\n",b);
    printf("3,%2d\n",c);
    printf("4,%2d\n",d);
    printf("5,%2d\n",e);
    printf("6,%2d\n",f);

}


*/
// 方法2
/*
#include<stdio.h>
#include<time.h>
#include<stdlib.h>

int main()
{
    int num[100], times[6] = {0}, i;
    srand(time(0));

    for(i = 0; i < 100; i++) {
        num[i] = rand() % 6 + 1;
        times[num[i] - 1]++;
        printf("%3d", num[i]);
    }

    printf("\n");

    for(i = 0; i < 6; i++) {
        printf("%d,%3d\n", i + 1, times[i]);
    }

    return 0;
}
*/


//有一个3*4的矩阵,要求编程求出其中值最大的那个元素的值,以及其所在的行号和列号

/*
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define M 3
#define N 4
int main()
{
    int i,j,max,a[M][N],m,n;
    srand(time(NULL));
    for(i=0; i<M; i++)
    {
        for(j=0; j<N; j++)
        {
            a[i][j]=rand()%90+10;
            printf("%d\t",a[i][j]);
        }
        printf("\n");

    }
    max=a[0][0];
    m=0;
    n=0;
    for(i=0; i<M; i++)

        for(j=0; j<N; j++)
            if(max<a[i][j])
            {
                max=a[i][j];
                m=i;
                n=j;
            }

    printf("%d,%d,%d",max,m,n);
    return 0;
}

*/

/*
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{

    char a[20]={0};
    char b[]="1234567";
    strncpy(a,b,3);
    puts(a);
    puts(b);
    return 0;
}
*/
/*
#include<stdio.h>
#include<math.h>
double f(double x)
{
    if (x<=-2) return -1*exp(2*x+1)+3;
    else if(x>-2&&x<=3) return 2*x-1;
    else return 2*log10(3*x+5)-11;

}


int main()
{
    double x;
    scanf("%lf",&x);
    printf("%.2lf",f(x));
}
*/
/*
#include<stdio.h>
int main()
{
    int i,t=0,n,sum=0;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        t=t*10+i;
        sum+=t;
    }
    printf("%d",sum);
}

*/


/*结构体类型数组编写一个程序用来输入学生的基本情况信息学生的基本情况信息包括;学号,姓名,c语言成绩,数学成绩,英语成绩,
要求统计每名同学的平均成绩和总成绩,对c语言成绩进行排序,统计c语言不及格的学生信息及不及格人数
*/
/*
#include<stdio.h>
#define M 5
struct student
{
    int xh;
    char sm[8];
    float ccj;
    float sx;
    float yycj;
    float pjcj;
    float sumcj;
    float xx;
};
void main()
{
    struct student xs[M],a;
    int i,j,count=0;
    for(i=0;i<M;i++)
    scanf("%d,%s,%f,%f,%f",&xs[i].xh,xs[i].sm,xs[i].ccj,&xs[i].sx,&xs[i].yycj);
    for(i=0;i<M;i++)
    xs[i].pjcj=(xs[i].ccj+xs[i].sx+xs[i].yycj)/3;
    xs[i].sumcj=(xs[i].ccj+xs[i].sx+xs[i].yycj);
    for(i=0;i<M;i++)
    for(j=0;j<M-i-1;j++)
    {
        if(xs[j].ccj<xs[j+1].ccj)
            a=xs[j];xs[j]=xs[j+1];xs[j+1]=a;
    }
   for (i = 0; i < M; i++) {
        if (xs[i].ccj < 60) {
            xs[i].xx = xs[i].ccj;
            count++;
        }
    }
    printf("%d%s%f%f%f%f%f%f%d",xs[i].xh,xs[i].sm,xs[i].ccj,xs[i].sx,xs[i].yycj,xs[i].pjcj,xs[i].sumcj,xs[i].xx,count);


}
*/

//以下是根据您提供的代码进行了修复的正确版本:

/*
#include <stdio.h>
#define M 5

struct student
{
    int xh;
    char sm[8];
    float ccj;
    float sx;
    float yycj;
    float pjcj;
    float sumcj;
    float xx;
};

int main()
{
    struct student xs[M], a;
    int i, j, count = 0;

    for (i = 0; i < M; i++)
        scanf("%d, %s, %f, %f, %f", &xs[i].xh, xs[i].sm, &xs[i].ccj, &xs[i].sx, &xs[i].yycj);

    for (i = 0; i < M; i++)
    {
        xs[i].pjcj = (xs[i].ccj + xs[i].sx + xs[i].yycj) / 3;
        xs[i].sumcj = xs[i].ccj + xs[i].sx + xs[i].yycj;
    }

    for (i = 0; i < M; i++)
    {
        for (j = 0; j < M - i - 1; j++)
        {
            if (xs[j].ccj < xs[j + 1].ccj)
            {
                a = xs[j];
                xs[j] = xs[j + 1];
                xs[j + 1] = a;
            }
        }
    }

    for (i = 0; i < M; i++)
    {
        if (xs[i].ccj < 60)
        {
            xs[i].xx = xs[i].ccj;
            count++;
        }


    }

    for (i = 0; i < M; i++)
    {
        printf("%d, %s, %.2f, %.2f, %.2f, %.2f, %.2f, %.2f, %d\n", xs[i].xh, xs[i].sm, xs[i].ccj, xs[i].sx, xs[i].yycj, xs[i].pjcj, xs[i].sumcj, xs[i].xx, count);
    }

    return 0;
}
*/



/*
#include <stdio.h>

#define MAX_STUDENTS 100 // 最大学生数量
#define PASS_GRADE 60 // 及格分数线

typedef struct {
    int studentID; // 学号
    char name[50]; // 姓名
    int cGrade; // C语言成绩
    int mathGrade; // 数学成绩
    int englishGrade; // 英语成绩
    float averageGrade; // 平均成绩
    int totalGrade; // 总成绩
} Student; // 学生结构体类型

void inputStudentInfo(Student *student, int n) {
    for (int i = 0; i < n; i++) {
        printf("Enter student %d's ID: ", i+1); // 输入学号
        scanf("%d", &student[i].studentID);
        printf("Enter student %d's name: ", i+1); // 输入姓名
        scanf("%s", student[i].name);
        printf("Enter student %d's C grade: ", i+1); // 输入C语言成绩
        scanf("%d", &student[i].cGrade);
        printf("Enter student %d's Math grade: ", i+1); // 输入数学成绩
        scanf("%d", &student[i].mathGrade);
        printf("Enter student %d's English grade: ", i+1); // 输入英语成绩
        scanf("%d", &student[i].englishGrade);
        student[i].totalGrade = student[i].cGrade + student[i].mathGrade + student[i].englishGrade; // 计算总成绩
        student[i].averageGrade = (float)student[i].totalGrade / 3; // 计算平均成绩
    }
}

void sortCGrades(Student *student, int n) {
    Student temp;
    for (int i = 0; i < n-1; i++) {
        for (int j = 0; j < n-i-1; j++) {
            if (student[j].cGrade > student[j+1].cGrade) { // 使用冒泡排序对C语言成绩进行排序
                temp = student[j];
                student[j] = student[j+1];
                student[j+1] = temp;
            }
        }
    }
}

void printStudentInfo(Student *student, int n) {
    printf("Student Information:\n");
    for (int i = 0; i < n; i++) {
        printf("Student %d\n", i+1);
        printf("ID: %d\n", student[i].studentID);
        printf("Name: %s\n", student[i].name);
        printf("C Grade: %d\n", student[i].cGrade);
        printf("Math Grade: %d\n", student[i].mathGrade);
        printf("English Grade: %d\n", student[i].englishGrade);
        printf("Total Grade: %d\n", student[i].totalGrade);
        printf("Average Grade: %.2f\n", student[i].averageGrade);
        printf("--------------------------\n");
    }
}

void printFailingCGrades(Student *student, int n) {
    int count = 0;
    printf("Students with failing C grades:\n");
    for (int i = 0; i < n; i++) {
        if (student[i].cGrade < PASS_GRADE) { // 判断C语言成绩是否不及格
            printf("Student ID: %d\n", student[i].studentID);
            printf("Name: %s\n", student[i].name);
            printf("C Grade: %d\n", student[i].cGrade);
            printf("--------------------------\n");
            count++; // 统计不及格人数
        }
    }
    printf("Total number of students with failing C grades: %d\n", count);
}

int main() {
    Student students[MAX_STUDENTS]; // 学生数组
    int numStudents; // 学生数量

    printf("Enter the number of students: ");
    scanf("%d", &numStudents); // 输入学生数量

    inputStudentInfo(students, numStudents); // 输入学生信息
    sortCGrades(students, numStudents); // 对C语言成绩排序
    printStudentInfo(students, numStudents); // 打印学生信息
    printFailingCGrades(students, numStudents); // 打印不及格学生信息

    return 0;
}

*/







































//1. 1£¡+2£¡+3£¡+...20!
/*
#include <stdio.h>
int main()
{
    int i;
    long sum=0,k=1;
    for(i=1;i<=20;i++)
    {
        k*=i;
        sum+=k;
    }
    printf("%d",sum);
}
*/

//方法2
/*
#include <stdio.h>
int main()
{
    int i,j;
    long sum=0,k;
    for(i=1;i<=20;i++)
    {
        k=1;
        for(j=1;j<=i;j++)
        {
            k*=j;
        }sum+=k;
    }printf("%d",sum);
}
*/

//2. 利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来
/*
#include<stdio.h>
void reverse(int n)
{
    int next;
    if(n<=1)
    {
        next=getchar();
        putchar(next);
    }
    else
    {
        next=getchar();
        reverse(n-1);
        putchar(next);
    }
}

int main()
{
    int n=5;  //这里n是字母的个数,也可以通过键盘输入
    reverse(n);
    return 0;
}
*/

//3.  输入一个小于5位的正整数,分别输出它的位数及其逆序打印出各位数字
/*
#include<stdio.h>


int main()
{
    int a,b,c,d,e,x;
    printf("请输入一个小于5位的正整数;");
    scanf("%d",&x);
    a=x/10000;
    b=x%10000/1000;
    c=x%1000/100;
    d=x%100/10;
    e=x%10;
    if(a!=0){
        printf("为5位数字,逆序为:%d%d%d%d%d\n",e,d,c,b,a);
    }
    else if(b!=0)
    {
        printf("为4位数字,逆序为:%d%d%d%d",e,d,c,b);

    }
    else if(c!=0){
        printf("位3位数字,逆序为:%d%d%d",e,d,c);
    }
    else if(d!=0){
        printf("为2位数字,逆序为:%d%d",e,d);
    }
    else if(e!=0){
        printf("位1位数字,逆序为:%d",e);
    }
    return 0;
}
*/

//编写一个程序输出 HelloWord

//4. 输入3个数abc 输出他们其中最大的数
/*
#include<stdio.h>
int main()
{
   int a,b,c,max;
   printf("请输出a,b,c\n");
   scanf("%d%d%d",&a,&b,&c);
   if(a>b)
   {
       if(c>a)
        max=c;
       else
        max=a;
   }
   else{
    if(c>b)
        max=c;
    else
        max=b;
   }
   printf("max=%d",max);
   return 0;
}
*/


//5.  请输入星期几的第一个字母来判断是星期几,
//如果第一个字母一样,则继续判断第二个字母
/*
#include <stdio.h>

int main()
{
    char i, j;
    printf("请输入第一个字母:");
    scanf("%c", &i);
    getchar();//处理‘\n’
    switch (i)
    {
    case 'm':
        printf("monday\n");
        break;
    case 'w':
        printf("wednesday\n");
        break;
    case 'f':
        printf("friday\n");
        break;
    case 't':
        printf("请输入下一个字母\n");
        scanf("%c", &j);
        if ('u' == j) {
            printf("tuesday\n");
            break;
        }
        if ('h' == j) {
            printf("thursday\n");
            break;
        }
    case 's':
        printf("请输入下一个字母\n");
        scanf("%c", &j);
        if ('a' == j) {
            printf("saturday\n");
            break;
        }
        if ('u' == j) {
            printf("sunday\n");
            break;
        }
    default:
        printf("error\n");
        break;
    }
    return 0;
}
*/

// 6. 函数调用的用法实例
/*
#include<stdio.h>
int main()
{
    int n;
    printf("打印多少次:");
    scanf("%d",&n);
    hello(n);
    return 0;
}
void hello(n)
{
    if(n)
    {
    printf("hello C!\n");
    hello(n-1);
    }

}

*/

//7. 求2/1,3/2, 5/3,8/5,13/8,21/13...这个数列的前20项之和

/*#include<stdio.h>
int main()
{
    int i,t;
    float sum=0;
    float a=2,b=1;
    for(i=1;i<=20;i++)
    {
        sum=sum+a/b;
        t=a;
        a=a+b;
        b=t;
    }
    printf("%f\n",sum);
    return 0;
}
*/
//8. 打印出所有的水仙花数(一个三位数,其各位数字立方和等于该数本身)
/*
int main()
{
    int i,x,y,z;
    for(i=100;i<1000;i++)
    {
        x=i%10;
        y=i/10%10;
        z=i/100%10;

        if(i==(x*x*x+y*y*y+z*z*z))
            printf("%d\n",i);
    }
    return 0;
}
*/

//9. 输出101-200 之间的素数
/*
#include<stdio.h>
int main()
{
    int i,j;
    int count=0;
    for(i=101;i<=200;i++)
    {
        for(j=2;j<i;j++)
        {
            if(i%j==0)
                break;
        }
        if(j>=i)
        {
            count++;
            printf("%d ",i);
            if(count%5==0)
                printf("\n");
        }
    }
    return 0;
}
*/

//10 . 输出9*9乘法表口诀
/*
#include<stdio.h>
int main()
{
    int i,j,result;
    for(i=1;i<10;i++)
    {
        for(j=1;j<=i;j++)
        {
            result=i*j;
            printf("%d*%d=%-3d",i,j,result); //-3d表示左对齐,占3位
        }printf("\n");
    }
    return 0;

}
*/


//11 .输入三个整数xyz,请把这三个数由小到大输出。
/*
#include<stdio.h>
int main()
{
    int x,y,z,t;
    printf("请输入三个数字:\n");
    scanf("%d %d %d",&x,&y,&z);
    //return 0;
    if(x>y){
        t=x;
        x=y;
        y=t;
    }
    if(x>z){
        t=x;
        x=z;
        z=t;
    }
    if(y>z)
    {
        t=y;
        y=z;
        z=t;
    }
    printf("从小到大的顺序:%d %d %d\n",x,y,z);
    return 0;
}
*/
// 12.判断2000-2500年中的每一年是否为闰年,并将结果输出
/*
#include<stdio.h>
int main()
{
    int i;
    for(i=2000;i<=2500;i++){
        if(i%400==0||i%4==0&&i%100!=0){
            printf("闰年的年份:%d\n",i);
            continue;
        }
        else
        {
            continue;
            //printf("不是闰年的年份:%d\n",i);
        }
    }
}
*/

//13 . 输入一个数是否能被3和5整除
/*
#include<stdio.h>
int main()
{
    int a;
    printf("请输入一个数:");
    scanf("%d",&a);
    if(a%3==0&&a%5==0){
        printf("这是能被3和5整除的数:%d",a);
    }
    else{
        printf("不能:%d",a);
    }
}
*/

//14 . 求1+2+3+...+100的和
/*
#include<stdio.h>
int main()
{
    int i,a=0;
    for(i=1;i<=100;i++){
        a+=i;
    }
    printf("%d",a);
}
*/
//15. 求两个数m和n的最大公约数
/*
#include<stdio.h>
//#include<stdlib.h>
int main(){
#include<stdio.h>
int a,b,r,t;
printf("请输入两个数");
scanf("%d,%d",&a,&b);
if(b==0){
    t=a;
    a=b;
    b=t;
}
while(a%b!=0){
    r=a%b;
    a=b;
    b=r;
}
printf("最大公约数为:%d",r);
return 0;
}
*/

//16 依次输入10个数,求出之中的最大数
/*
#include<stdio.h>
int main()
{
    int b[10]={0};
    int a;
    int i,max;
    for(i=0;i<10;i++)
    {
        printf("please input your ten number%d:",i);
        scanf("%d",&b[i]);
    }
    max=b[0];
    for(i=0;i<10;i++)
    {
        if(max<b[i]){
            max=b[i];
            a=i+1;
        }
    }
    printf("max:max=%d\n",max);
    printf("max index:%d\n",a);
}
*/

// 17迭代法
//1-1/2+1/3-1/4+.....+1/99-1/100
/*
#include<stdio.h>
int main()
{
    int i;
    double sum = 0.0;

    for (i = 1; i <= 100; i++)
    {
        if (i % 2 == 0)
        {
            sum -= 1.0/i;
        }
        else
        {
            sum += 1.0/i;
        }
    }

    printf("The result is: %lf\n", sum);

    return 0;
}
*/



//18 给出一个大于或等于3的正整数,判断它是不是一个素数
// 所谓素数prime是指除了1和该本身之外,不能被其他任何整数整除的数
//输出1-100之间的素数
/*
#include<stdio.h>
int main()
{
    int i,j;
    for(i=2;i<100;i++)
    {
       int isprime=1;
        for(j=2;j<i;j++)
        {
            if(i%j==0)
            {
                isprime=0;
                break;
            }
        }
        if(isprime==1)
        {
            printf("%d ",i);
        }
    }
    return 0;
}
*/

//19 求5!
/*
#include<stdio.h>
int main()
{
    int i,n=5,fact=1;
    for(i=1;i<=n;i++)
    {
        fact*=i;
    }
    printf("%d!=%d\n",n,fact);
}
*/
//20 有50个同学,要求将成绩在80分以上的学生的学号和成绩输出 c语言
/*
#include <stdio.h>

int main()
{
    int i, score[50], id[50];

    for (i = 0; i < 50; i++)
    {
        printf("请输入第%d个学生的学号和成绩:", i + 1);
        scanf("%d%d", &id[i], &score[i]);
    }

    printf("成绩在80分以上的学生有:\n");

    for (i = 0; i < 50; i++)
    {
        if (score[i] >= 80)
        {
            printf("学号:%d,成绩:%d\n", id[i], score[i]);
        }
    }

    return 0;
}
*/

/*
#include<stdio.h>
int main()
{
    int i,j;
    for(i=1;i<=4;i++)
    {
        for(j=1;j<=i;j++)
        {
            printf("&");
        }printf("\n");
    }
    return 0;
}
*/
// 21 输入一个字符串,统计出其中字母、数字和其他字符的个数
/*
#include<stdio.h>
int main()
{
    char s[50];
    int i,alpha=0,digit=0,other=0;
    gets(s);
    for(i=0;s[i]!='\0';i++){
        if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z'){
            alpha++;
        }
        else if(s[i]>='0'&&s[i]<='9'){
            digit++;
        }
        else {
            other++;
        }
    }
    printf("alpha:%d,digit:%d,other:%d",alpha,digit,other);
    return 0;
}

*/


//22 编写一个函数,输入一个整数数组和数组长度,输出该数组中的最大值、最小值和平均值。
/*
#include<stdio.h>
void operator(int a[], int n, int *max, int *min, float *avg) {
    int sum=0, i;
    *max=*min=a[0]; // 假设a列表中第一个数为最大数,最小数。
    for (i=0; i<n; i++) {
        sum += a[i];
        if (a[i]>*max) {
            *max=a[i];
        }
        if (a[i]<*min) {
            *min=a[i];
        }
    }
    *avg=(float)sum/n; // 注意强制类型转换为float类型
}
int main() {
    int i, n, a[50], max, min;
    float avg;
    scanf("%d", &n);
    for (i=0; i<n; i++) {
        scanf("%d", &a[i]); // 读入数组
    }
    operator(a, n, &max, &min, &avg); // 调用函数
    printf("最大值:%d,最小值:%d,平均值:%0.2f", max, min, avg);
    return 0;
}

*/
//23 设计一个计算器程序,可以进行加、减、乘、除和求幂运算

/*
#include<stdio.h>
#include<math.h>
int main() {
    int a, b, oper;
    printf("请输入两个整数:");
    scanf("%d%d", &a, &b);
    printf("请输入运算符号:1. 加 2. 减 3. 乘 4. 除 5. 求幂 ");
    scanf("%d", &oper);
    switch (oper) {
        case 1: printf("结果为:%d", a+b); break;
        case 2: printf("结果为:%d", a-b); break;
        case 3: printf("结果为:%d", a*b); break;
        case 4: printf("结果为:%d", a/b); break;
        case 5: printf("结果为:%f", pow(a, b)); break;
        default: printf("输入有误,请重新输入!");
    }
    return 0;
}
*/

//24 编写一个程序,输入任意一个整数n,输出n的阶乘,要求使用递归实现。
/*
#include<stdio.h>
int factorial(int n) {
    if (n==0) { // base case
        return 1;
    } else {
        return n * factorial(n-1); // 递归调用
    }
}
int main() {
    int n, result;
    scanf("%d", &n);
    result=factorial(n);
    printf("%d的阶乘为%d", n, result);
    return 0;
}
*/
// TEST
/*
#include <stdio.h>
void main()
{
    //printf("123456789\n");
   // printf("h\ti\n");
   // printf("h\ti\bj_k\n");
   // printf("h\ti\rj_k\n");
   // printf("\a");
}
*/

/*
#include<stdio.h>
int main()
{
    int a,b;
   // b=(a=3*5,a*4);
   b=((a=3*5,a*4),a+5);
    printf("%d",a);
    printf("\n");
    printf("%d",b);
    return 0;
}
*/
//test
/*
#include<stdio.h>
int main()
{

    int a,b,c,d;
   // scanf("%d%d%d%d",&a,&b);
    //printf("%d,%d,%d,%d\n",a,b);
    //printf("\n");
    scanf("%c%c",&c,&d);
    printf("%c,%c\n",c,d);
}

*/
// 查询成绩
/*
#include<stdio.h>
int main()
{
        int x,mark;
    printf("请输入您的成绩:");
    scanf("%d",&mark);
    if(mark>=90)
        printf("优秀");
    else if(mark>=80)
        printf("良好");
    else if(mark>=70)
        printf("中等");
    else if(mark>=60)
        printf("及格");
    else
        printf("不及格");
}
*/
//判断是否为闰年
/*
#include<stdio.h>
int main()
{
    int year,leap;
    printf("please input");
    scanf("%d",&year);
    if((year%4==0&&year%100!=0)||(year%400==0))
        printf("闰年");
    else
    printf("非闰年");
}
*/
/*
#include<stdio.h>
int main()
{
    int i,sum=0;
    while(i<=100)
    {
        sum=sum+i;
        i++;
    }
    printf("sum=%d",sum);
}
*/
/*
#include<stdio.h>
int main()
{
    int i,sum=0;
    do
    {
        sum=sum+i;
        i++;
    }
    while(i<=100);
    printf("sum=%d",sum);

}
*/
// 菱形
/*
#include<stdio.h>
int main()
{
    int i,j;
    for(i=1;i<=4;i++)
    {
        for(j=1;j<=4-i;j++)
            printf(" ");
        for(j=1;j<=i*2-1;j++)
            printf("*");
            printf("\n");
    }
     for(i=3;i>=1;i--)
    {
        for(j=1;j<=4-i;j++)
            printf(" ");
        for(j=1;j<=i*2-1;j++)
            printf("*");
            printf("\n");
    }
}
*/

//小小矩阵
/*
#include<stdio.h>
void main()
{
    int i,j,n=0;
    for(i=1;i<=4;i++)




        for(j=1;j<=5;j++,n++)
        {
            if(n%5==0&&n!=0)
            printf("\n");
            printf("%d\t",i*j);
       }

        printf("\n");

}
*/
//1!+2!+3!+4!+5!
/*
#include<stdio.h>
void main()
{
    int i,j=1;
    int sum=0;
    for(i=1;i<=5;i++)
       {
        j*=i;
        sum+=j;
       }
       printf("%d",sum);
}
*/
//2
/*
#include<stdio.h>
void main()
{
    int i,j;
    int sum=0,jec=1;
    for(i=1;i<=5;i++)
    {
        jec=1;

            for(j=1;j<=i;j++)

               {jec*=j;}
            sum+=jec;



    }
    printf("%d",sum);
}
*/

//迭代法
/*
#include<stdio.h>
#include<math.h>
void main()
{
  int sign=1;double n=1,pi=0,term=1;
  while(fabs(term)>=1e-6)
  {
      pi+=term;
      n+=2;
      sign=-sign;
      term=sign/n;
  }
  pi=pi*4;
  printf("pi=%10.8lf\n",pi);
}
*/

/*
//打印1000以内的水仙花数
#include<stdio.h>
int main()
{
    int i,a,b,c;
    for(i=100;i<=999;i++)
    {
        a=i%10;
        b=i/10%10;
        c=i/100%10;
        if(i==(a*a*a+b*b*b+c*c*c))
            printf("%d ",i);
    }
}
*/
/*
// 求素数

#include <stdio.h>
#include <math.h>
int prime(int x);
int main()
{
    int i;
    for(i=100;i<=200;i++)
    {
        if(prime(i)) printf("%d ",i);
    }
    return 0;
}
int prime(int x)
{
    int i;
    if(x==1) return 0;
    for(i=2;i<=sqrt(x);i++)
        if(x%i==0) return 0;
        return 1;
}
*/
/*
// fib 兔子
#include<stdio.h>

int fib(int x)
{
    if(x==0)
        return 0;
    else if (x==1||x==2)
        return 1;
    else
        return fib(x-1)+fib(x-2);
}


int main() {
    int month;
    printf("请输入月份:");z
    scanf("%d", &month);
    int result = fib(month);
    printf("第%d个月共有%d对兔子\n", month, result);
    return 0;
}
*/

/*
#include <stdio.h>

int main()
{
    int i,t,s=0,sign=1;
    for(i=1;i<=101;i+=2)
    {
        t=sign*i;
        s+=t;
        sign=-sign;
        //printf("%d\n",s);
    }
    printf("%d",s);
    return 0;
}
*/
/*
#include<stdio.h>
int main()
{
    int m=5;
    if(m++>5)
        printf("%d\n",m);
    else
        printf("%d\n",m--);
    return 0;
}
*/
/*
#include<stdio.h>
int main()
{
    printf("abc123\rdef");
}
*/
//实现一个小型计算器
/*
#include<stdio.h>
int main()
{
    printf("hello");
}
*/

// 函数调用n的阶乘
/*
#include<stdio.h>
int main()
{
    int fac(int n);
    int n,y;
    printf("please input:");
    scanf("%d",&n);
    y=fac(n);
    printf("%d!=%d\n",n,y);
    return 0;

}
int fac(int n){
    int f;
    if(n<0) printf("error");
    else if(n==0||n==1) f=1;
    else f=fac(n-1)*n;
    return (f);
}
*/
// 函数调用五个同学问年龄的问题
/*
#include<stdio.h>
int main()
{
    int age(int n);
    printf("%d\n",age(5));
    return 0;
}
int age(int n)
{
    int c;
    if(n==1)
        c=10;
    else
        c=age(n-1)+2;
    return (c);
}
*/
/*
问题利用数组实现寻找最大值
*/
/*
#include<stdio.h>
int main()
{
    int max(int x, int y);//定义实参
    int a[10],m,n,i;//这里需要用到的数组 和三个变量m用于最大值,n用于下标 i用于循环
    printf("enter 10 integer numbers;");//
    for (i=0;i<10;i++)//外层循环为了给数组赋初值
        scanf("%d",&a[i]);
    printf("\n");
    for(i=1,m=a[0],n=0;i<10;i++)//内层for循环,在这个吧a[0]给到了m
    {
        if(max(m,a[i])>m)//把m和下一个数作为实参传递到形参去运算判断最大值返回的数和上个最大值的m比较
        {
            m=max(m,a[i]);//如果条件满足把m的值替换掉
            n=i;//当前下标
        }
    }
    printf("the largest number is%d\nit is the %dth number.\n",m,n+1);

}
int max(int x,int y)
{
    return (x>y? x:y);
}
*/
/*
#include<stdio.h>
int main()
{
    float x,y;//x表示服务类型 y表示汽油类型
    float n,m;//n表示汽油的数量
}
*/
/*
#include<stdio.h>
#include <stdlib.h>
int main(){
    int a[5]={1,4,5,8,9};
    int b[5]={2,6,8,10,11};
    int c[10];
    int i=0,j=0,k=0;
    while(i<5&&j<5){
        if (a[i]<b[i]){
            c[k++]=a[i++];
        }
        else{
            c[k++]=b[j++];
        }
    }
    while(i<5){
        c[k++]=a[i++];
    }
    while(j<5){
        c[k++]=b[i++];
    }
    for(k=0;k<10;k++){
        printf("%d\t",c[k]);
    }
    return 0;
}
*/
/*
#include <stdio.h>

int main()
{
    printf("Prime numbers between 1 and 100 are:\n");
    for (int i = 2; i <= 100; i++) {
        int j;
        for (j = 2; j <= i; j++)
            if (i % j == 0) {
                break;
            }

        if (j >= i) {
            printf("%d ", i);
        }
    }
    return 0;
}
*/
/*
#include <stdio.h>

int main()
{
    printf("Prime numbers between 1 and 100 are:\n");
    for (int i = 2; i <= 100; i++){
        int j;
        for (j = 2; j <= i; j++)
            if (i % j == 0)
            {
                break;
            }
            if (j>=i)
            {
                printf("%d ", i);
            }
    }
    return 0;
}
*/


//指针

/*
#include<stdio.h>
int main()
{
    int *p1,*p2,*p,a,b;
    printf("please enter two integer numbers:");
    scanf("%d,%d",&a,&b);
    p1=&a;
    p2=&b;
    if(a<b)
    {
        p1=&b,p2=&a;
    }
    printf("a=%d,b=%d\n",a,b);
    printf("max=%d,min=%d\n",*p1,*p2);
    return 0;
}
*/
/*
#include<stdio.h>
int main()
{
    void exchange(int *q1,int *q2,int *q3);
    int a,b,c,*p1,*p2,*p3;
    printf("please enter three numbers:");
    scanf("%d,%d,%d",&a,&b,&c);
    p1=&a;p2=&b,p3=&c;
    exchange(p1,p2,p3);
    printf("the order is:%d,%d,%d\n",a,b,c);
    return 0;
}
void exchange(int *q1,int*q2,int*q3)
{
    void swap(int *pt1,int*pt2);
    if(*q1<*q2)swap(q1,q2);
    if(*q1<*q3)swap(q1,q3);
    if(*q2<*q3)swap(q2,q3);

}
void swap(int * pt1,int * pt2)
{
    int temp;
    temp=*pt1;
    *pt1=*pt2;
    *pt2=temp;

}
*/
//数组交换
/*
#include<stdio.h>
#define N 10
int main()
{
    int a[N]={0,1,2,3,4,5,6,7,8,9};
    int i,t;
    printf("Original array:\n");
    for(i=0;i<N;i++)
        printf("%d ",a[i]);
    for(i=0;i<N/2;i++)
    {
        t=a[i];
        a[i ]=a[N-1-i];
        a[N-1-i]=t;
    }
    printf("\nSorted array:\n");
    for(i=0;i<N;i++)
        printf("%d ",a[i]);
    printf("\n");
    return 0;
}
*/

/*
#include <stdio.h>


void reverse(char* s)
{
    // 获取字符串长度
    int len = 0;
    char* p = s;
    while (*p != 0)
    {
        len++;
        p++;
    }

    // 交换 ...
    int i = 0;
    char c;
    while (i <= len / 2 - 1)
    {
        c = *(s + i);
        *(s + i) = *(s + len - 1 - i);
        *(s + len - 1 - i) = c;
        i++;
    }
}

int main()
{
    char s[] = "www.runoob.com";
    printf("'%s' =>\n", s);
    reverse(s);           // 反转字符串
    printf("'%s'\n", s);
    return 0;
}

*/

/*
#include<stdio.h>
int main(){
	char a[100];
	char *p;
	p=a;
	do{*p++=getchar();
	}
	while(*(p-1)!='\n');
	for(*p='\0';p>=a;p--)
	    printf("%c",*p);
	return 0;
}

*/


//100 随机产生若干个10以内的自然数存储在数组中,删除其中重复的元素,输出原数组和新数组




/*
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define N 10
void main()
{
    int a[N];
    int i,j;
    srand(time(NULL));
        for(i=0;i<N;i++)
        {
            a[i]=rand()%11;
            printf("%3d",a[i]);
        }
        printf("\n");

for(i=0;i<N-1;i++)
    for(j=i+1;j<N;j++)
        if(a[j]==a[i])
            a[j]=-1;


for(i=0;i<N;i++)
    if(a[i]!=-1)
        printf("%3d",a[i]);

}
*/



// 99 假设有13位评委参与评分工作,计算每位歌手最终得分的方法是;
//去掉一个最高分和一个最低分,然后计算剩余11哥分数的平均值,所得结果就是最终得分

/*
#include<stdio.h>
#define N 13
void main()
{
    int score[N],i,sum=0,max,min;
    for(i=0;i<N;i++)
    {
        scanf("%d,",&score[i]);
        sum+=score[i];
    }

max=score[0];
min=score[0];
for(i=0;i<N;i++)
{
    if(max<score[i]) max=score[i];
    if(min>score[i]) min=score[i];
    printf("%3d",(int)(sum-max-min)/(N-2));

}
}
*/


//98模拟投筛子游戏100次,编程统计并输出色子的6个面各自出现的次数


/*
#include<stdio.h>
#define N 100
#include<stdlib.h>
#include<time.h>
void main()
{
    int s[N];
    int a,b,c,d,e,f,i;
    srand(time(0));
    for(i=0;i<N;i++)
    s[i]=rand()%6+1;
    a=b=c=d=e=f=0;
    for(i=1;i<=N;i++)
    {
        if (s[i]==1)
        a++;
        else if (s[i]==2)
        b++;
        else if (s[i]==3)
        c++;
        else if (s[i]==4)
        d++;
        else if (s[i]==5)
        e++;
        else if (s[i]==6)
        f++;
    }
    printf("1,%2d\n",a);
    printf("2,%2d\n",b);
    printf("3,%2d\n",c);
    printf("4,%2d\n",d);
    printf("5,%2d\n",e);
    printf("6,%2d\n",f);

}


*/
// 方法2
/*
#include<stdio.h>
#include<time.h>
#include<stdlib.h>

int main()
{
    int num[100], times[6] = {0}, i;
    srand(time(0));

    for(i = 0; i < 100; i++) {
        num[i] = rand() % 6 + 1;
        times[num[i] - 1]++;
        printf("%3d", num[i]);
    }

    printf("\n");

    for(i = 0; i < 6; i++) {
        printf("%d,%3d\n", i + 1, times[i]);
    }

    return 0;
}
*/


//有一个3*4的矩阵,要求编程求出其中值最大的那个元素的值,以及其所在的行号和列号

/*
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define M 3
#define N 4
int main()
{
    int i,j,max,a[M][N],m,n;
    srand(time(NULL));
    for(i=0; i<M; i++)
    {
        for(j=0; j<N; j++)
        {
            a[i][j]=rand()%90+10;
            printf("%d\t",a[i][j]);
        }
        printf("\n");

    }
    max=a[0][0];
    m=0;
    n=0;
    for(i=0; i<M; i++)

        for(j=0; j<N; j++)
            if(max<a[i][j])
            {
                max=a[i][j];
                m=i;
                n=j;
            }

    printf("%d,%d,%d",max,m,n);
    return 0;
}

*/

/*
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{

    char a[20]={0};
    char b[]="1234567";
    strncpy(a,b,3);
    puts(a);
    puts(b);
    return 0;
}
*/
/*
#include<stdio.h>
#include<math.h>
double f(double x)
{
    if (x<=-2) return -1*exp(2*x+1)+3;
    else if(x>-2&&x<=3) return 2*x-1;
    else return 2*log10(3*x+5)-11;

}


int main()
{
    double x;
    scanf("%lf",&x);
    printf("%.2lf",f(x));
}
*/
/*
#include<stdio.h>
int main()
{
    int i,t=0,n,sum=0;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        t=t*10+i;
        sum+=t;
    }
    printf("%d",sum);
}

*/


/*结构体类型数组编写一个程序用来输入学生的基本情况信息学生的基本情况信息包括;学号,姓名,c语言成绩,数学成绩,英语成绩,
要求统计每名同学的平均成绩和总成绩,对c语言成绩进行排序,统计c语言不及格的学生信息及不及格人数
*/
/*
#include<stdio.h>
#define M 5
struct student
{
    int xh;
    char sm[8];
    float ccj;
    float sx;
    float yycj;
    float pjcj;
    float sumcj;
    float xx;
};
void main()
{
    struct student xs[M],a;
    int i,j,count=0;
    for(i=0;i<M;i++)
    scanf("%d,%s,%f,%f,%f",&xs[i].xh,xs[i].sm,xs[i].ccj,&xs[i].sx,&xs[i].yycj);
    for(i=0;i<M;i++)
    xs[i].pjcj=(xs[i].ccj+xs[i].sx+xs[i].yycj)/3;
    xs[i].sumcj=(xs[i].ccj+xs[i].sx+xs[i].yycj);
    for(i=0;i<M;i++)
    for(j=0;j<M-i-1;j++)
    {
        if(xs[j].ccj<xs[j+1].ccj)
            a=xs[j];xs[j]=xs[j+1];xs[j+1]=a;
    }
   for (i = 0; i < M; i++) {
        if (xs[i].ccj < 60) {
            xs[i].xx = xs[i].ccj;
            count++;
        }
    }
    printf("%d%s%f%f%f%f%f%f%d",xs[i].xh,xs[i].sm,xs[i].ccj,xs[i].sx,xs[i].yycj,xs[i].pjcj,xs[i].sumcj,xs[i].xx,count);


}
*/

//以下是根据您提供的代码进行了修复的正确版本:

/*
#include <stdio.h>
#define M 5

struct student
{
    int xh;
    char sm[8];
    float ccj;
    float sx;
    float yycj;
    float pjcj;
    float sumcj;
    float xx;
};

int main()
{
    struct student xs[M], a;
    int i, j, count = 0;

    for (i = 0; i < M; i++)
        scanf("%d, %s, %f, %f, %f", &xs[i].xh, xs[i].sm, &xs[i].ccj, &xs[i].sx, &xs[i].yycj);

    for (i = 0; i < M; i++)
    {
        xs[i].pjcj = (xs[i].ccj + xs[i].sx + xs[i].yycj) / 3;
        xs[i].sumcj = xs[i].ccj + xs[i].sx + xs[i].yycj;
    }

    for (i = 0; i < M; i++)
    {
        for (j = 0; j < M - i - 1; j++)
        {
            if (xs[j].ccj < xs[j + 1].ccj)
            {
                a = xs[j];
                xs[j] = xs[j + 1];
                xs[j + 1] = a;
            }
        }
    }

    for (i = 0; i < M; i++)
    {
        if (xs[i].ccj < 60)
        {
            xs[i].xx = xs[i].ccj;
            count++;
        }


    }

    for (i = 0; i < M; i++)
    {
        printf("%d, %s, %.2f, %.2f, %.2f, %.2f, %.2f, %.2f, %d\n", xs[i].xh, xs[i].sm, xs[i].ccj, xs[i].sx, xs[i].yycj, xs[i].pjcj, xs[i].sumcj, xs[i].xx, count);
    }

    return 0;
}
*/



/*
#include <stdio.h>

#define MAX_STUDENTS 100 // 最大学生数量
#define PASS_GRADE 60 // 及格分数线

typedef struct {
    int studentID; // 学号
    char name[50]; // 姓名
    int cGrade; // C语言成绩
    int mathGrade; // 数学成绩
    int englishGrade; // 英语成绩
    float averageGrade; // 平均成绩
    int totalGrade; // 总成绩
} Student; // 学生结构体类型

void inputStudentInfo(Student *student, int n) {
    for (int i = 0; i < n; i++) {
        printf("Enter student %d's ID: ", i+1); // 输入学号
        scanf("%d", &student[i].studentID);
        printf("Enter student %d's name: ", i+1); // 输入姓名
        scanf("%s", student[i].name);
        printf("Enter student %d's C grade: ", i+1); // 输入C语言成绩
        scanf("%d", &student[i].cGrade);
        printf("Enter student %d's Math grade: ", i+1); // 输入数学成绩
        scanf("%d", &student[i].mathGrade);
        printf("Enter student %d's English grade: ", i+1); // 输入英语成绩
        scanf("%d", &student[i].englishGrade);
        student[i].totalGrade = student[i].cGrade + student[i].mathGrade + student[i].englishGrade; // 计算总成绩
        student[i].averageGrade = (float)student[i].totalGrade / 3; // 计算平均成绩
    }
}

void sortCGrades(Student *student, int n) {
    Student temp;
    for (int i = 0; i < n-1; i++) {
        for (int j = 0; j < n-i-1; j++) {
            if (student[j].cGrade > student[j+1].cGrade) { // 使用冒泡排序对C语言成绩进行排序
                temp = student[j];
                student[j] = student[j+1];
                student[j+1] = temp;
            }
        }
    }
}

void printStudentInfo(Student *student, int n) {
    printf("Student Information:\n");
    for (int i = 0; i < n; i++) {
        printf("Student %d\n", i+1);
        printf("ID: %d\n", student[i].studentID);
        printf("Name: %s\n", student[i].name);
        printf("C Grade: %d\n", student[i].cGrade);
        printf("Math Grade: %d\n", student[i].mathGrade);
        printf("English Grade: %d\n", student[i].englishGrade);
        printf("Total Grade: %d\n", student[i].totalGrade);
        printf("Average Grade: %.2f\n", student[i].averageGrade);
        printf("--------------------------\n");
    }
}

void printFailingCGrades(Student *student, int n) {
    int count = 0;
    printf("Students with failing C grades:\n");
    for (int i = 0; i < n; i++) {
        if (student[i].cGrade < PASS_GRADE) { // 判断C语言成绩是否不及格
            printf("Student ID: %d\n", student[i].studentID);
            printf("Name: %s\n", student[i].name);
            printf("C Grade: %d\n", student[i].cGrade);
            printf("--------------------------\n");
            count++; // 统计不及格人数
        }
    }
    printf("Total number of students with failing C grades: %d\n", count);
}

int main() {
    Student students[MAX_STUDENTS]; // 学生数组
    int numStudents; // 学生数量

    printf("Enter the number of students: ");
    scanf("%d", &numStudents); // 输入学生数量

    inputStudentInfo(students, numStudents); // 输入学生信息
    sortCGrades(students, numStudents); // 对C语言成绩排序
    printStudentInfo(students, numStudents); // 打印学生信息
    printFailingCGrades(students, numStudents); // 打印不及格学生信息

    return 0;
}

*/







































//1. 1£¡+2£¡+3£¡+...20!
/*
#include <stdio.h>
int main()
{
    int i;
    long sum=0,k=1;
    for(i=1;i<=20;i++)
    {
        k*=i;
        sum+=k;
    }
    printf("%d",sum);
}
*/

//方法2
/*
#include <stdio.h>
int main()
{
    int i,j;
    long sum=0,k;
    for(i=1;i<=20;i++)
    {
        k=1;
        for(j=1;j<=i;j++)
        {
            k*=j;
        }sum+=k;
    }printf("%d",sum);
}
*/

//2. 利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来
/*
#include<stdio.h>
void reverse(int n)
{
    int next;
    if(n<=1)
    {
        next=getchar();
        putchar(next);
    }
    else
    {
        next=getchar();
        reverse(n-1);
        putchar(next);
    }
}

int main()
{
    int n=5;  //这里n是字母的个数,也可以通过键盘输入
    reverse(n);
    return 0;
}
*/

//3.  输入一个小于5位的正整数,分别输出它的位数及其逆序打印出各位数字
/*
#include<stdio.h>


int main()
{
    int a,b,c,d,e,x;
    printf("请输入一个小于5位的正整数;");
    scanf("%d",&x);
    a=x/10000;
    b=x%10000/1000;
    c=x%1000/100;
    d=x%100/10;
    e=x%10;
    if(a!=0){
        printf("为5位数字,逆序为:%d%d%d%d%d\n",e,d,c,b,a);
    }
    else if(b!=0)
    {
        printf("为4位数字,逆序为:%d%d%d%d",e,d,c,b);

    }
    else if(c!=0){
        printf("位3位数字,逆序为:%d%d%d",e,d,c);
    }
    else if(d!=0){
        printf("为2位数字,逆序为:%d%d",e,d);
    }
    else if(e!=0){
        printf("位1位数字,逆序为:%d",e);
    }
    return 0;
}
*/

//编写一个程序输出 HelloWord

//4. 输入3个数abc 输出他们其中最大的数
/*
#include<stdio.h>
int main()
{
   int a,b,c,max;
   printf("请输出a,b,c\n");
   scanf("%d%d%d",&a,&b,&c);
   if(a>b)
   {
       if(c>a)
        max=c;
       else
        max=a;
   }
   else{
    if(c>b)
        max=c;
    else
        max=b;
   }
   printf("max=%d",max);
   return 0;
}
*/


//5.  请输入星期几的第一个字母来判断是星期几,
//如果第一个字母一样,则继续判断第二个字母
/*
#include <stdio.h>

int main()
{
    char i, j;
    printf("请输入第一个字母:");
    scanf("%c", &i);
    getchar();//处理‘\n’
    switch (i)
    {
    case 'm':
        printf("monday\n");
        break;
    case 'w':
        printf("wednesday\n");
        break;
    case 'f':
        printf("friday\n");
        break;
    case 't':
        printf("请输入下一个字母\n");
        scanf("%c", &j);
        if ('u' == j) {
            printf("tuesday\n");
            break;
        }
        if ('h' == j) {
            printf("thursday\n");
            break;
        }
    case 's':
        printf("请输入下一个字母\n");
        scanf("%c", &j);
        if ('a' == j) {
            printf("saturday\n");
            break;
        }
        if ('u' == j) {
            printf("sunday\n");
            break;
        }
    default:
        printf("error\n");
        break;
    }
    return 0;
}
*/

// 6. 函数调用的用法实例
/*
#include<stdio.h>
int main()
{
    int n;
    printf("打印多少次:");
    scanf("%d",&n);
    hello(n);
    return 0;
}
void hello(n)
{
    if(n)
    {
    printf("hello C!\n");
    hello(n-1);
    }

}

*/

//7. 求2/1,3/2, 5/3,8/5,13/8,21/13...这个数列的前20项之和

/*#include<stdio.h>
int main()
{
    int i,t;
    float sum=0;
    float a=2,b=1;
    for(i=1;i<=20;i++)
    {
        sum=sum+a/b;
        t=a;
        a=a+b;
        b=t;
    }
    printf("%f\n",sum);
    return 0;
}
*/
//8. 打印出所有的水仙花数(一个三位数,其各位数字立方和等于该数本身)
/*
int main()
{
    int i,x,y,z;
    for(i=100;i<1000;i++)
    {
        x=i%10;
        y=i/10%10;
        z=i/100%10;

        if(i==(x*x*x+y*y*y+z*z*z))
            printf("%d\n",i);
    }
    return 0;
}
*/

//9. 输出101-200 之间的素数
/*
#include<stdio.h>
int main()
{
    int i,j;
    int count=0;
    for(i=101;i<=200;i++)
    {
        for(j=2;j<i;j++)
        {
            if(i%j==0)
                break;
        }
        if(j>=i)
        {
            count++;
            printf("%d ",i);
            if(count%5==0)
                printf("\n");
        }
    }
    return 0;
}
*/

//10 . 输出9*9乘法表口诀
/*
#include<stdio.h>
int main()
{
    int i,j,result;
    for(i=1;i<10;i++)
    {
        for(j=1;j<=i;j++)
        {
            result=i*j;
            printf("%d*%d=%-3d",i,j,result); //-3d表示左对齐,占3位
        }printf("\n");
    }
    return 0;

}
*/


//11 .输入三个整数xyz,请把这三个数由小到大输出。
/*
#include<stdio.h>
int main()
{
    int x,y,z,t;
    printf("请输入三个数字:\n");
    scanf("%d %d %d",&x,&y,&z);
    //return 0;
    if(x>y){
        t=x;
        x=y;
        y=t;
    }
    if(x>z){
        t=x;
        x=z;
        z=t;
    }
    if(y>z)
    {
        t=y;
        y=z;
        z=t;
    }
    printf("从小到大的顺序:%d %d %d\n",x,y,z);
    return 0;
}
*/
// 12.判断2000-2500年中的每一年是否为闰年,并将结果输出
/*
#include<stdio.h>
int main()
{
    int i;
    for(i=2000;i<=2500;i++){
        if(i%400==0||i%4==0&&i%100!=0){
            printf("闰年的年份:%d\n",i);
            continue;
        }
        else
        {
            continue;
            //printf("不是闰年的年份:%d\n",i);
        }
    }
}
*/

//13 . 输入一个数是否能被3和5整除
/*
#include<stdio.h>
int main()
{
    int a;
    printf("请输入一个数:");
    scanf("%d",&a);
    if(a%3==0&&a%5==0){
        printf("这是能被3和5整除的数:%d",a);
    }
    else{
        printf("不能:%d",a);
    }
}
*/

//14 . 求1+2+3+...+100的和
/*
#include<stdio.h>
int main()
{
    int i,a=0;
    for(i=1;i<=100;i++){
        a+=i;
    }
    printf("%d",a);
}
*/
//15. 求两个数m和n的最大公约数
/*
#include<stdio.h>
//#include<stdlib.h>
int main(){
#include<stdio.h>
int a,b,r,t;
printf("请输入两个数");
scanf("%d,%d",&a,&b);
if(b==0){
    t=a;
    a=b;
    b=t;
}
while(a%b!=0){
    r=a%b;
    a=b;
    b=r;
}
printf("最大公约数为:%d",r);
return 0;
}
*/

//16 依次输入10个数,求出之中的最大数
/*
#include<stdio.h>
int main()
{
    int b[10]={0};
    int a;
    int i,max;
    for(i=0;i<10;i++)
    {
        printf("please input your ten number%d:",i);
        scanf("%d",&b[i]);
    }
    max=b[0];
    for(i=0;i<10;i++)
    {
        if(max<b[i]){
            max=b[i];
            a=i+1;
        }
    }
    printf("max:max=%d\n",max);
    printf("max index:%d\n",a);
}
*/

// 17迭代法
//1-1/2+1/3-1/4+.....+1/99-1/100
/*
#include<stdio.h>
int main()
{
    int i;
    double sum = 0.0;

    for (i = 1; i <= 100; i++)
    {
        if (i % 2 == 0)
        {
            sum -= 1.0/i;
        }
        else
        {
            sum += 1.0/i;
        }
    }

    printf("The result is: %lf\n", sum);

    return 0;
}
*/



//18 给出一个大于或等于3的正整数,判断它是不是一个素数
// 所谓素数prime是指除了1和该本身之外,不能被其他任何整数整除的数
//输出1-100之间的素数
/*
#include<stdio.h>
int main()
{
    int i,j;
    for(i=2;i<100;i++)
    {
       int isprime=1;
        for(j=2;j<i;j++)
        {
            if(i%j==0)
            {
                isprime=0;
                break;
            }
        }
        if(isprime==1)
        {
            printf("%d ",i);
        }
    }
    return 0;
}
*/

//19 求5!
/*
#include<stdio.h>
int main()
{
    int i,n=5,fact=1;
    for(i=1;i<=n;i++)
    {
        fact*=i;
    }
    printf("%d!=%d\n",n,fact);
}
*/
//20 有50个同学,要求将成绩在80分以上的学生的学号和成绩输出 c语言
/*
#include <stdio.h>

int main()
{
    int i, score[50], id[50];

    for (i = 0; i < 50; i++)
    {
        printf("请输入第%d个学生的学号和成绩:", i + 1);
        scanf("%d%d", &id[i], &score[i]);
    }

    printf("成绩在80分以上的学生有:\n");

    for (i = 0; i < 50; i++)
    {
        if (score[i] >= 80)
        {
            printf("学号:%d,成绩:%d\n", id[i], score[i]);
        }
    }

    return 0;
}
*/

/*
#include<stdio.h>
int main()
{
    int i,j;
    for(i=1;i<=4;i++)
    {
        for(j=1;j<=i;j++)
        {
            printf("&");
        }printf("\n");
    }
    return 0;
}
*/
// 21 输入一个字符串,统计出其中字母、数字和其他字符的个数
/*
#include<stdio.h>
int main()
{
    char s[50];
    int i,alpha=0,digit=0,other=0;
    gets(s);
    for(i=0;s[i]!='\0';i++){
        if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z'){
            alpha++;
        }
        else if(s[i]>='0'&&s[i]<='9'){
            digit++;
        }
        else {
            other++;
        }
    }
    printf("alpha:%d,digit:%d,other:%d",alpha,digit,other);
    return 0;
}

*/


//22 编写一个函数,输入一个整数数组和数组长度,输出该数组中的最大值、最小值和平均值。
/*
#include<stdio.h>
void operator(int a[], int n, int *max, int *min, float *avg) {
    int sum=0, i;
    *max=*min=a[0]; // 假设a列表中第一个数为最大数,最小数。
    for (i=0; i<n; i++) {
        sum += a[i];
        if (a[i]>*max) {
            *max=a[i];
        }
        if (a[i]<*min) {
            *min=a[i];
        }
    }
    *avg=(float)sum/n; // 注意强制类型转换为float类型
}
int main() {
    int i, n, a[50], max, min;
    float avg;
    scanf("%d", &n);
    for (i=0; i<n; i++) {
        scanf("%d", &a[i]); // 读入数组
    }
    operator(a, n, &max, &min, &avg); // 调用函数
    printf("最大值:%d,最小值:%d,平均值:%0.2f", max, min, avg);
    return 0;
}

*/
//23 设计一个计算器程序,可以进行加、减、乘、除和求幂运算

/*
#include<stdio.h>
#include<math.h>
int main() {
    int a, b, oper;
    printf("请输入两个整数:");
    scanf("%d%d", &a, &b);
    printf("请输入运算符号:1. 加 2. 减 3. 乘 4. 除 5. 求幂 ");
    scanf("%d", &oper);
    switch (oper) {
        case 1: printf("结果为:%d", a+b); break;
        case 2: printf("结果为:%d", a-b); break;
        case 3: printf("结果为:%d", a*b); break;
        case 4: printf("结果为:%d", a/b); break;
        case 5: printf("结果为:%f", pow(a, b)); break;
        default: printf("输入有误,请重新输入!");
    }
    return 0;
}
*/

//24 编写一个程序,输入任意一个整数n,输出n的阶乘,要求使用递归实现。
/*
#include<stdio.h>
int factorial(int n) {
    if (n==0) { // base case
        return 1;
    } else {
        return n * factorial(n-1); // 递归调用
    }
}
int main() {
    int n, result;
    scanf("%d", &n);
    result=factorial(n);
    printf("%d的阶乘为%d", n, result);
    return 0;
}
*/
// TEST
/*
#include <stdio.h>
void main()
{
    //printf("123456789\n");
   // printf("h\ti\n");
   // printf("h\ti\bj_k\n");
   // printf("h\ti\rj_k\n");
   // printf("\a");
}
*/

/*
#include<stdio.h>
int main()
{
    int a,b;
   // b=(a=3*5,a*4);
   b=((a=3*5,a*4),a+5);
    printf("%d",a);
    printf("\n");
    printf("%d",b);
    return 0;
}
*/
//test
/*
#include<stdio.h>
int main()
{

    int a,b,c,d;
   // scanf("%d%d%d%d",&a,&b);
    //printf("%d,%d,%d,%d\n",a,b);
    //printf("\n");
    scanf("%c%c",&c,&d);
    printf("%c,%c\n",c,d);
}

*/
// 查询成绩
/*
#include<stdio.h>
int main()
{
        int x,mark;
    printf("请输入您的成绩:");
    scanf("%d",&mark);
    if(mark>=90)
        printf("优秀");
    else if(mark>=80)
        printf("良好");
    else if(mark>=70)
        printf("中等");
    else if(mark>=60)
        printf("及格");
    else
        printf("不及格");
}
*/
//判断是否为闰年
/*
#include<stdio.h>
int main()
{
    int year,leap;
    printf("please input");
    scanf("%d",&year);
    if((year%4==0&&year%100!=0)||(year%400==0))
        printf("闰年");
    else
    printf("非闰年");
}
*/
/*
#include<stdio.h>
int main()
{
    int i,sum=0;
    while(i<=100)
    {
        sum=sum+i;
        i++;
    }
    printf("sum=%d",sum);
}
*/
/*
#include<stdio.h>
int main()
{
    int i,sum=0;
    do
    {
        sum=sum+i;
        i++;
    }
    while(i<=100);
    printf("sum=%d",sum);

}
*/
// 菱形
/*
#include<stdio.h>
int main()
{
    int i,j;
    for(i=1;i<=4;i++)
    {
        for(j=1;j<=4-i;j++)
            printf(" ");
        for(j=1;j<=i*2-1;j++)
            printf("*");
            printf("\n");
    }
     for(i=3;i>=1;i--)
    {
        for(j=1;j<=4-i;j++)
            printf(" ");
        for(j=1;j<=i*2-1;j++)
            printf("*");
            printf("\n");
    }
}
*/

//小小矩阵
/*
#include<stdio.h>
void main()
{
    int i,j,n=0;
    for(i=1;i<=4;i++)




        for(j=1;j<=5;j++,n++)
        {
            if(n%5==0&&n!=0)
            printf("\n");
            printf("%d\t",i*j);
       }

        printf("\n");

}
*/
//1!+2!+3!+4!+5!
/*
#include<stdio.h>
void main()
{
    int i,j=1;
    int sum=0;
    for(i=1;i<=5;i++)
       {
        j*=i;
        sum+=j;
       }
       printf("%d",sum);
}
*/
//2
/*
#include<stdio.h>
void main()
{
    int i,j;
    int sum=0,jec=1;
    for(i=1;i<=5;i++)
    {
        jec=1;

            for(j=1;j<=i;j++)

               {jec*=j;}
            sum+=jec;



    }
    printf("%d",sum);
}
*/

//迭代法
/*
#include<stdio.h>
#include<math.h>
void main()
{
  int sign=1;double n=1,pi=0,term=1;
  while(fabs(term)>=1e-6)
  {
      pi+=term;
      n+=2;
      sign=-sign;
      term=sign/n;
  }
  pi=pi*4;
  printf("pi=%10.8lf\n",pi);
}
*/

/*
//打印1000以内的水仙花数
#include<stdio.h>
int main()
{
    int i,a,b,c;
    for(i=100;i<=999;i++)
    {
        a=i%10;
        b=i/10%10;
        c=i/100%10;
        if(i==(a*a*a+b*b*b+c*c*c))
            printf("%d ",i);
    }
}
*/
/*
// 求素数

#include <stdio.h>
#include <math.h>
int prime(int x);
int main()
{
    int i;
    for(i=100;i<=200;i++)
    {
        if(prime(i)) printf("%d ",i);
    }
    return 0;
}
int prime(int x)
{
    int i;
    if(x==1) return 0;
    for(i=2;i<=sqrt(x);i++)
        if(x%i==0) return 0;
        return 1;
}
*/
/*
// fib 兔子
#include<stdio.h>

int fib(int x)
{
    if(x==0)
        return 0;
    else if (x==1||x==2)
        return 1;
    else
        return fib(x-1)+fib(x-2);
}


int main() {
    int month;
    printf("请输入月份:");z
    scanf("%d", &month);
    int result = fib(month);
    printf("第%d个月共有%d对兔子\n", month, result);
    return 0;
}
*/

/*
#include <stdio.h>

int main()
{
    int i,t,s=0,sign=1;
    for(i=1;i<=101;i+=2)
    {
        t=sign*i;
        s+=t;
        sign=-sign;
        //printf("%d\n",s);
    }
    printf("%d",s);
    return 0;
}
*/
/*
#include<stdio.h>
int main()
{
    int m=5;
    if(m++>5)
        printf("%d\n",m);
    else
        printf("%d\n",m--);
    return 0;
}
*/
/*
#include<stdio.h>
int main()
{
    printf("abc123\rdef");
}
*/
//实现一个小型计算器
/*
#include<stdio.h>
int main()
{
    printf("hello");
}
*/

// 函数调用n的阶乘
/*
#include<stdio.h>
int main()
{
    int fac(int n);
    int n,y;
    printf("please input:");
    scanf("%d",&n);
    y=fac(n);
    printf("%d!=%d\n",n,y);
    return 0;

}
int fac(int n){
    int f;
    if(n<0) printf("error");
    else if(n==0||n==1) f=1;
    else f=fac(n-1)*n;
    return (f);
}
*/
// 函数调用五个同学问年龄的问题
/*
#include<stdio.h>
int main()
{
    int age(int n);
    printf("%d\n",age(5));
    return 0;
}
int age(int n)
{
    int c;
    if(n==1)
        c=10;
    else
        c=age(n-1)+2;
    return (c);
}
*/
/*
问题利用数组实现寻找最大值
*/
/*
#include<stdio.h>
int main()
{
    int max(int x, int y);//定义实参
    int a[10],m,n,i;//这里需要用到的数组 和三个变量m用于最大值,n用于下标 i用于循环
    printf("enter 10 integer numbers;");//
    for (i=0;i<10;i++)//外层循环为了给数组赋初值
        scanf("%d",&a[i]);
    printf("\n");
    for(i=1,m=a[0],n=0;i<10;i++)//内层for循环,在这个吧a[0]给到了m
    {
        if(max(m,a[i])>m)//把m和下一个数作为实参传递到形参去运算判断最大值返回的数和上个最大值的m比较
        {
            m=max(m,a[i]);//如果条件满足把m的值替换掉
            n=i;//当前下标
        }
    }
    printf("the largest number is%d\nit is the %dth number.\n",m,n+1);

}
int max(int x,int y)
{
    return (x>y? x:y);
}
*/
/*
#include<stdio.h>
int main()
{
    float x,y;//x表示服务类型 y表示汽油类型
    float n,m;//n表示汽油的数量
}
*/
/*
#include<stdio.h>
#include <stdlib.h>
int main(){
    int a[5]={1,4,5,8,9};
    int b[5]={2,6,8,10,11};
    int c[10];
    int i=0,j=0,k=0;
    while(i<5&&j<5){
        if (a[i]<b[i]){
            c[k++]=a[i++];
        }
        else{
            c[k++]=b[j++];
        }
    }
    while(i<5){
        c[k++]=a[i++];
    }
    while(j<5){
        c[k++]=b[i++];
    }
    for(k=0;k<10;k++){
        printf("%d\t",c[k]);
    }
    return 0;
}
*/
/*
#include <stdio.h>

int main()
{
    printf("Prime numbers between 1 and 100 are:\n");
    for (int i = 2; i <= 100; i++) {
        int j;
        for (j = 2; j <= i; j++)
            if (i % j == 0) {
                break;
            }

        if (j >= i) {
            printf("%d ", i);
        }
    }
    return 0;
}
*/
/*
#include <stdio.h>

int main()
{
    printf("Prime numbers between 1 and 100 are:\n");
    for (int i = 2; i <= 100; i++){
        int j;
        for (j = 2; j <= i; j++)
            if (i % j == 0)
            {
                break;
            }
            if (j>=i)
            {
                printf("%d ", i);
            }
    }
    return 0;
}
*/


//指针

/*
#include<stdio.h>
int main()
{
    int *p1,*p2,*p,a,b;
    printf("please enter two integer numbers:");
    scanf("%d,%d",&a,&b);
    p1=&a;
    p2=&b;
    if(a<b)
    {
        p1=&b,p2=&a;
    }
    printf("a=%d,b=%d\n",a,b);
    printf("max=%d,min=%d\n",*p1,*p2);
    return 0;
}
*/
/*
#include<stdio.h>
int main()
{
    void exchange(int *q1,int *q2,int *q3);
    int a,b,c,*p1,*p2,*p3;
    printf("please enter three numbers:");
    scanf("%d,%d,%d",&a,&b,&c);
    p1=&a;p2=&b,p3=&c;
    exchange(p1,p2,p3);
    printf("the order is:%d,%d,%d\n",a,b,c);
    return 0;
}
void exchange(int *q1,int*q2,int*q3)
{
    void swap(int *pt1,int*pt2);
    if(*q1<*q2)swap(q1,q2);
    if(*q1<*q3)swap(q1,q3);
    if(*q2<*q3)swap(q2,q3);

}
void swap(int * pt1,int * pt2)
{
    int temp;
    temp=*pt1;
    *pt1=*pt2;
    *pt2=temp;

}
*/
//数组交换
/*
#include<stdio.h>
#define N 10
int main()
{
    int a[N]={0,1,2,3,4,5,6,7,8,9};
    int i,t;
    printf("Original array:\n");
    for(i=0;i<N;i++)
        printf("%d ",a[i]);
    for(i=0;i<N/2;i++)
    {
        t=a[i];
        a[i ]=a[N-1-i];
        a[N-1-i]=t;
    }
    printf("\nSorted array:\n");
    for(i=0;i<N;i++)
        printf("%d ",a[i]);
    printf("\n");
    return 0;
}
*/

/*
#include <stdio.h>


void reverse(char* s)
{
    // 获取字符串长度
    int len = 0;
    char* p = s;
    while (*p != 0)
    {
        len++;
        p++;
    }

    // 交换 ...
    int i = 0;
    char c;
    while (i <= len / 2 - 1)
    {
        c = *(s + i);
        *(s + i) = *(s + len - 1 - i);
        *(s + len - 1 - i) = c;
        i++;
    }
}

int main()
{
    char s[] = "www.runoob.com";
    printf("'%s' =>\n", s);
    reverse(s);           // 反转字符串
    printf("'%s'\n", s);
    return 0;
}

*/

/*
#include<stdio.h>
int main(){
	char a[100];
	char *p;
	p=a;
	do{*p++=getchar();
	}
	while(*(p-1)!='\n');
	for(*p='\0';p>=a;p--)
	    printf("%c",*p);
	return 0;
}

*/


//100 随机产生若干个10以内的自然数存储在数组中,删除其中重复的元素,输出原数组和新数组




/*
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define N 10
void main()
{
    int a[N];
    int i,j;
    srand(time(NULL));
        for(i=0;i<N;i++)
        {
            a[i]=rand()%11;
            printf("%3d",a[i]);
        }
        printf("\n");

for(i=0;i<N-1;i++)
    for(j=i+1;j<N;j++)
        if(a[j]==a[i])
            a[j]=-1;


for(i=0;i<N;i++)
    if(a[i]!=-1)
        printf("%3d",a[i]);

}
*/



// 99 假设有13位评委参与评分工作,计算每位歌手最终得分的方法是;
//去掉一个最高分和一个最低分,然后计算剩余11哥分数的平均值,所得结果就是最终得分

/*
#include<stdio.h>
#define N 13
void main()
{
    int score[N],i,sum=0,max,min;
    for(i=0;i<N;i++)
    {
        scanf("%d,",&score[i]);
        sum+=score[i];
    }

max=score[0];
min=score[0];
for(i=0;i<N;i++)
{
    if(max<score[i]) max=score[i];
    if(min>score[i]) min=score[i];
    printf("%3d",(int)(sum-max-min)/(N-2));

}
}
*/


//98模拟投筛子游戏100次,编程统计并输出色子的6个面各自出现的次数


/*
#include<stdio.h>
#define N 100
#include<stdlib.h>
#include<time.h>
void main()
{
    int s[N];
    int a,b,c,d,e,f,i;
    srand(time(0));
    for(i=0;i<N;i++)
    s[i]=rand()%6+1;
    a=b=c=d=e=f=0;
    for(i=1;i<=N;i++)
    {
        if (s[i]==1)
        a++;
        else if (s[i]==2)
        b++;
        else if (s[i]==3)
        c++;
        else if (s[i]==4)
        d++;
        else if (s[i]==5)
        e++;
        else if (s[i]==6)
        f++;
    }
    printf("1,%2d\n",a);
    printf("2,%2d\n",b);
    printf("3,%2d\n",c);
    printf("4,%2d\n",d);
    printf("5,%2d\n",e);
    printf("6,%2d\n",f);

}


*/
// 方法2
/*
#include<stdio.h>
#include<time.h>
#include<stdlib.h>

int main()
{
    int num[100], times[6] = {0}, i;
    srand(time(0));

    for(i = 0; i < 100; i++) {
        num[i] = rand() % 6 + 1;
        times[num[i] - 1]++;
        printf("%3d", num[i]);
    }

    printf("\n");

    for(i = 0; i < 6; i++) {
        printf("%d,%3d\n", i + 1, times[i]);
    }

    return 0;
}
*/


//有一个3*4的矩阵,要求编程求出其中值最大的那个元素的值,以及其所在的行号和列号

/*
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define M 3
#define N 4
int main()
{
    int i,j,max,a[M][N],m,n;
    srand(time(NULL));
    for(i=0; i<M; i++)
    {
        for(j=0; j<N; j++)
        {
            a[i][j]=rand()%90+10;
            printf("%d\t",a[i][j]);
        }
        printf("\n");

    }
    max=a[0][0];
    m=0;
    n=0;
    for(i=0; i<M; i++)

        for(j=0; j<N; j++)
            if(max<a[i][j])
            {
                max=a[i][j];
                m=i;
                n=j;
            }

    printf("%d,%d,%d",max,m,n);
    return 0;
}

*/

/*
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{

    char a[20]={0};
    char b[]="1234567";
    strncpy(a,b,3);
    puts(a);
    puts(b);
    return 0;
}
*/
/*
#include<stdio.h>
#include<math.h>
double f(double x)
{
    if (x<=-2) return -1*exp(2*x+1)+3;
    else if(x>-2&&x<=3) return 2*x-1;
    else return 2*log10(3*x+5)-11;

}


int main()
{
    double x;
    scanf("%lf",&x);
    printf("%.2lf",f(x));
}
*/
/*
#include<stdio.h>
int main()
{
    int i,t=0,n,sum=0;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        t=t*10+i;
        sum+=t;
    }
    printf("%d",sum);
}

*/


/*结构体类型数组编写一个程序用来输入学生的基本情况信息学生的基本情况信息包括;学号,姓名,c语言成绩,数学成绩,英语成绩,
要求统计每名同学的平均成绩和总成绩,对c语言成绩进行排序,统计c语言不及格的学生信息及不及格人数
*/
/*
#include<stdio.h>
#define M 5
struct student
{
    int xh;
    char sm[8];
    float ccj;
    float sx;
    float yycj;
    float pjcj;
    float sumcj;
    float xx;
};
void main()
{
    struct student xs[M],a;
    int i,j,count=0;
    for(i=0;i<M;i++)
    scanf("%d,%s,%f,%f,%f",&xs[i].xh,xs[i].sm,xs[i].ccj,&xs[i].sx,&xs[i].yycj);
    for(i=0;i<M;i++)
    xs[i].pjcj=(xs[i].ccj+xs[i].sx+xs[i].yycj)/3;
    xs[i].sumcj=(xs[i].ccj+xs[i].sx+xs[i].yycj);
    for(i=0;i<M;i++)
    for(j=0;j<M-i-1;j++)
    {
        if(xs[j].ccj<xs[j+1].ccj)
            a=xs[j];xs[j]=xs[j+1];xs[j+1]=a;
    }
   for (i = 0; i < M; i++) {
        if (xs[i].ccj < 60) {
            xs[i].xx = xs[i].ccj;
            count++;
        }
    }
    printf("%d%s%f%f%f%f%f%f%d",xs[i].xh,xs[i].sm,xs[i].ccj,xs[i].sx,xs[i].yycj,xs[i].pjcj,xs[i].sumcj,xs[i].xx,count);


}
*/

//以下是根据您提供的代码进行了修复的正确版本:

/*
#include <stdio.h>
#define M 5

struct student
{
    int xh;
    char sm[8];
    float ccj;
    float sx;
    float yycj;
    float pjcj;
    float sumcj;
    float xx;
};

int main()
{
    struct student xs[M], a;
    int i, j, count = 0;

    for (i = 0; i < M; i++)
        scanf("%d, %s, %f, %f, %f", &xs[i].xh, xs[i].sm, &xs[i].ccj, &xs[i].sx, &xs[i].yycj);

    for (i = 0; i < M; i++)
    {
        xs[i].pjcj = (xs[i].ccj + xs[i].sx + xs[i].yycj) / 3;
        xs[i].sumcj = xs[i].ccj + xs[i].sx + xs[i].yycj;
    }

    for (i = 0; i < M; i++)
    {
        for (j = 0; j < M - i - 1; j++)
        {
            if (xs[j].ccj < xs[j + 1].ccj)
            {
                a = xs[j];
                xs[j] = xs[j + 1];
                xs[j + 1] = a;
            }
        }
    }

    for (i = 0; i < M; i++)
    {
        if (xs[i].ccj < 60)
        {
            xs[i].xx = xs[i].ccj;
            count++;
        }


    }

    for (i = 0; i < M; i++)
    {
        printf("%d, %s, %.2f, %.2f, %.2f, %.2f, %.2f, %.2f, %d\n", xs[i].xh, xs[i].sm, xs[i].ccj, xs[i].sx, xs[i].yycj, xs[i].pjcj, xs[i].sumcj, xs[i].xx, count);
    }

    return 0;
}
*/



/*
#include <stdio.h>

#define MAX_STUDENTS 100 // 最大学生数量
#define PASS_GRADE 60 // 及格分数线

typedef struct {
    int studentID; // 学号
    char name[50]; // 姓名
    int cGrade; // C语言成绩
    int mathGrade; // 数学成绩
    int englishGrade; // 英语成绩
    float averageGrade; // 平均成绩
    int totalGrade; // 总成绩
} Student; // 学生结构体类型

void inputStudentInfo(Student *student, int n) {
    for (int i = 0; i < n; i++) {
        printf("Enter student %d's ID: ", i+1); // 输入学号
        scanf("%d", &student[i].studentID);
        printf("Enter student %d's name: ", i+1); // 输入姓名
        scanf("%s", student[i].name);
        printf("Enter student %d's C grade: ", i+1); // 输入C语言成绩
        scanf("%d", &student[i].cGrade);
        printf("Enter student %d's Math grade: ", i+1); // 输入数学成绩
        scanf("%d", &student[i].mathGrade);
        printf("Enter student %d's English grade: ", i+1); // 输入英语成绩
        scanf("%d", &student[i].englishGrade);
        student[i].totalGrade = student[i].cGrade + student[i].mathGrade + student[i].englishGrade; // 计算总成绩
        student[i].averageGrade = (float)student[i].totalGrade / 3; // 计算平均成绩
    }
}

void sortCGrades(Student *student, int n) {
    Student temp;
    for (int i = 0; i < n-1; i++) {
        for (int j = 0; j < n-i-1; j++) {
            if (student[j].cGrade > student[j+1].cGrade) { // 使用冒泡排序对C语言成绩进行排序
                temp = student[j];
                student[j] = student[j+1];
                student[j+1] = temp;
            }
        }
    }
}

void printStudentInfo(Student *student, int n) {
    printf("Student Information:\n");
    for (int i = 0; i < n; i++) {
        printf("Student %d\n", i+1);
        printf("ID: %d\n", student[i].studentID);
        printf("Name: %s\n", student[i].name);
        printf("C Grade: %d\n", student[i].cGrade);
        printf("Math Grade: %d\n", student[i].mathGrade);
        printf("English Grade: %d\n", student[i].englishGrade);
        printf("Total Grade: %d\n", student[i].totalGrade);
        printf("Average Grade: %.2f\n", student[i].averageGrade);
        printf("--------------------------\n");
    }
}

void printFailingCGrades(Student *student, int n) {
    int count = 0;
    printf("Students with failing C grades:\n");
    for (int i = 0; i < n; i++) {
        if (student[i].cGrade < PASS_GRADE) { // 判断C语言成绩是否不及格
            printf("Student ID: %d\n", student[i].studentID);
            printf("Name: %s\n", student[i].name);
            printf("C Grade: %d\n", student[i].cGrade);
            printf("--------------------------\n");
            count++; // 统计不及格人数
        }
    }
    printf("Total number of students with failing C grades: %d\n", count);
}

int main() {
    Student students[MAX_STUDENTS]; // 学生数组
    int numStudents; // 学生数量

    printf("Enter the number of students: ");
    scanf("%d", &numStudents); // 输入学生数量

    inputStudentInfo(students, numStudents); // 输入学生信息
    sortCGrades(students, numStudents); // 对C语言成绩排序
    printStudentInfo(students, numStudents); // 打印学生信息
    printFailingCGrades(students, numStudents); // 打印不及格学生信息

    return 0;
}

*/







































//1. 1£¡+2£¡+3£¡+...20!
/*
#include <stdio.h>
int main()
{
    int i;
    long sum=0,k=1;
    for(i=1;i<=20;i++)
    {
        k*=i;
        sum+=k;
    }
    printf("%d",sum);
}
*/

//方法2
/*
#include <stdio.h>
int main()
{
    int i,j;
    long sum=0,k;
    for(i=1;i<=20;i++)
    {
        k=1;
        for(j=1;j<=i;j++)
        {
            k*=j;
        }sum+=k;
    }printf("%d",sum);
}
*/

//2. 利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来
/*
#include<stdio.h>
void reverse(int n)
{
    int next;
    if(n<=1)
    {
        next=getchar();
        putchar(next);
    }
    else
    {
        next=getchar();
        reverse(n-1);
        putchar(next);
    }
}

int main()
{
    int n=5;  //这里n是字母的个数,也可以通过键盘输入
    reverse(n);
    return 0;
}
*/

//3.  输入一个小于5位的正整数,分别输出它的位数及其逆序打印出各位数字
/*
#include<stdio.h>


int main()
{
    int a,b,c,d,e,x;
    printf("请输入一个小于5位的正整数;");
    scanf("%d",&x);
    a=x/10000;
    b=x%10000/1000;
    c=x%1000/100;
    d=x%100/10;
    e=x%10;
    if(a!=0){
        printf("为5位数字,逆序为:%d%d%d%d%d\n",e,d,c,b,a);
    }
    else if(b!=0)
    {
        printf("为4位数字,逆序为:%d%d%d%d",e,d,c,b);

    }
    else if(c!=0){
        printf("位3位数字,逆序为:%d%d%d",e,d,c);
    }
    else if(d!=0){
        printf("为2位数字,逆序为:%d%d",e,d);
    }
    else if(e!=0){
        printf("位1位数字,逆序为:%d",e);
    }
    return 0;
}
*/

//编写一个程序输出 HelloWord

//4. 输入3个数abc 输出他们其中最大的数
/*
#include<stdio.h>
int main()
{
   int a,b,c,max;
   printf("请输出a,b,c\n");
   scanf("%d%d%d",&a,&b,&c);
   if(a>b)
   {
       if(c>a)
        max=c;
       else
        max=a;
   }
   else{
    if(c>b)
        max=c;
    else
        max=b;
   }
   printf("max=%d",max);
   return 0;
}
*/


//5.  请输入星期几的第一个字母来判断是星期几,
//如果第一个字母一样,则继续判断第二个字母
/*
#include <stdio.h>

int main()
{
    char i, j;
    printf("请输入第一个字母:");
    scanf("%c", &i);
    getchar();//处理‘\n’
    switch (i)
    {
    case 'm':
        printf("monday\n");
        break;
    case 'w':
        printf("wednesday\n");
        break;
    case 'f':
        printf("friday\n");
        break;
    case 't':
        printf("请输入下一个字母\n");
        scanf("%c", &j);
        if ('u' == j) {
            printf("tuesday\n");
            break;
        }
        if ('h' == j) {
            printf("thursday\n");
            break;
        }
    case 's':
        printf("请输入下一个字母\n");
        scanf("%c", &j);
        if ('a' == j) {
            printf("saturday\n");
            break;
        }
        if ('u' == j) {
            printf("sunday\n");
            break;
        }
    default:
        printf("error\n");
        break;
    }
    return 0;
}
*/

// 6. 函数调用的用法实例
/*
#include<stdio.h>
int main()
{
    int n;
    printf("打印多少次:");
    scanf("%d",&n);
    hello(n);
    return 0;
}
void hello(n)
{
    if(n)
    {
    printf("hello C!\n");
    hello(n-1);
    }

}

*/

//7. 求2/1,3/2, 5/3,8/5,13/8,21/13...这个数列的前20项之和

/*#include<stdio.h>
int main()
{
    int i,t;
    float sum=0;
    float a=2,b=1;
    for(i=1;i<=20;i++)
    {
        sum=sum+a/b;
        t=a;
        a=a+b;
        b=t;
    }
    printf("%f\n",sum);
    return 0;
}
*/
//8. 打印出所有的水仙花数(一个三位数,其各位数字立方和等于该数本身)
/*
int main()
{
    int i,x,y,z;
    for(i=100;i<1000;i++)
    {
        x=i%10;
        y=i/10%10;
        z=i/100%10;

        if(i==(x*x*x+y*y*y+z*z*z))
            printf("%d\n",i);
    }
    return 0;
}
*/

//9. 输出101-200 之间的素数
/*
#include<stdio.h>
int main()
{
    int i,j;
    int count=0;
    for(i=101;i<=200;i++)
    {
        for(j=2;j<i;j++)
        {
            if(i%j==0)
                break;
        }
        if(j>=i)
        {
            count++;
            printf("%d ",i);
            if(count%5==0)
                printf("\n");
        }
    }
    return 0;
}
*/

//10 . 输出9*9乘法表口诀
/*
#include<stdio.h>
int main()
{
    int i,j,result;
    for(i=1;i<10;i++)
    {
        for(j=1;j<=i;j++)
        {
            result=i*j;
            printf("%d*%d=%-3d",i,j,result); //-3d表示左对齐,占3位
        }printf("\n");
    }
    return 0;

}
*/


//11 .输入三个整数xyz,请把这三个数由小到大输出。
/*
#include<stdio.h>
int main()
{
    int x,y,z,t;
    printf("请输入三个数字:\n");
    scanf("%d %d %d",&x,&y,&z);
    //return 0;
    if(x>y){
        t=x;
        x=y;
        y=t;
    }
    if(x>z){
        t=x;
        x=z;
        z=t;
    }
    if(y>z)
    {
        t=y;
        y=z;
        z=t;
    }
    printf("从小到大的顺序:%d %d %d\n",x,y,z);
    return 0;
}
*/
// 12.判断2000-2500年中的每一年是否为闰年,并将结果输出
/*
#include<stdio.h>
int main()
{
    int i;
    for(i=2000;i<=2500;i++){
        if(i%400==0||i%4==0&&i%100!=0){
            printf("闰年的年份:%d\n",i);
            continue;
        }
        else
        {
            continue;
            //printf("不是闰年的年份:%d\n",i);
        }
    }
}
*/

//13 . 输入一个数是否能被3和5整除
/*
#include<stdio.h>
int main()
{
    int a;
    printf("请输入一个数:");
    scanf("%d",&a);
    if(a%3==0&&a%5==0){
        printf("这是能被3和5整除的数:%d",a);
    }
    else{
        printf("不能:%d",a);
    }
}
*/

//14 . 求1+2+3+...+100的和
/*
#include<stdio.h>
int main()
{
    int i,a=0;
    for(i=1;i<=100;i++){
        a+=i;
    }
    printf("%d",a);
}
*/
//15. 求两个数m和n的最大公约数
/*
#include<stdio.h>
//#include<stdlib.h>
int main(){
#include<stdio.h>
int a,b,r,t;
printf("请输入两个数");
scanf("%d,%d",&a,&b);
if(b==0){
    t=a;
    a=b;
    b=t;
}
while(a%b!=0){
    r=a%b;
    a=b;
    b=r;
}
printf("最大公约数为:%d",r);
return 0;
}
*/

//16 依次输入10个数,求出之中的最大数
/*
#include<stdio.h>
int main()
{
    int b[10]={0};
    int a;
    int i,max;
    for(i=0;i<10;i++)
    {
        printf("please input your ten number%d:",i);
        scanf("%d",&b[i]);
    }
    max=b[0];
    for(i=0;i<10;i++)
    {
        if(max<b[i]){
            max=b[i];
            a=i+1;
        }
    }
    printf("max:max=%d\n",max);
    printf("max index:%d\n",a);
}
*/

// 17迭代法
//1-1/2+1/3-1/4+.....+1/99-1/100
/*
#include<stdio.h>
int main()
{
    int i;
    double sum = 0.0;

    for (i = 1; i <= 100; i++)
    {
        if (i % 2 == 0)
        {
            sum -= 1.0/i;
        }
        else
        {
            sum += 1.0/i;
        }
    }

    printf("The result is: %lf\n", sum);

    return 0;
}
*/



//18 给出一个大于或等于3的正整数,判断它是不是一个素数
// 所谓素数prime是指除了1和该本身之外,不能被其他任何整数整除的数
//输出1-100之间的素数
/*
#include<stdio.h>
int main()
{
    int i,j;
    for(i=2;i<100;i++)
    {
       int isprime=1;
        for(j=2;j<i;j++)
        {
            if(i%j==0)
            {
                isprime=0;
                break;
            }
        }
        if(isprime==1)
        {
            printf("%d ",i);
        }
    }
    return 0;
}
*/

//19 求5!
/*
#include<stdio.h>
int main()
{
    int i,n=5,fact=1;
    for(i=1;i<=n;i++)
    {
        fact*=i;
    }
    printf("%d!=%d\n",n,fact);
}
*/
//20 有50个同学,要求将成绩在80分以上的学生的学号和成绩输出 c语言
/*
#include <stdio.h>

int main()
{
    int i, score[50], id[50];

    for (i = 0; i < 50; i++)
    {
        printf("请输入第%d个学生的学号和成绩:", i + 1);
        scanf("%d%d", &id[i], &score[i]);
    }

    printf("成绩在80分以上的学生有:\n");

    for (i = 0; i < 50; i++)
    {
        if (score[i] >= 80)
        {
            printf("学号:%d,成绩:%d\n", id[i], score[i]);
        }
    }

    return 0;
}
*/

/*
#include<stdio.h>
int main()
{
    int i,j;
    for(i=1;i<=4;i++)
    {
        for(j=1;j<=i;j++)
        {
            printf("&");
        }printf("\n");
    }
    return 0;
}
*/
// 21 输入一个字符串,统计出其中字母、数字和其他字符的个数
/*
#include<stdio.h>
int main()
{
    char s[50];
    int i,alpha=0,digit=0,other=0;
    gets(s);
    for(i=0;s[i]!='\0';i++){
        if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z'){
            alpha++;
        }
        else if(s[i]>='0'&&s[i]<='9'){
            digit++;
        }
        else {
            other++;
        }
    }
    printf("alpha:%d,digit:%d,other:%d",alpha,digit,other);
    return 0;
}

*/


//22 编写一个函数,输入一个整数数组和数组长度,输出该数组中的最大值、最小值和平均值。
/*
#include<stdio.h>
void operator(int a[], int n, int *max, int *min, float *avg) {
    int sum=0, i;
    *max=*min=a[0]; // 假设a列表中第一个数为最大数,最小数。
    for (i=0; i<n; i++) {
        sum += a[i];
        if (a[i]>*max) {
            *max=a[i];
        }
        if (a[i]<*min) {
            *min=a[i];
        }
    }
    *avg=(float)sum/n; // 注意强制类型转换为float类型
}
int main() {
    int i, n, a[50], max, min;
    float avg;
    scanf("%d", &n);
    for (i=0; i<n; i++) {
        scanf("%d", &a[i]); // 读入数组
    }
    operator(a, n, &max, &min, &avg); // 调用函数
    printf("最大值:%d,最小值:%d,平均值:%0.2f", max, min, avg);
    return 0;
}

*/
//23 设计一个计算器程序,可以进行加、减、乘、除和求幂运算

/*
#include<stdio.h>
#include<math.h>
int main() {
    int a, b, oper;
    printf("请输入两个整数:");
    scanf("%d%d", &a, &b);
    printf("请输入运算符号:1. 加 2. 减 3. 乘 4. 除 5. 求幂 ");
    scanf("%d", &oper);
    switch (oper) {
        case 1: printf("结果为:%d", a+b); break;
        case 2: printf("结果为:%d", a-b); break;
        case 3: printf("结果为:%d", a*b); break;
        case 4: printf("结果为:%d", a/b); break;
        case 5: printf("结果为:%f", pow(a, b)); break;
        default: printf("输入有误,请重新输入!");
    }
    return 0;
}
*/

//24 编写一个程序,输入任意一个整数n,输出n的阶乘,要求使用递归实现。
/*
#include<stdio.h>
int factorial(int n) {
    if (n==0) { // base case
        return 1;
    } else {
        return n * factorial(n-1); // 递归调用
    }
}
int main() {
    int n, result;
    scanf("%d", &n);
    result=factorial(n);
    printf("%d的阶乘为%d", n, result);
    return 0;
}
*/
// TEST
/*
#include <stdio.h>
void main()
{
    //printf("123456789\n");
   // printf("h\ti\n");
   // printf("h\ti\bj_k\n");
   // printf("h\ti\rj_k\n");
   // printf("\a");
}
*/

/*
#include<stdio.h>
int main()
{
    int a,b;
   // b=(a=3*5,a*4);
   b=((a=3*5,a*4),a+5);
    printf("%d",a);
    printf("\n");
    printf("%d",b);
    return 0;
}
*/
//test
/*
#include<stdio.h>
int main()
{

    int a,b,c,d;
   // scanf("%d%d%d%d",&a,&b);
    //printf("%d,%d,%d,%d\n",a,b);
    //printf("\n");
    scanf("%c%c",&c,&d);
    printf("%c,%c\n",c,d);
}

*/
// 查询成绩
/*
#include<stdio.h>
int main()
{
        int x,mark;
    printf("请输入您的成绩:");
    scanf("%d",&mark);
    if(mark>=90)
        printf("优秀");
    else if(mark>=80)
        printf("良好");
    else if(mark>=70)
        printf("中等");
    else if(mark>=60)
        printf("及格");
    else
        printf("不及格");
}
*/
//判断是否为闰年
/*
#include<stdio.h>
int main()
{
    int year,leap;
    printf("please input");
    scanf("%d",&year);
    if((year%4==0&&year%100!=0)||(year%400==0))
        printf("闰年");
    else
    printf("非闰年");
}
*/
/*
#include<stdio.h>
int main()
{
    int i,sum=0;
    while(i<=100)
    {
        sum=sum+i;
        i++;
    }
    printf("sum=%d",sum);
}
*/
/*
#include<stdio.h>
int main()
{
    int i,sum=0;
    do
    {
        sum=sum+i;
        i++;
    }
    while(i<=100);
    printf("sum=%d",sum);

}
*/
// 菱形
/*
#include<stdio.h>
int main()
{
    int i,j;
    for(i=1;i<=4;i++)
    {
        for(j=1;j<=4-i;j++)
            printf(" ");
        for(j=1;j<=i*2-1;j++)
            printf("*");
            printf("\n");
    }
     for(i=3;i>=1;i--)
    {
        for(j=1;j<=4-i;j++)
            printf(" ");
        for(j=1;j<=i*2-1;j++)
            printf("*");
            printf("\n");
    }
}
*/

//小小矩阵
/*
#include<stdio.h>
void main()
{
    int i,j,n=0;
    for(i=1;i<=4;i++)




        for(j=1;j<=5;j++,n++)
        {
            if(n%5==0&&n!=0)
            printf("\n");
            printf("%d\t",i*j);
       }

        printf("\n");

}
*/
//1!+2!+3!+4!+5!
/*
#include<stdio.h>
void main()
{
    int i,j=1;
    int sum=0;
    for(i=1;i<=5;i++)
       {
        j*=i;
        sum+=j;
       }
       printf("%d",sum);
}
*/
//2
/*
#include<stdio.h>
void main()
{
    int i,j;
    int sum=0,jec=1;
    for(i=1;i<=5;i++)
    {
        jec=1;

            for(j=1;j<=i;j++)

               {jec*=j;}
            sum+=jec;



    }
    printf("%d",sum);
}
*/

//迭代法
/*
#include<stdio.h>
#include<math.h>
void main()
{
  int sign=1;double n=1,pi=0,term=1;
  while(fabs(term)>=1e-6)
  {
      pi+=term;
      n+=2;
      sign=-sign;
      term=sign/n;
  }
  pi=pi*4;
  printf("pi=%10.8lf\n",pi);
}
*/

/*
//打印1000以内的水仙花数
#include<stdio.h>
int main()
{
    int i,a,b,c;
    for(i=100;i<=999;i++)
    {
        a=i%10;
        b=i/10%10;
        c=i/100%10;
        if(i==(a*a*a+b*b*b+c*c*c))
            printf("%d ",i);
    }
}
*/
/*
// 求素数

#include <stdio.h>
#include <math.h>
int prime(int x);
int main()
{
    int i;
    for(i=100;i<=200;i++)
    {
        if(prime(i)) printf("%d ",i);
    }
    return 0;
}
int prime(int x)
{
    int i;
    if(x==1) return 0;
    for(i=2;i<=sqrt(x);i++)
        if(x%i==0) return 0;
        return 1;
}
*/
/*
// fib 兔子
#include<stdio.h>

int fib(int x)
{
    if(x==0)
        return 0;
    else if (x==1||x==2)
        return 1;
    else
        return fib(x-1)+fib(x-2);
}


int main() {
    int month;
    printf("请输入月份:");z
    scanf("%d", &month);
    int result = fib(month);
    printf("第%d个月共有%d对兔子\n", month, result);
    return 0;
}
*/

/*
#include <stdio.h>

int main()
{
    int i,t,s=0,sign=1;
    for(i=1;i<=101;i+=2)
    {
        t=sign*i;
        s+=t;
        sign=-sign;
        //printf("%d\n",s);
    }
    printf("%d",s);
    return 0;
}
*/
/*
#include<stdio.h>
int main()
{
    int m=5;
    if(m++>5)
        printf("%d\n",m);
    else
        printf("%d\n",m--);
    return 0;
}
*/
/*
#include<stdio.h>
int main()
{
    printf("abc123\rdef");
}
*/
//实现一个小型计算器
/*
#include<stdio.h>
int main()
{
    printf("hello");
}
*/

// 函数调用n的阶乘
/*
#include<stdio.h>
int main()
{
    int fac(int n);
    int n,y;
    printf("please input:");
    scanf("%d",&n);
    y=fac(n);
    printf("%d!=%d\n",n,y);
    return 0;

}
int fac(int n){
    int f;
    if(n<0) printf("error");
    else if(n==0||n==1) f=1;
    else f=fac(n-1)*n;
    return (f);
}
*/
// 函数调用五个同学问年龄的问题
/*
#include<stdio.h>
int main()
{
    int age(int n);
    printf("%d\n",age(5));
    return 0;
}
int age(int n)
{
    int c;
    if(n==1)
        c=10;
    else
        c=age(n-1)+2;
    return (c);
}
*/
/*
问题利用数组实现寻找最大值
*/
/*
#include<stdio.h>
int main()
{
    int max(int x, int y);//定义实参
    int a[10],m,n,i;//这里需要用到的数组 和三个变量m用于最大值,n用于下标 i用于循环
    printf("enter 10 integer numbers;");//
    for (i=0;i<10;i++)//外层循环为了给数组赋初值
        scanf("%d",&a[i]);
    printf("\n");
    for(i=1,m=a[0],n=0;i<10;i++)//内层for循环,在这个吧a[0]给到了m
    {
        if(max(m,a[i])>m)//把m和下一个数作为实参传递到形参去运算判断最大值返回的数和上个最大值的m比较
        {
            m=max(m,a[i]);//如果条件满足把m的值替换掉
            n=i;//当前下标
        }
    }
    printf("the largest number is%d\nit is the %dth number.\n",m,n+1);

}
int max(int x,int y)
{
    return (x>y? x:y);
}
*/
/*
#include<stdio.h>
int main()
{
    float x,y;//x表示服务类型 y表示汽油类型
    float n,m;//n表示汽油的数量
}
*/
/*
#include<stdio.h>
#include <stdlib.h>
int main(){
    int a[5]={1,4,5,8,9};
    int b[5]={2,6,8,10,11};
    int c[10];
    int i=0,j=0,k=0;
    while(i<5&&j<5){
        if (a[i]<b[i]){
            c[k++]=a[i++];
        }
        else{
            c[k++]=b[j++];
        }
    }
    while(i<5){
        c[k++]=a[i++];
    }
    while(j<5){
        c[k++]=b[i++];
    }
    for(k=0;k<10;k++){
        printf("%d\t",c[k]);
    }
    return 0;
}
*/
/*
#include <stdio.h>

int main()
{
    printf("Prime numbers between 1 and 100 are:\n");
    for (int i = 2; i <= 100; i++) {
        int j;
        for (j = 2; j <= i; j++)
            if (i % j == 0) {
                break;
            }

        if (j >= i) {
            printf("%d ", i);
        }
    }
    return 0;
}
*/
/*
#include <stdio.h>

int main()
{
    printf("Prime numbers between 1 and 100 are:\n");
    for (int i = 2; i <= 100; i++){
        int j;
        for (j = 2; j <= i; j++)
            if (i % j == 0)
            {
                break;
            }
            if (j>=i)
            {
                printf("%d ", i);
            }
    }
    return 0;
}
*/


//指针

/*
#include<stdio.h>
int main()
{
    int *p1,*p2,*p,a,b;
    printf("please enter two integer numbers:");
    scanf("%d,%d",&a,&b);
    p1=&a;
    p2=&b;
    if(a<b)
    {
        p1=&b,p2=&a;
    }
    printf("a=%d,b=%d\n",a,b);
    printf("max=%d,min=%d\n",*p1,*p2);
    return 0;
}
*/
/*
#include<stdio.h>
int main()
{
    void exchange(int *q1,int *q2,int *q3);
    int a,b,c,*p1,*p2,*p3;
    printf("please enter three numbers:");
    scanf("%d,%d,%d",&a,&b,&c);
    p1=&a;p2=&b,p3=&c;
    exchange(p1,p2,p3);
    printf("the order is:%d,%d,%d\n",a,b,c);
    return 0;
}
void exchange(int *q1,int*q2,int*q3)
{
    void swap(int *pt1,int*pt2);
    if(*q1<*q2)swap(q1,q2);
    if(*q1<*q3)swap(q1,q3);
    if(*q2<*q3)swap(q2,q3);

}
void swap(int * pt1,int * pt2)
{
    int temp;
    temp=*pt1;
    *pt1=*pt2;
    *pt2=temp;

}
*/
//数组交换
/*
#include<stdio.h>
#define N 10
int main()
{
    int a[N]={0,1,2,3,4,5,6,7,8,9};
    int i,t;
    printf("Original array:\n");
    for(i=0;i<N;i++)
        printf("%d ",a[i]);
    for(i=0;i<N/2;i++)
    {
        t=a[i];
        a[i ]=a[N-1-i];
        a[N-1-i]=t;
    }
    printf("\nSorted array:\n");
    for(i=0;i<N;i++)
        printf("%d ",a[i]);
    printf("\n");
    return 0;
}
*/

/*
#include <stdio.h>


void reverse(char* s)
{
    // 获取字符串长度
    int len = 0;
    char* p = s;
    while (*p != 0)
    {
        len++;
        p++;
    }

    // 交换 ...
    int i = 0;
    char c;
    while (i <= len / 2 - 1)
    {
        c = *(s + i);
        *(s + i) = *(s + len - 1 - i);
        *(s + len - 1 - i) = c;
        i++;
    }
}

int main()
{
    char s[] = "www.runoob.com";
    printf("'%s' =>\n", s);
    reverse(s);           // 反转字符串
    printf("'%s'\n", s);
    return 0;
}

*/

/*
#include<stdio.h>
int main(){
	char a[100];
	char *p;
	p=a;
	do{*p++=getchar();
	}
	while(*(p-1)!='\n');
	for(*p='\0';p>=a;p--)
	    printf("%c",*p);
	return 0;
}

*/


//100 随机产生若干个10以内的自然数存储在数组中,删除其中重复的元素,输出原数组和新数组




/*
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define N 10
void main()
{
    int a[N];
    int i,j;
    srand(time(NULL));
        for(i=0;i<N;i++)
        {
            a[i]=rand()%11;
            printf("%3d",a[i]);
        }
        printf("\n");

for(i=0;i<N-1;i++)
    for(j=i+1;j<N;j++)
        if(a[j]==a[i])
            a[j]=-1;


for(i=0;i<N;i++)
    if(a[i]!=-1)
        printf("%3d",a[i]);

}
*/



// 99 假设有13位评委参与评分工作,计算每位歌手最终得分的方法是;
//去掉一个最高分和一个最低分,然后计算剩余11哥分数的平均值,所得结果就是最终得分

/*
#include<stdio.h>
#define N 13
void main()
{
    int score[N],i,sum=0,max,min;
    for(i=0;i<N;i++)
    {
        scanf("%d,",&score[i]);
        sum+=score[i];
    }

max=score[0];
min=score[0];
for(i=0;i<N;i++)
{
    if(max<score[i]) max=score[i];
    if(min>score[i]) min=score[i];
    printf("%3d",(int)(sum-max-min)/(N-2));

}
}
*/


//98模拟投筛子游戏100次,编程统计并输出色子的6个面各自出现的次数


/*
#include<stdio.h>
#define N 100
#include<stdlib.h>
#include<time.h>
void main()
{
    int s[N];
    int a,b,c,d,e,f,i;
    srand(time(0));
    for(i=0;i<N;i++)
    s[i]=rand()%6+1;
    a=b=c=d=e=f=0;
    for(i=1;i<=N;i++)
    {
        if (s[i]==1)
        a++;
        else if (s[i]==2)
        b++;
        else if (s[i]==3)
        c++;
        else if (s[i]==4)
        d++;
        else if (s[i]==5)
        e++;
        else if (s[i]==6)
        f++;
    }
    printf("1,%2d\n",a);
    printf("2,%2d\n",b);
    printf("3,%2d\n",c);
    printf("4,%2d\n",d);
    printf("5,%2d\n",e);
    printf("6,%2d\n",f);

}


*/
// 方法2
/*
#include<stdio.h>
#include<time.h>
#include<stdlib.h>

int main()
{
    int num[100], times[6] = {0}, i;
    srand(time(0));

    for(i = 0; i < 100; i++) {
        num[i] = rand() % 6 + 1;
        times[num[i] - 1]++;
        printf("%3d", num[i]);
    }

    printf("\n");

    for(i = 0; i < 6; i++) {
        printf("%d,%3d\n", i + 1, times[i]);
    }

    return 0;
}
*/


//有一个3*4的矩阵,要求编程求出其中值最大的那个元素的值,以及其所在的行号和列号

/*
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define M 3
#define N 4
int main()
{
    int i,j,max,a[M][N],m,n;
    srand(time(NULL));
    for(i=0; i<M; i++)
    {
        for(j=0; j<N; j++)
        {
            a[i][j]=rand()%90+10;
            printf("%d\t",a[i][j]);
        }
        printf("\n");

    }
    max=a[0][0];
    m=0;
    n=0;
    for(i=0; i<M; i++)

        for(j=0; j<N; j++)
            if(max<a[i][j])
            {
                max=a[i][j];
                m=i;
                n=j;
            }

    printf("%d,%d,%d",max,m,n);
    return 0;
}

*/

/*
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{

    char a[20]={0};
    char b[]="1234567";
    strncpy(a,b,3);
    puts(a);
    puts(b);
    return 0;
}
*/
/*
#include<stdio.h>
#include<math.h>
double f(double x)
{
    if (x<=-2) return -1*exp(2*x+1)+3;
    else if(x>-2&&x<=3) return 2*x-1;
    else return 2*log10(3*x+5)-11;

}


int main()
{
    double x;
    scanf("%lf",&x);
    printf("%.2lf",f(x));
}
*/
/*
#include<stdio.h>
int main()
{
    int i,t=0,n,sum=0;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        t=t*10+i;
        sum+=t;
    }
    printf("%d",sum);
}

*/


/*结构体类型数组编写一个程序用来输入学生的基本情况信息学生的基本情况信息包括;学号,姓名,c语言成绩,数学成绩,英语成绩,
要求统计每名同学的平均成绩和总成绩,对c语言成绩进行排序,统计c语言不及格的学生信息及不及格人数
*/
/*
#include<stdio.h>
#define M 5
struct student
{
    int xh;
    char sm[8];
    float ccj;
    float sx;
    float yycj;
    float pjcj;
    float sumcj;
    float xx;
};
void main()
{
    struct student xs[M],a;
    int i,j,count=0;
    for(i=0;i<M;i++)
    scanf("%d,%s,%f,%f,%f",&xs[i].xh,xs[i].sm,xs[i].ccj,&xs[i].sx,&xs[i].yycj);
    for(i=0;i<M;i++)
    xs[i].pjcj=(xs[i].ccj+xs[i].sx+xs[i].yycj)/3;
    xs[i].sumcj=(xs[i].ccj+xs[i].sx+xs[i].yycj);
    for(i=0;i<M;i++)
    for(j=0;j<M-i-1;j++)
    {
        if(xs[j].ccj<xs[j+1].ccj)
            a=xs[j];xs[j]=xs[j+1];xs[j+1]=a;
    }
   for (i = 0; i < M; i++) {
        if (xs[i].ccj < 60) {
            xs[i].xx = xs[i].ccj;
            count++;
        }
    }
    printf("%d%s%f%f%f%f%f%f%d",xs[i].xh,xs[i].sm,xs[i].ccj,xs[i].sx,xs[i].yycj,xs[i].pjcj,xs[i].sumcj,xs[i].xx,count);


}
*/

//以下是根据您提供的代码进行了修复的正确版本:

/*
#include <stdio.h>
#define M 5

struct student
{
    int xh;
    char sm[8];
    float ccj;
    float sx;
    float yycj;
    float pjcj;
    float sumcj;
    float xx;
};

int main()
{
    struct student xs[M], a;
    int i, j, count = 0;

    for (i = 0; i < M; i++)
        scanf("%d, %s, %f, %f, %f", &xs[i].xh, xs[i].sm, &xs[i].ccj, &xs[i].sx, &xs[i].yycj);

    for (i = 0; i < M; i++)
    {
        xs[i].pjcj = (xs[i].ccj + xs[i].sx + xs[i].yycj) / 3;
        xs[i].sumcj = xs[i].ccj + xs[i].sx + xs[i].yycj;
    }

    for (i = 0; i < M; i++)
    {
        for (j = 0; j < M - i - 1; j++)
        {
            if (xs[j].ccj < xs[j + 1].ccj)
            {
                a = xs[j];
                xs[j] = xs[j + 1];
                xs[j + 1] = a;
            }
        }
    }

    for (i = 0; i < M; i++)
    {
        if (xs[i].ccj < 60)
        {
            xs[i].xx = xs[i].ccj;
            count++;
        }


    }

    for (i = 0; i < M; i++)
    {
        printf("%d, %s, %.2f, %.2f, %.2f, %.2f, %.2f, %.2f, %d\n", xs[i].xh, xs[i].sm, xs[i].ccj, xs[i].sx, xs[i].yycj, xs[i].pjcj, xs[i].sumcj, xs[i].xx, count);
    }

    return 0;
}
*/



/*
#include <stdio.h>

#define MAX_STUDENTS 100 // 最大学生数量
#define PASS_GRADE 60 // 及格分数线

typedef struct {
    int studentID; // 学号
    char name[50]; // 姓名
    int cGrade; // C语言成绩
    int mathGrade; // 数学成绩
    int englishGrade; // 英语成绩
    float averageGrade; // 平均成绩
    int totalGrade; // 总成绩
} Student; // 学生结构体类型

void inputStudentInfo(Student *student, int n) {
    for (int i = 0; i < n; i++) {
        printf("Enter student %d's ID: ", i+1); // 输入学号
        scanf("%d", &student[i].studentID);
        printf("Enter student %d's name: ", i+1); // 输入姓名
        scanf("%s", student[i].name);
        printf("Enter student %d's C grade: ", i+1); // 输入C语言成绩
        scanf("%d", &student[i].cGrade);
        printf("Enter student %d's Math grade: ", i+1); // 输入数学成绩
        scanf("%d", &student[i].mathGrade);
        printf("Enter student %d's English grade: ", i+1); // 输入英语成绩
        scanf("%d", &student[i].englishGrade);
        student[i].totalGrade = student[i].cGrade + student[i].mathGrade + student[i].englishGrade; // 计算总成绩
        student[i].averageGrade = (float)student[i].totalGrade / 3; // 计算平均成绩
    }
}

void sortCGrades(Student *student, int n) {
    Student temp;
    for (int i = 0; i < n-1; i++) {
        for (int j = 0; j < n-i-1; j++) {
            if (student[j].cGrade > student[j+1].cGrade) { // 使用冒泡排序对C语言成绩进行排序
                temp = student[j];
                student[j] = student[j+1];
                student[j+1] = temp;
            }
        }
    }
}

void printStudentInfo(Student *student, int n) {
    printf("Student Information:\n");
    for (int i = 0; i < n; i++) {
        printf("Student %d\n", i+1);
        printf("ID: %d\n", student[i].studentID);
        printf("Name: %s\n", student[i].name);
        printf("C Grade: %d\n", student[i].cGrade);
        printf("Math Grade: %d\n", student[i].mathGrade);
        printf("English Grade: %d\n", student[i].englishGrade);
        printf("Total Grade: %d\n", student[i].totalGrade);
        printf("Average Grade: %.2f\n", student[i].averageGrade);
        printf("--------------------------\n");
    }
}

void printFailingCGrades(Student *student, int n) {
    int count = 0;
    printf("Students with failing C grades:\n");
    for (int i = 0; i < n; i++) {
        if (student[i].cGrade < PASS_GRADE) { // 判断C语言成绩是否不及格
            printf("Student ID: %d\n", student[i].studentID);
            printf("Name: %s\n", student[i].name);
            printf("C Grade: %d\n", student[i].cGrade);
            printf("--------------------------\n");
            count++; // 统计不及格人数
        }
    }
    printf("Total number of students with failing C grades: %d\n", count);
}

int main() {
    Student students[MAX_STUDENTS]; // 学生数组
    int numStudents; // 学生数量

    printf("Enter the number of students: ");
    scanf("%d", &numStudents); // 输入学生数量

    inputStudentInfo(students, numStudents); // 输入学生信息
    sortCGrades(students, numStudents); // 对C语言成绩排序
    printStudentInfo(students, numStudents); // 打印学生信息
    printFailingCGrades(students, numStudents); // 打印不及格学生信息

    return 0;
}

*/







































//1. 1£¡+2£¡+3£¡+...20!
/*
#include <stdio.h>
int main()
{
    int i;
    long sum=0,k=1;
    for(i=1;i<=20;i++)
    {
        k*=i;
        sum+=k;
    }
    printf("%d",sum);
}
*/

//方法2
/*
#include <stdio.h>
int main()
{
    int i,j;
    long sum=0,k;
    for(i=1;i<=20;i++)
    {
        k=1;
        for(j=1;j<=i;j++)
        {
            k*=j;
        }sum+=k;
    }printf("%d",sum);
}
*/

//2. 利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来
/*
#include<stdio.h>
void reverse(int n)
{
    int next;
    if(n<=1)
    {
        next=getchar();
        putchar(next);
    }
    else
    {
        next=getchar();
        reverse(n-1);
        putchar(next);
    }
}

int main()
{
    int n=5;  //这里n是字母的个数,也可以通过键盘输入
    reverse(n);
    return 0;
}
*/

//3.  输入一个小于5位的正整数,分别输出它的位数及其逆序打印出各位数字
/*
#include<stdio.h>


int main()
{
    int a,b,c,d,e,x;
    printf("请输入一个小于5位的正整数;");
    scanf("%d",&x);
    a=x/10000;
    b=x%10000/1000;
    c=x%1000/100;
    d=x%100/10;
    e=x%10;
    if(a!=0){
        printf("为5位数字,逆序为:%d%d%d%d%d\n",e,d,c,b,a);
    }
    else if(b!=0)
    {
        printf("为4位数字,逆序为:%d%d%d%d",e,d,c,b);

    }
    else if(c!=0){
        printf("位3位数字,逆序为:%d%d%d",e,d,c);
    }
    else if(d!=0){
        printf("为2位数字,逆序为:%d%d",e,d);
    }
    else if(e!=0){
        printf("位1位数字,逆序为:%d",e);
    }
    return 0;
}
*/

//编写一个程序输出 HelloWord

//4. 输入3个数abc 输出他们其中最大的数
/*
#include<stdio.h>
int main()
{
   int a,b,c,max;
   printf("请输出a,b,c\n");
   scanf("%d%d%d",&a,&b,&c);
   if(a>b)
   {
       if(c>a)
        max=c;
       else
        max=a;
   }
   else{
    if(c>b)
        max=c;
    else
        max=b;
   }
   printf("max=%d",max);
   return 0;
}
*/


//5.  请输入星期几的第一个字母来判断是星期几,
//如果第一个字母一样,则继续判断第二个字母
/*
#include <stdio.h>

int main()
{
    char i, j;
    printf("请输入第一个字母:");
    scanf("%c", &i);
    getchar();//处理‘\n’
    switch (i)
    {
    case 'm':
        printf("monday\n");
        break;
    case 'w':
        printf("wednesday\n");
        break;
    case 'f':
        printf("friday\n");
        break;
    case 't':
        printf("请输入下一个字母\n");
        scanf("%c", &j);
        if ('u' == j) {
            printf("tuesday\n");
            break;
        }
        if ('h' == j) {
            printf("thursday\n");
            break;
        }
    case 's':
        printf("请输入下一个字母\n");
        scanf("%c", &j);
        if ('a' == j) {
            printf("saturday\n");
            break;
        }
        if ('u' == j) {
            printf("sunday\n");
            break;
        }
    default:
        printf("error\n");
        break;
    }
    return 0;
}
*/

// 6. 函数调用的用法实例
/*
#include<stdio.h>
int main()
{
    int n;
    printf("打印多少次:");
    scanf("%d",&n);
    hello(n);
    return 0;
}
void hello(n)
{
    if(n)
    {
    printf("hello C!\n");
    hello(n-1);
    }

}

*/

//7. 求2/1,3/2, 5/3,8/5,13/8,21/13...这个数列的前20项之和

/*#include<stdio.h>
int main()
{
    int i,t;
    float sum=0;
    float a=2,b=1;
    for(i=1;i<=20;i++)
    {
        sum=sum+a/b;
        t=a;
        a=a+b;
        b=t;
    }
    printf("%f\n",sum);
    return 0;
}
*/
//8. 打印出所有的水仙花数(一个三位数,其各位数字立方和等于该数本身)
/*
int main()
{
    int i,x,y,z;
    for(i=100;i<1000;i++)
    {
        x=i%10;
        y=i/10%10;
        z=i/100%10;

        if(i==(x*x*x+y*y*y+z*z*z))
            printf("%d\n",i);
    }
    return 0;
}
*/

//9. 输出101-200 之间的素数
/*
#include<stdio.h>
int main()
{
    int i,j;
    int count=0;
    for(i=101;i<=200;i++)
    {
        for(j=2;j<i;j++)
        {
            if(i%j==0)
                break;
        }
        if(j>=i)
        {
            count++;
            printf("%d ",i);
            if(count%5==0)
                printf("\n");
        }
    }
    return 0;
}
*/

//10 . 输出9*9乘法表口诀
/*
#include<stdio.h>
int main()
{
    int i,j,result;
    for(i=1;i<10;i++)
    {
        for(j=1;j<=i;j++)
        {
            result=i*j;
            printf("%d*%d=%-3d",i,j,result); //-3d表示左对齐,占3位
        }printf("\n");
    }
    return 0;

}
*/


//11 .输入三个整数xyz,请把这三个数由小到大输出。
/*
#include<stdio.h>
int main()
{
    int x,y,z,t;
    printf("请输入三个数字:\n");
    scanf("%d %d %d",&x,&y,&z);
    //return 0;
    if(x>y){
        t=x;
        x=y;
        y=t;
    }
    if(x>z){
        t=x;
        x=z;
        z=t;
    }
    if(y>z)
    {
        t=y;
        y=z;
        z=t;
    }
    printf("从小到大的顺序:%d %d %d\n",x,y,z);
    return 0;
}
*/
// 12.判断2000-2500年中的每一年是否为闰年,并将结果输出
/*
#include<stdio.h>
int main()
{
    int i;
    for(i=2000;i<=2500;i++){
        if(i%400==0||i%4==0&&i%100!=0){
            printf("闰年的年份:%d\n",i);
            continue;
        }
        else
        {
            continue;
            //printf("不是闰年的年份:%d\n",i);
        }
    }
}
*/

//13 . 输入一个数是否能被3和5整除
/*
#include<stdio.h>
int main()
{
    int a;
    printf("请输入一个数:");
    scanf("%d",&a);
    if(a%3==0&&a%5==0){
        printf("这是能被3和5整除的数:%d",a);
    }
    else{
        printf("不能:%d",a);
    }
}
*/

//14 . 求1+2+3+...+100的和
/*
#include<stdio.h>
int main()
{
    int i,a=0;
    for(i=1;i<=100;i++){
        a+=i;
    }
    printf("%d",a);
}
*/
//15. 求两个数m和n的最大公约数
/*
#include<stdio.h>
//#include<stdlib.h>
int main(){
#include<stdio.h>
int a,b,r,t;
printf("请输入两个数");
scanf("%d,%d",&a,&b);
if(b==0){
    t=a;
    a=b;
    b=t;
}
while(a%b!=0){
    r=a%b;
    a=b;
    b=r;
}
printf("最大公约数为:%d",r);
return 0;
}
*/

//16 依次输入10个数,求出之中的最大数
/*
#include<stdio.h>
int main()
{
    int b[10]={0};
    int a;
    int i,max;
    for(i=0;i<10;i++)
    {
        printf("please input your ten number%d:",i);
        scanf("%d",&b[i]);
    }
    max=b[0];
    for(i=0;i<10;i++)
    {
        if(max<b[i]){
            max=b[i];
            a=i+1;
        }
    }
    printf("max:max=%d\n",max);
    printf("max index:%d\n",a);
}
*/

// 17迭代法
//1-1/2+1/3-1/4+.....+1/99-1/100
/*
#include<stdio.h>
int main()
{
    int i;
    double sum = 0.0;

    for (i = 1; i <= 100; i++)
    {
        if (i % 2 == 0)
        {
            sum -= 1.0/i;
        }
        else
        {
            sum += 1.0/i;
        }
    }

    printf("The result is: %lf\n", sum);

    return 0;
}
*/



//18 给出一个大于或等于3的正整数,判断它是不是一个素数
// 所谓素数prime是指除了1和该本身之外,不能被其他任何整数整除的数
//输出1-100之间的素数
/*
#include<stdio.h>
int main()
{
    int i,j;
    for(i=2;i<100;i++)
    {
       int isprime=1;
        for(j=2;j<i;j++)
        {
            if(i%j==0)
            {
                isprime=0;
                break;
            }
        }
        if(isprime==1)
        {
            printf("%d ",i);
        }
    }
    return 0;
}
*/

//19 求5!
/*
#include<stdio.h>
int main()
{
    int i,n=5,fact=1;
    for(i=1;i<=n;i++)
    {
        fact*=i;
    }
    printf("%d!=%d\n",n,fact);
}
*/
//20 有50个同学,要求将成绩在80分以上的学生的学号和成绩输出 c语言
/*
#include <stdio.h>

int main()
{
    int i, score[50], id[50];

    for (i = 0; i < 50; i++)
    {
        printf("请输入第%d个学生的学号和成绩:", i + 1);
        scanf("%d%d", &id[i], &score[i]);
    }

    printf("成绩在80分以上的学生有:\n");

    for (i = 0; i < 50; i++)
    {
        if (score[i] >= 80)
        {
            printf("学号:%d,成绩:%d\n", id[i], score[i]);
        }
    }

    return 0;
}
*/

/*
#include<stdio.h>
int main()
{
    int i,j;
    for(i=1;i<=4;i++)
    {
        for(j=1;j<=i;j++)
        {
            printf("&");
        }printf("\n");
    }
    return 0;
}
*/
// 21 输入一个字符串,统计出其中字母、数字和其他字符的个数
/*
#include<stdio.h>
int main()
{
    char s[50];
    int i,alpha=0,digit=0,other=0;
    gets(s);
    for(i=0;s[i]!='\0';i++){
        if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z'){
            alpha++;
        }
        else if(s[i]>='0'&&s[i]<='9'){
            digit++;
        }
        else {
            other++;
        }
    }
    printf("alpha:%d,digit:%d,other:%d",alpha,digit,other);
    return 0;
}

*/


//22 编写一个函数,输入一个整数数组和数组长度,输出该数组中的最大值、最小值和平均值。
/*
#include<stdio.h>
void operator(int a[], int n, int *max, int *min, float *avg) {
    int sum=0, i;
    *max=*min=a[0]; // 假设a列表中第一个数为最大数,最小数。
    for (i=0; i<n; i++) {
        sum += a[i];
        if (a[i]>*max) {
            *max=a[i];
        }
        if (a[i]<*min) {
            *min=a[i];
        }
    }
    *avg=(float)sum/n; // 注意强制类型转换为float类型
}
int main() {
    int i, n, a[50], max, min;
    float avg;
    scanf("%d", &n);
    for (i=0; i<n; i++) {
        scanf("%d", &a[i]); // 读入数组
    }
    operator(a, n, &max, &min, &avg); // 调用函数
    printf("最大值:%d,最小值:%d,平均值:%0.2f", max, min, avg);
    return 0;
}

*/
//23 设计一个计算器程序,可以进行加、减、乘、除和求幂运算

/*
#include<stdio.h>
#include<math.h>
int main() {
    int a, b, oper;
    printf("请输入两个整数:");
    scanf("%d%d", &a, &b);
    printf("请输入运算符号:1. 加 2. 减 3. 乘 4. 除 5. 求幂 ");
    scanf("%d", &oper);
    switch (oper) {
        case 1: printf("结果为:%d", a+b); break;
        case 2: printf("结果为:%d", a-b); break;
        case 3: printf("结果为:%d", a*b); break;
        case 4: printf("结果为:%d", a/b); break;
        case 5: printf("结果为:%f", pow(a, b)); break;
        default: printf("输入有误,请重新输入!");
    }
    return 0;
}
*/

//24 编写一个程序,输入任意一个整数n,输出n的阶乘,要求使用递归实现。
/*
#include<stdio.h>
int factorial(int n) {
    if (n==0) { // base case
        return 1;
    } else {
        return n * factorial(n-1); // 递归调用
    }
}
int main() {
    int n, result;
    scanf("%d", &n);
    result=factorial(n);
    printf("%d的阶乘为%d", n, result);
    return 0;
}
*/
// TEST
/*
#include <stdio.h>
void main()
{
    //printf("123456789\n");
   // printf("h\ti\n");
   // printf("h\ti\bj_k\n");
   // printf("h\ti\rj_k\n");
   // printf("\a");
}
*/

/*
#include<stdio.h>
int main()
{
    int a,b;
   // b=(a=3*5,a*4);
   b=((a=3*5,a*4),a+5);
    printf("%d",a);
    printf("\n");
    printf("%d",b);
    return 0;
}
*/
//test
/*
#include<stdio.h>
int main()
{

    int a,b,c,d;
   // scanf("%d%d%d%d",&a,&b);
    //printf("%d,%d,%d,%d\n",a,b);
    //printf("\n");
    scanf("%c%c",&c,&d);
    printf("%c,%c\n",c,d);
}

*/
// 查询成绩
/*
#include<stdio.h>
int main()
{
        int x,mark;
    printf("请输入您的成绩:");
    scanf("%d",&mark);
    if(mark>=90)
        printf("优秀");
    else if(mark>=80)
        printf("良好");
    else if(mark>=70)
        printf("中等");
    else if(mark>=60)
        printf("及格");
    else
        printf("不及格");
}
*/
//判断是否为闰年
/*
#include<stdio.h>
int main()
{
    int year,leap;
    printf("please input");
    scanf("%d",&year);
    if((year%4==0&&year%100!=0)||(year%400==0))
        printf("闰年");
    else
    printf("非闰年");
}
*/
/*
#include<stdio.h>
int main()
{
    int i,sum=0;
    while(i<=100)
    {
        sum=sum+i;
        i++;
    }
    printf("sum=%d",sum);
}
*/
/*
#include<stdio.h>
int main()
{
    int i,sum=0;
    do
    {
        sum=sum+i;
        i++;
    }
    while(i<=100);
    printf("sum=%d",sum);

}
*/
// 菱形
/*
#include<stdio.h>
int main()
{
    int i,j;
    for(i=1;i<=4;i++)
    {
        for(j=1;j<=4-i;j++)
            printf(" ");
        for(j=1;j<=i*2-1;j++)
            printf("*");
            printf("\n");
    }
     for(i=3;i>=1;i--)
    {
        for(j=1;j<=4-i;j++)
            printf(" ");
        for(j=1;j<=i*2-1;j++)
            printf("*");
            printf("\n");
    }
}
*/

//小小矩阵
/*
#include<stdio.h>
void main()
{
    int i,j,n=0;
    for(i=1;i<=4;i++)




        for(j=1;j<=5;j++,n++)
        {
            if(n%5==0&&n!=0)
            printf("\n");
            printf("%d\t",i*j);
       }

        printf("\n");

}
*/
//1!+2!+3!+4!+5!
/*
#include<stdio.h>
void main()
{
    int i,j=1;
    int sum=0;
    for(i=1;i<=5;i++)
       {
        j*=i;
        sum+=j;
       }
       printf("%d",sum);
}
*/
//2
/*
#include<stdio.h>
void main()
{
    int i,j;
    int sum=0,jec=1;
    for(i=1;i<=5;i++)
    {
        jec=1;

            for(j=1;j<=i;j++)

               {jec*=j;}
            sum+=jec;



    }
    printf("%d",sum);
}
*/

//迭代法
/*
#include<stdio.h>
#include<math.h>
void main()
{
  int sign=1;double n=1,pi=0,term=1;
  while(fabs(term)>=1e-6)
  {
      pi+=term;
      n+=2;
      sign=-sign;
      term=sign/n;
  }
  pi=pi*4;
  printf("pi=%10.8lf\n",pi);
}
*/

/*
//打印1000以内的水仙花数
#include<stdio.h>
int main()
{
    int i,a,b,c;
    for(i=100;i<=999;i++)
    {
        a=i%10;
        b=i/10%10;
        c=i/100%10;
        if(i==(a*a*a+b*b*b+c*c*c))
            printf("%d ",i);
    }
}
*/
/*
// 求素数

#include <stdio.h>
#include <math.h>
int prime(int x);
int main()
{
    int i;
    for(i=100;i<=200;i++)
    {
        if(prime(i)) printf("%d ",i);
    }
    return 0;
}
int prime(int x)
{
    int i;
    if(x==1) return 0;
    for(i=2;i<=sqrt(x);i++)
        if(x%i==0) return 0;
        return 1;
}
*/
/*
// fib 兔子
#include<stdio.h>

int fib(int x)
{
    if(x==0)
        return 0;
    else if (x==1||x==2)
        return 1;
    else
        return fib(x-1)+fib(x-2);
}


int main() {
    int month;
    printf("请输入月份:");z
    scanf("%d", &month);
    int result = fib(month);
    printf("第%d个月共有%d对兔子\n", month, result);
    return 0;
}
*/

/*
#include <stdio.h>

int main()
{
    int i,t,s=0,sign=1;
    for(i=1;i<=101;i+=2)
    {
        t=sign*i;
        s+=t;
        sign=-sign;
        //printf("%d\n",s);
    }
    printf("%d",s);
    return 0;
}
*/
/*
#include<stdio.h>
int main()
{
    int m=5;
    if(m++>5)
        printf("%d\n",m);
    else
        printf("%d\n",m--);
    return 0;
}
*/
/*
#include<stdio.h>
int main()
{
    printf("abc123\rdef");
}
*/
//实现一个小型计算器
/*
#include<stdio.h>
int main()
{
    printf("hello");
}
*/

// 函数调用n的阶乘
/*
#include<stdio.h>
int main()
{
    int fac(int n);
    int n,y;
    printf("please input:");
    scanf("%d",&n);
    y=fac(n);
    printf("%d!=%d\n",n,y);
    return 0;

}
int fac(int n){
    int f;
    if(n<0) printf("error");
    else if(n==0||n==1) f=1;
    else f=fac(n-1)*n;
    return (f);
}
*/
// 函数调用五个同学问年龄的问题
/*
#include<stdio.h>
int main()
{
    int age(int n);
    printf("%d\n",age(5));
    return 0;
}
int age(int n)
{
    int c;
    if(n==1)
        c=10;
    else
        c=age(n-1)+2;
    return (c);
}
*/
/*
问题利用数组实现寻找最大值
*/
/*
#include<stdio.h>
int main()
{
    int max(int x, int y);//定义实参
    int a[10],m,n,i;//这里需要用到的数组 和三个变量m用于最大值,n用于下标 i用于循环
    printf("enter 10 integer numbers;");//
    for (i=0;i<10;i++)//外层循环为了给数组赋初值
        scanf("%d",&a[i]);
    printf("\n");
    for(i=1,m=a[0],n=0;i<10;i++)//内层for循环,在这个吧a[0]给到了m
    {
        if(max(m,a[i])>m)//把m和下一个数作为实参传递到形参去运算判断最大值返回的数和上个最大值的m比较
        {
            m=max(m,a[i]);//如果条件满足把m的值替换掉
            n=i;//当前下标
        }
    }
    printf("the largest number is%d\nit is the %dth number.\n",m,n+1);

}
int max(int x,int y)
{
    return (x>y? x:y);
}
*/
/*
#include<stdio.h>
int main()
{
    float x,y;//x表示服务类型 y表示汽油类型
    float n,m;//n表示汽油的数量
}
*/
/*
#include<stdio.h>
#include <stdlib.h>
int main(){
    int a[5]={1,4,5,8,9};
    int b[5]={2,6,8,10,11};
    int c[10];
    int i=0,j=0,k=0;
    while(i<5&&j<5){
        if (a[i]<b[i]){
            c[k++]=a[i++];
        }
        else{
            c[k++]=b[j++];
        }
    }
    while(i<5){
        c[k++]=a[i++];
    }
    while(j<5){
        c[k++]=b[i++];
    }
    for(k=0;k<10;k++){
        printf("%d\t",c[k]);
    }
    return 0;
}
*/
/*
#include <stdio.h>

int main()
{
    printf("Prime numbers between 1 and 100 are:\n");
    for (int i = 2; i <= 100; i++) {
        int j;
        for (j = 2; j <= i; j++)
            if (i % j == 0) {
                break;
            }

        if (j >= i) {
            printf("%d ", i);
        }
    }
    return 0;
}
*/
/*
#include <stdio.h>

int main()
{
    printf("Prime numbers between 1 and 100 are:\n");
    for (int i = 2; i <= 100; i++){
        int j;
        for (j = 2; j <= i; j++)
            if (i % j == 0)
            {
                break;
            }
            if (j>=i)
            {
                printf("%d ", i);
            }
    }
    return 0;
}
*/


//指针

/*
#include<stdio.h>
int main()
{
    int *p1,*p2,*p,a,b;
    printf("please enter two integer numbers:");
    scanf("%d,%d",&a,&b);
    p1=&a;
    p2=&b;
    if(a<b)
    {
        p1=&b,p2=&a;
    }
    printf("a=%d,b=%d\n",a,b);
    printf("max=%d,min=%d\n",*p1,*p2);
    return 0;
}
*/
/*
#include<stdio.h>
int main()
{
    void exchange(int *q1,int *q2,int *q3);
    int a,b,c,*p1,*p2,*p3;
    printf("please enter three numbers:");
    scanf("%d,%d,%d",&a,&b,&c);
    p1=&a;p2=&b,p3=&c;
    exchange(p1,p2,p3);
    printf("the order is:%d,%d,%d\n",a,b,c);
    return 0;
}
void exchange(int *q1,int*q2,int*q3)
{
    void swap(int *pt1,int*pt2);
    if(*q1<*q2)swap(q1,q2);
    if(*q1<*q3)swap(q1,q3);
    if(*q2<*q3)swap(q2,q3);

}
void swap(int * pt1,int * pt2)
{
    int temp;
    temp=*pt1;
    *pt1=*pt2;
    *pt2=temp;

}
*/
//数组交换
/*
#include<stdio.h>
#define N 10
int main()
{
    int a[N]={0,1,2,3,4,5,6,7,8,9};
    int i,t;
    printf("Original array:\n");
    for(i=0;i<N;i++)
        printf("%d ",a[i]);
    for(i=0;i<N/2;i++)
    {
        t=a[i];
        a[i ]=a[N-1-i];
        a[N-1-i]=t;
    }
    printf("\nSorted array:\n");
    for(i=0;i<N;i++)
        printf("%d ",a[i]);
    printf("\n");
    return 0;
}
*/

/*
#include <stdio.h>


void reverse(char* s)
{
    // 获取字符串长度
    int len = 0;
    char* p = s;
    while (*p != 0)
    {
        len++;
        p++;
    }

    // 交换 ...
    int i = 0;
    char c;
    while (i <= len / 2 - 1)
    {
        c = *(s + i);
        *(s + i) = *(s + len - 1 - i);
        *(s + len - 1 - i) = c;
        i++;
    }
}

int main()
{
    char s[] = "www.runoob.com";
    printf("'%s' =>\n", s);
    reverse(s);           // 反转字符串
    printf("'%s'\n", s);
    return 0;
}

*/

/*
#include<stdio.h>
int main(){
	char a[100];
	char *p;
	p=a;
	do{*p++=getchar();
	}
	while(*(p-1)!='\n');
	for(*p='\0';p>=a;p--)
	    printf("%c",*p);
	return 0;
}

*/


//100 随机产生若干个10以内的自然数存储在数组中,删除其中重复的元素,输出原数组和新数组




/*
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define N 10
void main()
{
    int a[N];
    int i,j;
    srand(time(NULL));
        for(i=0;i<N;i++)
        {
            a[i]=rand()%11;
            printf("%3d",a[i]);
        }
        printf("\n");

for(i=0;i<N-1;i++)
    for(j=i+1;j<N;j++)
        if(a[j]==a[i])
            a[j]=-1;


for(i=0;i<N;i++)
    if(a[i]!=-1)
        printf("%3d",a[i]);

}
*/



// 99 假设有13位评委参与评分工作,计算每位歌手最终得分的方法是;
//去掉一个最高分和一个最低分,然后计算剩余11哥分数的平均值,所得结果就是最终得分

/*
#include<stdio.h>
#define N 13
void main()
{
    int score[N],i,sum=0,max,min;
    for(i=0;i<N;i++)
    {
        scanf("%d,",&score[i]);
        sum+=score[i];
    }

max=score[0];
min=score[0];
for(i=0;i<N;i++)
{
    if(max<score[i]) max=score[i];
    if(min>score[i]) min=score[i];
    printf("%3d",(int)(sum-max-min)/(N-2));

}
}
*/


//98模拟投筛子游戏100次,编程统计并输出色子的6个面各自出现的次数


/*
#include<stdio.h>
#define N 100
#include<stdlib.h>
#include<time.h>
void main()
{
    int s[N];
    int a,b,c,d,e,f,i;
    srand(time(0));
    for(i=0;i<N;i++)
    s[i]=rand()%6+1;
    a=b=c=d=e=f=0;
    for(i=1;i<=N;i++)
    {
        if (s[i]==1)
        a++;
        else if (s[i]==2)
        b++;
        else if (s[i]==3)
        c++;
        else if (s[i]==4)
        d++;
        else if (s[i]==5)
        e++;
        else if (s[i]==6)
        f++;
    }
    printf("1,%2d\n",a);
    printf("2,%2d\n",b);
    printf("3,%2d\n",c);
    printf("4,%2d\n",d);
    printf("5,%2d\n",e);
    printf("6,%2d\n",f);

}


*/
// 方法2
/*
#include<stdio.h>
#include<time.h>
#include<stdlib.h>

int main()
{
    int num[100], times[6] = {0}, i;
    srand(time(0));

    for(i = 0; i < 100; i++) {
        num[i] = rand() % 6 + 1;
        times[num[i] - 1]++;
        printf("%3d", num[i]);
    }

    printf("\n");

    for(i = 0; i < 6; i++) {
        printf("%d,%3d\n", i + 1, times[i]);
    }

    return 0;
}
*/


//有一个3*4的矩阵,要求编程求出其中值最大的那个元素的值,以及其所在的行号和列号

/*
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define M 3
#define N 4
int main()
{
    int i,j,max,a[M][N],m,n;
    srand(time(NULL));
    for(i=0; i<M; i++)
    {
        for(j=0; j<N; j++)
        {
            a[i][j]=rand()%90+10;
            printf("%d\t",a[i][j]);
        }
        printf("\n");

    }
    max=a[0][0];
    m=0;
    n=0;
    for(i=0; i<M; i++)

        for(j=0; j<N; j++)
            if(max<a[i][j])
            {
                max=a[i][j];
                m=i;
                n=j;
            }

    printf("%d,%d,%d",max,m,n);
    return 0;
}

*/

/*
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{

    char a[20]={0};
    char b[]="1234567";
    strncpy(a,b,3);
    puts(a);
    puts(b);
    return 0;
}
*/
/*
#include<stdio.h>
#include<math.h>
double f(double x)
{
    if (x<=-2) return -1*exp(2*x+1)+3;
    else if(x>-2&&x<=3) return 2*x-1;
    else return 2*log10(3*x+5)-11;

}


int main()
{
    double x;
    scanf("%lf",&x);
    printf("%.2lf",f(x));
}
*/
/*
#include<stdio.h>
int main()
{
    int i,t=0,n,sum=0;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        t=t*10+i;
        sum+=t;
    }
    printf("%d",sum);
}

*/


/*结构体类型数组编写一个程序用来输入学生的基本情况信息学生的基本情况信息包括;学号,姓名,c语言成绩,数学成绩,英语成绩,
要求统计每名同学的平均成绩和总成绩,对c语言成绩进行排序,统计c语言不及格的学生信息及不及格人数
*/
/*
#include<stdio.h>
#define M 5
struct student
{
    int xh;
    char sm[8];
    float ccj;
    float sx;
    float yycj;
    float pjcj;
    float sumcj;
    float xx;
};
void main()
{
    struct student xs[M],a;
    int i,j,count=0;
    for(i=0;i<M;i++)
    scanf("%d,%s,%f,%f,%f",&xs[i].xh,xs[i].sm,xs[i].ccj,&xs[i].sx,&xs[i].yycj);
    for(i=0;i<M;i++)
    xs[i].pjcj=(xs[i].ccj+xs[i].sx+xs[i].yycj)/3;
    xs[i].sumcj=(xs[i].ccj+xs[i].sx+xs[i].yycj);
    for(i=0;i<M;i++)
    for(j=0;j<M-i-1;j++)
    {
        if(xs[j].ccj<xs[j+1].ccj)
            a=xs[j];xs[j]=xs[j+1];xs[j+1]=a;
    }
   for (i = 0; i < M; i++) {
        if (xs[i].ccj < 60) {
            xs[i].xx = xs[i].ccj;
            count++;
        }
    }
    printf("%d%s%f%f%f%f%f%f%d",xs[i].xh,xs[i].sm,xs[i].ccj,xs[i].sx,xs[i].yycj,xs[i].pjcj,xs[i].sumcj,xs[i].xx,count);


}
*/

//以下是根据您提供的代码进行了修复的正确版本:

/*
#include <stdio.h>
#define M 5

struct student
{
    int xh;
    char sm[8];
    float ccj;
    float sx;
    float yycj;
    float pjcj;
    float sumcj;
    float xx;
};

int main()
{
    struct student xs[M], a;
    int i, j, count = 0;

    for (i = 0; i < M; i++)
        scanf("%d, %s, %f, %f, %f", &xs[i].xh, xs[i].sm, &xs[i].ccj, &xs[i].sx, &xs[i].yycj);

    for (i = 0; i < M; i++)
    {
        xs[i].pjcj = (xs[i].ccj + xs[i].sx + xs[i].yycj) / 3;
        xs[i].sumcj = xs[i].ccj + xs[i].sx + xs[i].yycj;
    }

    for (i = 0; i < M; i++)
    {
        for (j = 0; j < M - i - 1; j++)
        {
            if (xs[j].ccj < xs[j + 1].ccj)
            {
                a = xs[j];
                xs[j] = xs[j + 1];
                xs[j + 1] = a;
            }
        }
    }

    for (i = 0; i < M; i++)
    {
        if (xs[i].ccj < 60)
        {
            xs[i].xx = xs[i].ccj;
            count++;
        }


    }

    for (i = 0; i < M; i++)
    {
        printf("%d, %s, %.2f, %.2f, %.2f, %.2f, %.2f, %.2f, %d\n", xs[i].xh, xs[i].sm, xs[i].ccj, xs[i].sx, xs[i].yycj, xs[i].pjcj, xs[i].sumcj, xs[i].xx, count);
    }

    return 0;
}
*/



/*
#include <stdio.h>

#define MAX_STUDENTS 100 // 最大学生数量
#define PASS_GRADE 60 // 及格分数线

typedef struct {
    int studentID; // 学号
    char name[50]; // 姓名
    int cGrade; // C语言成绩
    int mathGrade; // 数学成绩
    int englishGrade; // 英语成绩
    float averageGrade; // 平均成绩
    int totalGrade; // 总成绩
} Student; // 学生结构体类型

void inputStudentInfo(Student *student, int n) {
    for (int i = 0; i < n; i++) {
        printf("Enter student %d's ID: ", i+1); // 输入学号
        scanf("%d", &student[i].studentID);
        printf("Enter student %d's name: ", i+1); // 输入姓名
        scanf("%s", student[i].name);
        printf("Enter student %d's C grade: ", i+1); // 输入C语言成绩
        scanf("%d", &student[i].cGrade);
        printf("Enter student %d's Math grade: ", i+1); // 输入数学成绩
        scanf("%d", &student[i].mathGrade);
        printf("Enter student %d's English grade: ", i+1); // 输入英语成绩
        scanf("%d", &student[i].englishGrade);
        student[i].totalGrade = student[i].cGrade + student[i].mathGrade + student[i].englishGrade; // 计算总成绩
        student[i].averageGrade = (float)student[i].totalGrade / 3; // 计算平均成绩
    }
}

void sortCGrades(Student *student, int n) {
    Student temp;
    for (int i = 0; i < n-1; i++) {
        for (int j = 0; j < n-i-1; j++) {
            if (student[j].cGrade > student[j+1].cGrade) { // 使用冒泡排序对C语言成绩进行排序
                temp = student[j];
                student[j] = student[j+1];
                student[j+1] = temp;
            }
        }
    }
}

void printStudentInfo(Student *student, int n) {
    printf("Student Information:\n");
    for (int i = 0; i < n; i++) {
        printf("Student %d\n", i+1);
        printf("ID: %d\n", student[i].studentID);
        printf("Name: %s\n", student[i].name);
        printf("C Grade: %d\n", student[i].cGrade);
        printf("Math Grade: %d\n", student[i].mathGrade);
        printf("English Grade: %d\n", student[i].englishGrade);
        printf("Total Grade: %d\n", student[i].totalGrade);
        printf("Average Grade: %.2f\n", student[i].averageGrade);
        printf("--------------------------\n");
    }
}

void printFailingCGrades(Student *student, int n) {
    int count = 0;
    printf("Students with failing C grades:\n");
    for (int i = 0; i < n; i++) {
        if (student[i].cGrade < PASS_GRADE) { // 判断C语言成绩是否不及格
            printf("Student ID: %d\n", student[i].studentID);
            printf("Name: %s\n", student[i].name);
            printf("C Grade: %d\n", student[i].cGrade);
            printf("--------------------------\n");
            count++; // 统计不及格人数
        }
    }
    printf("Total number of students with failing C grades: %d\n", count);
}

int main() {
    Student students[MAX_STUDENTS]; // 学生数组
    int numStudents; // 学生数量

    printf("Enter the number of students: ");
    scanf("%d", &numStudents); // 输入学生数量

    inputStudentInfo(students, numStudents); // 输入学生信息
    sortCGrades(students, numStudents); // 对C语言成绩排序
    printStudentInfo(students, numStudents); // 打印学生信息
    printFailingCGrades(students, numStudents); // 打印不及格学生信息

    return 0;
}

*/







































文章来源地址https://www.toymoban.com/news/detail-725165.html

到了这里,关于一些常见的必须会的谭浩强基本代码大全也是常考的应试是没问题的的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 公司前端实习项目技术,可以借鉴一些组件设计思路及基本代码逻辑,应届生来!

    1.跳转 2.请求 1.mounted() 1.从登陆界面开始,通过Common.httpRequest()发送请求,经过Common.forward()跳转传参,在mounted或者created生命周期中通过common.getActivePageStack()获取到跳转所传参数,这样就可以根据id或者其他唯一数据发送请求查询所需数据 1.DialogInfo 1.用法 先引入组件 在

    2024年02月21日
    浏览(52)
  • Go数据结构----你必须知道的一些

    算法(英文 algorithm )这个词在中文里面博大精深,表示算账的方法,也可以表示运筹帷幄的计谋等。在计算机科技里,它表示什么呢? 计算机,顾名思义是用来计算的机器。算法在计算机科学中可以描述为:计算机接收一个输入指令,然后进行一个过程处理,最后输出计算

    2024年02月03日
    浏览(44)
  • 【Wordpress高级教程】WordPress模板基本文件和常见函数调用代码

    WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPress当作一个内容管理系统(CMS)来使用。 WordPress有许多第三方开发的免费模板,安装方式简单易用。用户可以在支持 PHP 和 MySQL数据库的服务器上快速搭建自

    2024年02月02日
    浏览(37)
  • 新手学编程必会的100个代码

    我记得刚开始接触编程的时候,觉得太难了。 也很好奇,写代码的那些人也太厉害了吧?全是英文的,他们的英文水平一定很好吧? 他们是怎么记住这么多代码格式的?而且错了一个标点符号,整个程序都会有影响。 一个程序几千行,错一个标点符号都不行这也太难了吧?

    2024年02月04日
    浏览(58)
  • 全靠这份Java知识点PDF大全,Java开发者必须收藏的8个开源库

    自我介绍 项目中的监控:那个监控指标常见的有哪些? 微服务涉及到的技术以及需要注意的问题有哪些? 注册中心你了解了哪些? consul 的可靠性你了解吗? consul 的机制你有没有具体深入过?有没有和其他的注册中心对比过? 项目用 Spring 比较多,有没有了解 Spring 的原理

    2024年03月23日
    浏览(45)
  • Python初学者必会的11道测试题,含代码!!

    一个学妹问我的11道python题,我就顺手拿来做了下,发现有些题目还是很有意思的。 1 随机生成一个在[5,10]区间内的整数n,分别输出如下图所示的n行有规律字符图。 【提示】 (I)随机数生成需要导入random库后调用randint(a,b)函数; (2)利用序列range()函数,获得字母编码值,调用

    2024年02月07日
    浏览(60)
  • 【C++ Boost】一个最基本的异步boost async tcp 服务/客户端代码的深刻解析,一文解决所有接口的用法以及一些容易出错的点

    1.官网链接 https://www.boost.org/doc/libs/1_80_0/doc/html/boost_asio.html 本文代码是以官方实例代码做的一些优化 2.平台选择      Boost 最令人惊艳的地方有两个:一是支持跨平台,即windows和linux下的接口代码都是一样的;二是支持异步操作,即可以让read和write操作不阻塞。      因此

    2024年02月06日
    浏览(59)
  • 从菜鸟到大师:编程必须遵循的三个基本原则

    在软件开发的世界里,虽然技术日新月异,但有些原则是经久不衰的。就像建房子需要坚实的地基,软件开发也有其基础原则。它们像是指南针,帮助开发者在变化莫测的技术海洋中保持方向。接下来,我们就来聊聊这三个基本原则:DRY、KISS和YAGNI。 想象一下,你你在家自己

    2024年02月03日
    浏览(37)
  • [WinForm开源]原神混池模拟器-蒙德篇:软件的基本介绍、使用方法、常见问题解决与代码开源

    首先先和各位旅行者道个歉,混池都过去这么久了才把软件开发好并发布出来 _ 创作目的: 为给各位旅行者(当然包括我自己)估测混池抽取的出货率以及让各位旅行者可以过手瘾,故开发了此项目作为参考。 创作说明: 该软件的一切结果仅可作为参考,并非游戏内所得结

    2024年04月08日
    浏览(97)
  • C语言初学者必学必会的C语言必背100代码

    对于C语言这门计算机语言,算是老生常谈了,现在就由我来给大家分享几个关于C语言的几个代码吧!(如果有错的地方还望见谅) 1.入门级别hello,world #includestdio.h int main() { printf(\\\"Hello,world!n\\\"); return 0; } 2.求素数 #include stdio.h #include math.h int isprime( int n) //n是否是素数 { int i,k=s

    2024年02月08日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包