C语言编程入门练习题

(1)判断是否为回文数

在终端输入一个五位数,判断这个数是否是回文数
回文数:12321 12421 12521
编程思路:个位=万位 十位=千位

源代码:

#include<stdio.h>
int main(int argc, const char *argv[])
{
        int a,gw,sw,qw,ww;
        printf("请输入一个五位数:");
        scanf("%d",&a);
        getchar();
        if(a>9999 && a<100000)
        {
                gw=(((a%10000)%1000)%100)%10;
                sw=(((a%10000)%1000)%100)/10;
                qw=(a%10000)/1000;
                ww=a/10000;
                if(gw == ww && sw == qw)
                {
                        printf("%d是回文数",a);
                }
                else
                {
                        printf("%d不是回文数",a);
                }
        }
        else
        {
                printf("输入错误\n");
        }
}
 

(2)字符转换

在终端输入一个字符,完成大小字母转换,以及字符转换为数字
输入a’===>在终端打印出A
输入‘A’===>在终端打印出'a'
输入3’===>在终端打印出数宁3
考点:用到asci码

源代码:

#include<stdio.h>
int main(int argc, const char *argv[])
{
        char zf;
        printf("请输入一个字符:");
        scanf("%c",&zf);
        getchar();
        if(zf >= 'a' && zf <= 'z')
        {
                printf("%c\n",zf-32);
        }
        else if(zf >= 'A' && zf <= 'Z')
        {
                printf("%c\n",zf+32);
        }
        else if(zf >= '0' && zf <= '9')
        {
                printf("%c\n",zf);
        }
        else
                printf("输入错误\n");
}

(2)成绩判断

•从終端输入一个学生成绩,范国0-100,要求使用switch-case进行编写
。成绩大于等于90分,则输出优
。成绩大于等于80分,则输出良
。成绩大于等于60分,则输出及格
。其他成绩,均输出不及格

源代码:

#include<stdio.h>
int main(int arc, const char *argv[])
{
        float cj;
        int a;
        printf("请输入学生成绩:");
        scanf("%f",&cj);
        getchar();
        a=cj/10;
        switch(a)
        {
                case 10:
                case 9:
                        printf("优\n");
                        break;
                case 8:
                case 7:
                        printf("良\n");
                        break;
                case 6:
                        printf("及格\n");
                        break;
                default:
                        printf("不及格\n");
        }
}

(3)终端任意输入三条边,判断三条边组成的普通三角形?等边三角形?等腰三角形?

源代码:

#include<stdio.h>
#include<string.h>
int main(int argc, const char *argv[])
{
	int a,b,c;
	printf("请输入三角形的三条边:");
	scanf("%d %d %d",&a,&b,&c);
	getchar();
	if (a==b && b==c)
	{
		printf("这三条边组成等边三角形\n");
	}
	else if(a+b>c && b+c>a && c+a>b)
	{
		if(a==b || b==c || c==a)
		{
			printf("这三条边组成等腰三角形\n");
		}
		else
		{			
			printf("这三条边组成普通三角形\n");
		}
	}
	else
	{
	printf("输入的这三条边不能组成三角形\n");
	}
	return 0;
}

(4)使用for循环实现1+2+3+...+100的和

源代码:

#include<stdio.h>
#include<string.h>
int main(int argc, const char *argv[])
{
	int i=0;
	int sum=0;
	for(i=0;i<=100;i++){
		sum = sum + i;
	}
	printf("sum = %d\n",sum);
	return 0;
}

(5)输出【1,100】范围内的所有偶数

源代码:

#include<stdio.h>
#include<string.h>
int main(int argc, const char *argv[])
{
	int i=1;
	for(i=1;i<=100;i++){
		if(i%2==0)
		{
			printf("%d\n",i);
		}
	}
	return 0;
}

(6)请输入一个数字,输出这个数的所有因子

因子:能够被输入的这个数整除

如输入12

则输出1 2 3 4 6 12

源代码:

#include<stdio.h>
#include<string.h>
int main(int argc, const char *argv[])
{
	int i=1;
	int num;
	printf("请输入一个数值:");
	scanf("%d",&num);
	for(;i<=num;i++){
		if(num % i == 0)
		{
			printf("%d\t",i);
		}
	}
	printf("\n");
	return 0;
}

(7)判断输入的年份是否是闰年,是,打印是,不是,打印不是

#include<stdio.h>
#include<string.h>
int main(int argc, const char *argv[])
{
	int year;       //闰年:能被4整除且不能被100整除,或者能被400整除;否则为平年
	printf("请输入年份:");
	scanf("%d",&year);
	if((year%4==0 && year%100!=0) ||year%400==0)
	{
		printf("是\n");
	}
	else
	{
		printf("不是\n");
	}
	return 0;
}

(8)终端输入一个日期,判断是今年的第几天(需要计算闰年、平年)

#include<stdio.h>
#include<string.h>
int main(int argc, const char *argv[])
{
	int year,month,day;	
	int er=28;
	int sum=0;
	printf("请输入日期:");
	scanf("%d-%d-%d",&year,&month,&day);
	if((year%4==0 && year%100!=0) ||year%400==0)
	{
		er=29;
	}
	switch(month)
	{
	
		case 12:sum+=30;
		case 11:sum+=31;
		case 10:sum+=30;
		case 9:sum+=31;
		case 8:sum+=31;
		case 7:sum+=30;
		case 6:sum+=31;//2025.3.1
		case 5:sum+=30;
		case 4:sum+=31;
		case 3:sum+=er;//28
		case 2:sum+=31;//31  
		case 1:sum+=day;
	}
	printf("输入的这个日期是%d年的第%d天\n",year,sum);
	return 0;
}

(9)打印九九乘法表

#include<stdio.h>
#include<string.h>
int main(int argc, const char *argv[])
{
	int i,j;
	int sum=0;
	for(j=1;j<=9;j++)
	{
		for(i=1;i<=j;i++)
		{
			printf("%d*%d=%d\t",i,j,i*j);
		}
		putchar(10);
	}
	return 0;
}

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值