C语言题目

国王的许诺

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

int main()
{
    int n;//计数
    double term=1;//term赋初值为1
    double sum =0;//sum赋初值为0
    for(n=1;n<=63;n++)//先判断后执行
    {
        term*=2;//后项总是前项的2倍计算累加项
        sum+=term;//进行累加运算
    }
    printf("sum=%e",sum)//e为指数形式
}

编写一个程序,从键盘输入某个雇员的每周工作时间(以小时计)(wh)和每小时的工资数(wage),计算并输出他的周工资。若雇员每周工作小时超过40小时,则超过部分按原工资的1.5倍加班工资来计算。若雇员每周工作小时超过50小时,则超过部分按原工资的3倍的加班工资来计算。(用ifelse if 语句)

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

int main()
{
    int wh;
    int wage;
    int bonus;

    printf("工作时间(wh):");
    scanf("%d",&wh);
    printf("每小时的工资数(wage):");
    scanf("%d",&wage);

    if(wh>40&&wh<=50)
    {
        bonus=(wh-40)*wage*1.5;
        wage=wh*wage;
        wage+=bonus;
        printf("该员工的工资是%d",wage);
    }
    else if(wh>50)
    {
        bonus=(wh-50)*wage*3;
        wage=wh*wage;
        wage+=bonus;
        printf("该员工的工资是%d",wage);

    }
    else
    {
        wage*=wh;
        printf("该员工的工资是%d",wage);

    }

}

下面程序的功能为求主、次对角线元素之和

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

int main()
{
    static int a[ ][3]= {9,7,5,3,1,2,4,6,8};
    int i,j,s1=0,s2=0;
     for(i=0;i<3;i++)
    {
        for(j=0;j<3;j++)
        {
            if(i==j)
            {
                s1=s1+a[i][j];
            }
            if(i==0&&j==2||i==2&&j==0||i==1&&j==1)
            {
                s2=s2+a[i][j];
            }
        }

    }
    printf("%d\n%d\n",s1,s2);
    return 0;

}

用起泡法对10个整数排序,要求10个整数用scanf函数输入。

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

int main ( )
{
    int a[10];
    int i,j;
    int temp;
    printf("请输入10个数字\n");
    for(i=0; i<10; i++)//循环10次键盘读入
    {
        scanf("%d",&a[i]);
    }
    for(j=0; j<=9; j++)//一个数走一轮
    {
        for(i=0; i<9-j; i++)//循环两两比较
        {
            if(a[i]>a[i+1])
            {
                temp=a[i];
                a[i]=a[i+1];
                a[i+1]=temp;
            }
        }
    }
    for(i=0; i<=9; i++)//输出排序之后的数字
    {
        printf("%d,",a[i]);
    }

}

统计大小写字母、空格、数字和其它字符的个数

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

int main()
{
    char ch;
    int capletter=0,lowletter=0,sz=0,space=0,other=0;//计数用的
    while((ch=getchar())!='\n')//使得程序不退出
    {
        if(ch>='A'&&ch<='Z')
        {
            capletter++;
        }
        else if(ch>='a'&&ch<='z')
        {
            lowletter++;
        }
        else if(ch>='0'&&ch<='9')
        {
            sz++;
        }
        else if(ch==' ')
        {
            space++;
        }
        else
        {
            other++;
        }
    }
    printf("大写字母:%d 小写字母:%d 数字:%d 空格:%d 其他:%d",capletter,lowletter,sz,space,other);
    return 0;
}

输入10个数字,找出最大值

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

int main()
{
    int a[10],i,max;
    printf("请输入10个数字:\n");
    for(i=0; i<=9; i++)
    {
        scanf("%d",&a[i]);
    }
    max=a[0];
    for(i=1; i<10; i++)
    {
        if(a[i+1]>max)
        {
            max=a[i+1];
        }
    }
            printf("max=%d\n",a[i]);

    return 0;
}

打印斐波那契数列

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

int main()
{
    int a[20]= {1,1},i;
    for(i=2; i<20; i++)
    {
        a[i]=a[i-2]+a[i-1];
    }
    for(i=0; i<20; i++)
    {
        if(i%5==0)
        {
            printf("\n");

        }
        printf("%12d",a[i]);
    }
}

逆序输出5位数

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

int main()
{
    int n;
    printf("请输入一个数字n:");
    scanf("%d",&n);
    int a=n/10000;//万位
    int b=n%10000/1000;//千
    int c=n%1000/100;//百
    int d=n%100/10;//十
    int e=n%10;//个

    if(n<10)//1位
    {
        printf("%d",e);
    }
    else if(n>=10&&n<100)
    {
        printf("%d%d",e,d);
    }
    else if(n>=100&&n<1000)
    {
        printf("%d%d%d",e,d,c);
    }
    else if(n>=1000&&n<10000) //4位
    {
        printf("%d%d%d%d",e,d,c,b);
    }
    else
    {
        printf("%d%d%d%d%d",e,d,c,b,a);
    }

}

使用递归函数实现n!

#include <stdio.h>
#include <stdlib.h>
int func(int a);//定义一个递归函数
int main()
{
    int t,n;//t用来接收func函数的返回值
    printf("please input a n:");
    scanf("%d",&n);
    t=func(n);//函数调用
    printf("%d!=%d\n",n,t);

}
int func(int a)
{
    int s;//s用来存储阶乘的值
    if(a==0||a==1)
    {
        s=1;
    }
    else if(a<0)
    {
        exit(1);//异常退出
    }
    else
    {
        s=a*func(a-1);//函数再一次调用自己

    }
    return(s);//返回值为s,返给main中的t
}

鸡兔同笼

#include<stdio.h>
int main()
{
  int j,t,head,foot;//假设j只鸡,t只兔子,head表示头的数量,foot表示腿的数量.
  head=100;//头
  foot=240;//脚
  t=(foot-2*head)/2;//假设全部都是鸡,但是最后肯定是缺少腿,用一只兔子换一只鸡,一次多两条腿,可以知道换多少次兔子,也就得出兔子的数量.
  j=head-t;//鸡的数量=总的数量-兔子的数量
  printf("鸡的数量是%d 兔子的数量是%d",j,t);
  return 0;

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

int main()
{
    int j,t;
    for(j=0; j<=16; j++)//想想小学的时候老师教我们的画表格法
    {
        t=16-j;
        if(2*j+4*t==40&&j+t==16)//脚和头满足的条件
        {
            printf("鸡的数量%d 兔子的数量%d",j,t);
        }

    }

}
int main()
{
    int a,b,n,m;//a为兔子,b为鸡
    printf("n为头: \n");
    scanf("%d" ,&n);
    printf("m为脚: \n");
    scanf("%d" ,&m);
    a = (4*n-m)/2;
    b = n-a;

    printf("%d ,%d",a,b);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值