c语言中设置块号代码,C语言代码块

一、求某某范围内的闰年

#include

main()

{

int i;

for ( i = 0; i <= 5000; i++)

{

if ((i%4==0 && i%100!=0) || i%40==0)

printf("%d\n",i);

}

return 0;

}

如图:是求0到5000年内的闰年

4764eceeeae15f205866a277507c129a.png

非整百年:能被4整除的为闰年。(如2004年就是闰年,2100年不是闰年)

整百年:能被400整除的是闰年。(如2000年是闰年,1900年不是闰年)

二、把一个三位的数字,输出它的个位数,十位数、百位数。

代码如下:

#include

#include

main()

{int a,b,c,m;

m=321;

a=m%10;//个位

b=(m/10)%10;//十位

c=m/100;//百位

printf("%d%d%d\n",a,b,c);//输出个、十、百

return 0;

}

三、if 的 嵌套

if(表达式1)//若该条件满足时,执行下一个 if,不满足之直接到最后一个else

if(表达式2)//当条件满足时,执行语句1,不满足执行倒数第二个else

语句 1;

else

语句2;

else

语句3;

注意:C语言中,else总是与它最近的未配对的if配对。

例题:分段函数: {(x<0,y=0 },{0<=x<=50,y=x} , {x>50,y=x*x}

#include

#include

main()

{

float x,y;

scanf("%f",&x);

if(x>=0)

if(x<=50)

y=x;

else

y=pow(x,2);

else

y=0;

printf("%f",y);

return 0;

}

四、在if分支或者else if 分支中内嵌不带else的if语句

语法如下:

语句1;

if(表达式1)

{

if (表达式2)

语句2;

}

else

语句3;

注意:语句1 可以放在第一个if上面,也可以放在语句3下面;

例题:分段函数: {(x<0,y=0 },{0<=x<=50,y=x} , {x>50,y=x*x}

#include

#include

main()

{

float x,y;

scanf("%f",&x);

y=x;

if(x>=0)

{

if(x>50)

y=x*x;

}

else

y=0;

printf("%f",y);

return 0;

}

五、switch语句

语句如下:

switch(表达式)

{

case 常量/字符常量表达式 1:

printf("..."); break ;

case 常量/字符常量表达式2:

printf("..."); break ;

case 常量/字符常量表达式3 :

printf("..."); break ;

default :

printf("..."); break ;

}

return 0 ;

}

注意:case 的表达式只能是常量表达式或者字符常量表达式。

每个case的表达式不可一样,否则会矛盾报错。

例题如下:输入五级制成绩,90~100为A,80~89为B,70~70为C,60~69为D,60分以下为E,否则为“未参加考试”

#include

#include

main()

{

char grade;

grade = getchar();

grade=(grade>='A'&&grade<='Z')?grade : grade — 32; //若是小写字母转换成大写字母

switch(grade)

{

case 'A' : case 'B' : //可以两个 case 在一行,执行一样的语句

printf("90~100"); break;

case 'C' :

printf("80~89"); break;

case 'D' :

printf("70~79"); break;

case 'E' :

printf("60~69"); break;

case 'F' :

printf("<60"); break;

default :

printf ("未参加考试");

}

return 0;

}

六、switch的嵌套

1)switch嵌套switch

#include

#include

main()

{

int a,b=0,c=1;

scanf("%d,%d",&a,&b);

switch(a)

{

case 1:

switch(b)

{

case 2:

b++;

case 4:

c++;

default:

b++;c++;

}

break;

case 3:

b+=2;c+=2;break;

default:

b+=3;c+=3;

}

printf("%d\n%d\n",b,c);

}

2)switch嵌套 if...else

#include

#include

int main()

{

float a,b;

char c;

scanf("%f%c%f",&a,&c,&b);

switch(c)

{

case '+':

printf("%f\n",a+b);break;

case '-':

printf("%f\n",a-b);break;

case '*':

printf("%f\n",a*b);break;

case '/':

if(b==0)

printf("错误,b不能为零");

else

printf("%f\n",a/b);break;

default:

printf("哈哈");

}

return 0;

}

当输入 17*2(回车)时,输出34.0000

当输入17/0(回车)时。输出提示 错误,b不能为零

七、选择结构,输入一个字符,判断是数字、小写字母、大写字母、还是其他字符

代码如下

#include

#include

int main()

{

char a;

a=getchar();

if(a>='0'&&a<='9') //因为输入的是字符,所以需要把数字用引号引起来

printf("数字%c\n",a);

else if(a>='A'&&a<='Z')

printf("大写字母%C\n",a);

else if(a>='a'&&a<='z')

printf("小写字母%C\n",a);

else

printf("其他字符%C\n",a);

}

八、输入三个数,比较大小,输出最大和最小数。

代码块:

#include

#include

int main()

{

int a,b,c,max,min;

scanf("%d,%d,%d",&a,&b,&c);

max=a>b?a:b;

min=a<=b?a:b;

if(c>max)

max=c;

else if(c

min=c;

printf("%d,%d\n",max,min);

}

九、求一年中的某年某月某日是第几天

1)、第一种写法

#include

int main()

{

int day,month,year,sum=0;

scanf("%d.%d.%d",&year,&month,&day);

if(month>1)

sum+=31;

if(month>2)

if((year%4==0&&year%100!=0)||year%400==0)

sum+=29;

else

sum+=28;

if(month>3)

sum+=31;

if(month>4)

sum+=30;

if(month>5)

sum+=31;

if(month>6)

sum+=30;

if(month>7)

sum+=31;

if(month>8)

sum+=31;

if(month>9)

sum+=30;

if(month>10)

sum+=31;

if(month>11)

sum+=30; 写到11月

sum+=day; //12月是自己写的某天加进去

printf("%d\n",sum);

}

十、输出图形*号

#include

#include

int main()

{

int i,j,k;

for(i=1;i<=8;i++) //行 1 2 3

{

for(j=8;j>=1;j--)//空 11111111 11111111 11111111

printf(" ");

for(k=1;k<=2*i-1;k++)//输出*号 1 35

printf("*");

printf("\n");

}

return 0;

}

58934de16e798df60993361878f221c2.png

十一、输入十个数,求最大最小,偶数、奇数个数

代码:

#include

#include

int main()

{

int i,x,odd=0,even=0,max,min;

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

{

scanf("%d",&x);

if(i==1)

{max=x; min=x; }

if(x%2==0)

even+=1;

if(x%2!=0)

odd+=1;

if(x>max)

max=x;

if(x

min=x;

}

printf("%d\n",max);

printf("%d\n",min);

printf("%d\n",odd);

printf("%d\n",even);

}

4c4e99dce54c7de6039b8a3edee60e54.png

十二、小写字母变成大写字母

代码

#include

#include

int main()

{

char c;

scanf(" %c",&c);

if(c>='a'&&c<='z')

c=c-32;

printf(" %c\n",c);

}

052a5228649f14fcf10572294f40d2b5.png

十三、输入四个数,求最大、最小值

最小值代码:

#include

#include

int main()

{

int i,x,min;

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

{

scanf("%d",&x);

if(i==1)

{ min=x; }

if(x

min=x;

}

printf("%d\n",min);

}

————————————————————————————————————

最大值代码:

#include

#include

int main()

{

int i,x,max;

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

{

scanf("%d",&x);

if(i==1) //注意:这里是 等于号

{max=x; }

if(x>max)

max=x;

}

printf("%d\n",max);

}

十四、一维数组:输入一个数,找到它的位置

代码:

#include

#include

int main()

{

int ft,i,x,n,a[15]={1,2,4,5,7,0,8,11,13,15,67,99,100,22,33};

scanf("%d",&x);

for(i=0;i<=14;i++)

{if(a[i]==x)

{ft=1;

n=i;}

}

if(ft==1)

printf("%d找到了,在第%d位置",x,n);

else

printf("未找到");

}

0fc7d8aae99b87b01de9e163af05de72.png

十五、在一维数组,输入一个数,删除这个数的位置,比如输入4,删除数组中4的位置

代码:

#include

#include

int main()

{

int i,del,a[15]={1,2,4,5,7,0,8,11,13,15,67,99,100,22,33};

scanf("%d",&del);

del=del-1;

for(i=del;i<14;i++)

a[i]=a[i+1];

for(i=0;i<=13;i++)

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

printf("\n");

}

44cd381b5945b9f1e0f42f777ff6c100.png

**可见删除了第四个位置5这个数**

十六、将一位数组左循环移位。移位次数由键盘输入

代码:

#include

#include

int main()

{

int a[8]={1,2,3,4,5,6,7,8};

int i,n,t,p;

scanf("%d",&n);

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

{

t=a[0];

for(p=0;p<=6;p++)//若输入的数是2,则

a[p]=a[p+1]; //第一次:a[0]=a[0+1]=2 a[1]=3-----a[6]=8 a[7]=1

//第二次:a[0]=a[0+1]=3 a[1]=4------a[6]=1 a[7]=2

a[7]=t;//a[7]第一次是1;第二次是2

}

for(i=0;i<=7;i++)

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

}

c594173a63513f94fcc46974bf11e58a.png

十七、以时间为随机数种子的随机数

#include

#include

#include

int main()

{

srand((int)time (0)); //这里也可以写成 srand((int)time (NULL));

printf("%6d\n",rand());

printf("%6d\n",rand());

printf("%6d\n",rand());

return 0;

}

判断一个数是否为素数(质数)

#include

#include"math.h"

#include

int main()

{

int a,i,k,z;

scanf("%d",&a);

k=a/2;

for(i=2;i<=k;i++)

if(a%i==0) break;

if(i>k)

printf("%d是质数",a);

else

printf("%d不是质数",a);

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值