首页 > 编程知识 正文

c语言块语句,c语言程序基本模块

时间:2023-05-03 09:39:14 阅读:184281 作者:1980

一、pcdxlc范围内的闰年 #include<stdio.h>main(){int i;for ( i = 0; i <= 5000; i++){if ((i%4==0 && i%100!=0) || i%40==0)printf("%dn",i); }return 0;}

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

非整百年:能被4整除的为闰年。(如2004年就是闰年,2100年不是闰年)整百年:能被400整除的是闰年。(如2000年是闰年,1900年不是闰年) 二、把一个三位的数字,输出它的个位数,十位数、百位数。

代码如下:

#include<stdio.h>#include<math.h> main(){int a,b,c,m;m=321;a=m%10;//个位b=(m/10)%10;//十位c=m/100;//百位printf("%d%d%dn",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<stdio.h>#include<math.h>main(){float x,y;scanf("%f",&x);if(x>=0)if(x<=50)y=x;elsey=pow(x,2);elsey=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<stdio.h>#include<math.h>main(){float x,y;scanf("%f",&x);y=x;if(x>=0){if(x>50)y=x*x;}elsey=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<stdio.h>#include<math.h>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<stdio.h>#include<math.h>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("%dn%dn",b,c);} 2)switch嵌套 if...else #include<stdio.h>#include<math.h> int main(){float a,b;char c;scanf("%f%c%f",&a,&c,&b);switch(c){case '+':printf("%fn",a+b);break;case '-':printf("%fn",a-b);break;case '*':printf("%fn",a*b);break;case '/':if(b==0)printf("错误,b不能为零");elseprintf("%fn",a/b);break;default:printf("哈哈");}return 0;} 当输入 17*2(回车)时,输出34.0000 当输入17/0(回车)时。输出提示 错误,b不能为零 七、选择结构,输入一个字符,判断是数字、小写字母、大写字母、还是其他字符

代码如下

#include<stdio.h>#include<math.h> int main(){char a;a=getchar();if(a>='0'&&a<='9') //因为输入的是字符,所以需要把数字用引号引起来printf("数字%cn",a);else if(a>='A'&&a<='Z')printf("大写字母%Cn",a);else if(a>='a'&&a<='z')printf("小写字母%Cn",a);elseprintf("其他字符%Cn",a);} 八、输入三个数,比较大小,输出最大和最小数。

代码块:

#include<stdio.h>#include<math.h> 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)min=c;printf("%d,%dn",max,min);} 九、求一年中的某年某月某日是第几天 1)、第一种写法 #include<stdio.h> 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("%dn",sum);} 十、输出图形*号 #include<stdio.h>#include<math.h>int main(){int i,j,k; for(i=1;i<=8;i++) //行 1 2 3{for(j=8;j>=1;j--)//空 11111111 11111111 11111111printf(" ");for(k=1;k<=2*i-1;k++)//输出*号 1 35printf("*");printf("n");}return 0;}

十一、输入十个数,求最大最小,偶数、奇数个数 代码: #include<stdio.h>#include<math.h>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)min=x;}printf("%dn",max);printf("%dn",min);printf("%dn",odd);printf("%dn",even);}

十二、小写字母变成大写字母 代码 #include<stdio.h>#include<math.h>int main(){char c;scanf(" %c",&c);if(c>='a'&&c<='z')c=c-32;printf(" %cn",c);}

十三、输入四个数,求最大、最小值 最小值代码: #include<stdio.h>#include<math.h>int main(){int i,x,min;for(i=1;i<=4;i++){scanf("%d",&x);if(i==1) { min=x; }if(x<min)min=x;}printf("%dn",min);}

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

最大值代码: #include<stdio.h>#include<math.h>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("%dn",max);} 十四、一维数组:输入一个数,找到它的位置 代码: #include<stdio.h>#include<math.h>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);elseprintf("未找到");}

十五、在一维数组,输入一个数,删除这个数的位置,比如输入4,删除数组中4的位置 代码: #include<stdio.h>#include<math.h>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");}

**可见删除了第四个位置5这个数** 十六、将一位数组左循环移位。移位次数由键盘输入 代码: #include<stdio.h>#include<math.h>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]=2a[7]=t;//a[7]第一次是1;第二次是2}for(i=0;i<=7;i++)printf("%4d ",a[i]);}

十七、以时间为随机数种子的随机数 #include<stdio.h>#include<time.h>#include<stdlib.h>int main(){srand((int)time (0)); //这里也可以写成 srand((int)time (NULL)); printf("%6dn",rand());printf("%6dn",rand());printf("%6dn",rand());return 0;} 判断一个数是否为素数(质数) #include<stdio.h>#include"math.h"#include<stdlib.h>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); elseprintf("%d不是质数",a); }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。