C语言基础习题(一)

//求梯形面积
#include <stdio.h>
void main()
{
    float a,b,h,area;
    printf("please input a,b,h\n");
    scanf("%f,%f,%f",&a,&b,&h);
    area = (a + b)*h/2;
    printf("area = %f\n",area);
}
#include <stdio.h>

//小写转大写
void main()
{
    char ch;
    ch = getchar();
    ch = ch - 32;
    putchar(ch);
}
#include <stdio.h>//大写转小写
void main()
{
    char ch;
    ch = getchar();
    ch = ch + 32;
    putchar(ch);
}
//switch语句
#include <stdio.h>
void main()
{
    char ch;
    ch = getchar();
    switch(ch)
    {
        case 'A':printf("A");break;
        case 'B':printf("B");break;
        default:printf("qita");
    }
}
//while循环
#include <stdio.h>

void main()
{
    int i = 0;
    while(i >= 0 && i <10)
    {
        printf("第%d遍",i++);
    }
}
//do_while
#include <stdio.h>
void main()
{
    int i = 0;
    do{
        printf("第%d遍",i++);
    }while(i>= 0 && i <10);
}
//for
#include <stdio.h>

void main()
{
    for(int i = 0; i< 10;i++){
        printf("第%d遍",i);
    }
}
//星星打印
#include <stdio.h>

void main()
{
    int i,j,k;
    for(i = 0;i < 4;i++)
    {
        for(k = 3;k>i;k--){
            printf(" ");
        }
        for(j = 0;j <= 2*i;j++){
            printf("*");
        }
        printf("\n");
    }
}
//计算
#include <stdio.h>
void main()
{
    int sign = 1;//符号
    double item = 0;
    for(int i = 1;i<10001;i++){
        item = item + sign/(i*1.0);
        sign = -sign;
    }
    printf("结果是%f\n",item);
}

后项与前项有关
#include <stdio.h>

void main()
{
    int i,n;
    int temp;
    long long sum = 0;
    printf("请输入n的值\n");
    scanf("%d",&n);
    for(i = 1;i<=n;i++){
        temp = 1;
        for(int j = 1;j<=i;j++){
            temp *= j;
        }
        sum += temp;
    }
    printf("sum的值为%lld\n",sum);
}
判断一个数是否为素数

#include <stdio.h>
#include <math.h>
void main(){
    int num;
    int temp;
    int prime_flag = 1;
    printf("请输入一个数\n");
    scanf("%d",&num);
    temp = sqrt(num);
    for(int i = 2;i<temp;i++){
        if(num%i == 0){
            prime_flag = 0;
            break;
        }
    }
    if(prime_flag == 0){
        printf("此数不是素数\n");
    }else{
        printf("此数是素数\n");
    }
}
行数列数关系--打印星星
void main()
{
    int i,j,k;
    for(i = 0;i < 4;i++)
    {

        for(k = 3;k>i;k--){
            printf(" ");
        }
        for(j = 0;j <= 2*i;j++){
            printf("*");
        }
        printf("\n");
    }
    for(i = 0;i<3;i++)
    {
        for(k = 0;k<=i;k++)
        {
            printf(" ");
        }
        for(j=5;j>2*i;j--){
            printf("*");
        }
        printf("\n");
    }
}
输入一正整数,求除它是几位数,逆序输出
#include <stdio.h>

void main()
{
    int num,num_cnt;
    printf("请输入一个数字\n");
    scanf("%d",&num);
    do{
        num_cnt++;
        printf("%d",num%10);
        num=num/10;
    }while(num>0);
    printf("\n您输入的是%d位数\n",num_cnt);
}
从键盘输入一行字符的个数。统计这一行字符中英文字母的个数
#include <stdio.h>
void main()
{
    char ch;
    int cnt = 0;
    printf("请输入一串字符");
    do{
        ch = getchar();
        if((ch>='a'&&ch<='z')||(ch >='A'&&ch<='Z')){
            cnt++;
        }
    }while(ch!='\n');
    printf("%d个英文字符",cnt);
}
穷举法
百元买鸡
#include <stdio.h>
void main()
{
    int ji_gong,chicks,ji_mu;
    printf("ji_gong\tji_mu\tchicks\t");
    for(ji_gong = 0;ji_gong < 20;ji_gong++){
        for(ji_mu = 0;ji_mu < 33;ji_mu++){
            chicks = 100 - ji_gong - ji_mu;
            if(5*ji_gong + 3*ji_mu + chicks/3.0==100){
                printf("\n%d\t%d\t%d\t",ji_gong,ji_mu,chicks);
            }
        }
    }
}
#include <stdio.h>
#include <stdlib.h>
//阶乘函数
long fact(int n)
{
    long result = 1;
    int i;
    for(i = 1;i <= n;i++){
        result*=i;
    }
    return result;
}

int main()
{
    int m,n;
    long ret;
    printf("输入m,n\n");
    scanf("%d,%d",&m,&n);
    ret=fact(n)/(fact(m)*fact(n-m));
    printf("jieguo = %ld\n",ret);
    return 0;
}

素数的判断(函数) 

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int Prime(int n)
{
    int i;
    for(i=2;i<=sqrt(n);i++){
        if(n%i == 0){
            return 0;
        }
    }
    return 1;
}
int main()
{
    int i;
    for(i=2;i<=100;i++){
        if(Prime(i) == 1){
            printf("%d是素数\n",i);
        }
        else{
            printf("%d不是素数\n",i);
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值