(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;
}