首页 > 代码库 > C函数调用
C函数调用
1 #include<stdio.h> 2 #include<time.h> 3 #include<math.h> 4 #include<stdlib.h> 5 6 int No=-1; //功能选择标志 7 8 void HomePage(); //首页 9 void FunctionSelection(); //功能选择 10 void MultiplicationTable(); //九九乘法表 11 void YanghuiTriangle(); //杨辉三角 12 void IntLeapYear(); //判断闰年 13 void LettersPyramid_1(); //字母金字塔(1) 14 void LettersPyramid_2(); //字母金字塔(2) 15 void GCD_LCM(); //最大公约数最小公倍数 16 void Josephus(); //约瑟夫环 17 void JudgePrime(); //判断素数 18 void NarcissisticNumber(); //水仙花数 19 void PrimeFactors(); //分解质因数 20 void JudgmentDay(); //判断某年某月某日是今年的第几天 21 void Pattern(); //打印棱形图案 22 23 void main() 24 { 25 do{ 26 system("cls"); 27 HomePage(); 28 FunctionSelection(); 29 }while(No!=0); 30 } 31 32 void FunctionSelection() //功能选择 33 { 34 switch(No) 35 { 36 case 1:MultiplicationTable();break; 37 case 2:YanghuiTriangle();break; 38 case 3:IntLeapYear();break; 39 case 4:LettersPyramid_1();break; 40 case 5:LettersPyramid_2();break; 41 case 6:GCD_LCM();break; 42 case 7:Josephus();break; 43 case 8:JudgePrime();break; 44 case 9:NarcissisticNumber();break; 45 case 10:PrimeFactors();break; 46 case 11:JudgmentDay();break; 47 case 12:Pattern();break; 48 } 49 50 } 51 52 void HomePage() //首页 53 { 54 char* str_time=NULL; 55 time_t t; 56 system("cls"); 57 t=time(0); /*获取当前时间*/ 58 str_time=ctime(&t); /*把日期和时间转换为字符串*/ 59 60 printf ("┏ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅┓\n"); 61 printf ("┇请选择您需要的功能: ┇\n"); 62 printf ("┣ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅┫\n"); 63 printf ("┇ 九九乘法表请按 …………………………………………1 ┇\n"); 64 printf ("┇ 杨辉三角请按 ……………………………………………2 ┇\n"); 65 printf ("┇ 判断闰年请按 ……………………………………………3 ┇\n"); 66 printf ("┇ 字母金字塔(1)请按 ……………………………………4 ┇\n"); 67 printf ("┇ 字母金字塔(2)请按 ……………………………………5 ┇\n"); 68 printf ("┇ 最大公约数最小公倍数请按 ……………………………6 ┇\n"); 69 printf ("┇ 约瑟夫环请按 ……………………………………………7 ┇\n"); 70 printf ("┇ 判断素数请按 ……………………………………………8 ┇\n"); 71 printf ("┇ 水仙花数请按 ……………………………………………9 ┇\n"); 72 printf ("┇ 分解质因数请按 …………………………………………10 ┇\n"); 73 printf ("┇ 判断某年某月某日是今年的第几天请按 ………………11 ┇\n"); 74 printf ("┇ 打印棱形图案请按 ………………………………………12 ┇\n"); 75 printf ("┇ 退出_0 ┇\n"); 76 printf ("┗ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅ ┅┛\n"); 77 printf (" %s",str_time); 78 printf ("Please write down the number:"); 79 scanf ("%d",&No); 80 } 81 82 83 84 void MultiplicationTable() //九九乘法表 85 { 86 int i,j; 87 for(i=1;i<10;i++) 88 { 89 for(j=1;j<=i;j++) 90 { 91 printf("%d*%d=%-2d ",j,i,i*j); 92 } 93 printf("\n"); 94 } 95 system("pause"); 96 } 97 98 void YanghuiTriangle() //杨辉三角 99 {100 int n;101 printf("请先定义杨辉三角的深度(3~13最佳):");102 scanf("%d",&n);103 //缺少异常机制104 int a[30][30];105 int i,j,k;106 for(i=0;i<n;i++)107 for(j=0;j<=i;j++)108 {109 if(j==0||i==j) a[i][j]=1; //对两边的1进行赋值110 }111 for(i=2;i<n;i++)112 for(j=1;j<i;j++)113 a[i][j]=a[i-1][j-1]+a[i-1][j]; //数为两肩上的数之和114 115 for(i=0;i<n;i++)116 {117 for(k=0;k<n-i;k++)118 printf(" ");119 for(j=0;j<=i;j++)120 printf("%-3d ",a[i][j]); //输出121 printf("\n");122 }123 system("pause");124 }125 126 127 128 void IntLeapYear() //判断闰年129 {130 int year,leap;131 printf("\n请输入年份:");132 scanf("%d",&year);133 if((year%4==0 && year%100!=0)||(year%400==0))134 leap=1;135 else leap=0;136 if(leap)137 printf("%d is ",year);138 else139 printf("%d is not ",year);140 printf("a leap year.\n\n");141 system("pause");142 }143 144 void LettersPyramid_1() //字母金字塔(1)145 {146 int i,j;147 for(i=0;i<26;i++)148 { 149 for(j=0;j<26-i;j++) printf(" ");150 for(j=i;j>=0;j--) printf("%c",‘A‘+j);151 for(j=1;j<i+1;j++) printf("%c",‘A‘+j);152 putchar(‘\n‘);153 }154 system("pause");155 }156 157 void LettersPyramid_2() //字母金字塔(2)158 {159 int i,j;160 for(i=0;i<26;i++)161 {162 for(j=0;j<25-i;j++) putchar(‘ ‘);163 for(j=0;j<i;j++) putchar(‘A‘+j);164 for(j=i;j>=0;j--) putchar(‘A‘+j);165 putchar(10);166 }167 system("pause");168 }169 170 void GCD_LCM() //最大公约数最小公倍数171 {172 int n,m,nm,t;173 printf("请输入两个数:");174 scanf("%d%d",&n,&m);175 nm=n*m;176 if(m>n)177 {178 t=m;179 m=n;180 n=t;181 }182 while(n%m!=0)183 {184 t=n%m;185 n=m;186 m=t;187 }188 printf("最大公约数:%d,最小公倍数:%d\n",m,nm/m);189 system("pause");190 }191 192 193 194 195 void Josephus() //约瑟夫环196 {197 int m,n,i,j=0,a[100];198 int count1=0,count2=0;199 printf("请输入人数,和退出序数:");200 scanf("%d%d",&n,&m);201 for(i=0;i<n;i++) a[i]=i+1;202 i=0;203 while(count2<n)204 { 205 206 while(a[i]!=0)207 {208 count1++;209 if(count1==m)210 {211 j++;212 printf("第%d个退出序数:%d\n",j,a[i]);213 a[i]=0;214 215 count1=0;216 count2++;217 }218 i++;219 i=i%n; 220 }221 i++;222 i=i%n; 223 }224 system("pause");225 }226 227 228 229 void JudgePrime() //判断素数230 {231 int n,j;232 printf("请输入一个数:");233 scanf("%d",&n);234 for(j=2;j<=sqrt(n);j++)235 {236 if(n%j==0) break;237 }238 if(j>sqrt(n)) printf("%d是素数.\n",n);239 else printf("%d不是素数.\n",n);240 system("pause");241 }242 243 244 void NarcissisticNumber() //水仙花数245 {246 int i,bai,shi,ge;247 printf("水仙花数:\n");248 for(i=100;i<=999;i++)249 {250 bai=i/100;251 shi=i/10-bai*10;252 ge=i%10;253 if(i==bai*bai*bai+shi*shi*shi+ge*ge*ge)254 printf("%d=%d*%d*%d+%d*%d*%d+%d*%d*%d\n\n",i,bai,bai,bai,shi,shi,shi,ge,ge,ge);255 }256 system("pause");257 }258 259 260 261 void PrimeFactors() //分解质因数262 {263 int k,n;264 printf("(分解质因数)请输入一个数:");265 scanf("%d",&n);266 printf("%d=",n);267 for(k=2;k<=n;k++)268 {269 while(n%k==0)270 {271 printf("%d",k);272 if(n!=k) printf("*");273 n=n/k;274 }275 276 }277 printf("\n");278 system("pause");279 }280 281 282 void JudgmentDay() //判断某年某月某日是今年的第几天283 {284 int year,month,day,sum=0;285 printf("(判断某年某月某日是今年的第几天)\n请输入年 月 日:");286 scanf("%d%d%d",&year,&month,&day);287 switch(month)288 {289 case 1:sum=0;break;290 case 2:sum=31;break;291 case 3:sum=59;break;292 case 4:sum=90;break;293 case 5:sum=120;break;294 case 6:sum=151;break;295 case 7:sum=181;break;296 case 8:sum=212;break;297 case 9:sum=243;break;298 case 10:sum=273;break;299 case 11:sum=304;break;300 case 12:sum=335;break;301 }302 sum+=day;303 if(year%4==0&&year%100!=0||year%400==0) sum++;304 printf("\n今天是今年的第%d天.\n\n",sum);305 system("pause");306 }307 308 309 void Pattern() //打印棱形图案310 {311 int i,j,k,l;312 char a[7][7]={‘ ‘};313 for(i=0;i<7;i++)314 {315 j=3;316 k=j-i;317 l=j+i;318 if(i>3)319 {320 k=i-3;321 l=6-k;322 }323 for(j=k;j<=l;j++)324 {325 a[i][j]=‘*‘;326 }327 }328 for(i=0;i<7;i++)329 {330 for(j=0;j<7;j++)331 {332 printf("%c",a[i][j]);333 }334 printf("\n");335 }336 system("pause");337 }
C函数调用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。