1、i = 100;i+) sum = sum + i;sum=%dn, sum);/3.最大公约数/求m,n的最大公约数 int m, n; int i, k;请输入两个数:%d %dm, &n); /三元运算符找较小的那个 k = m =1; i-) /这是公约数 if(m % i = 0) & (n % i =0) printf(最大公约数是%dn, i); break; /跳出for循环 /4.最小公倍数/求m,n的最小公倍数 int max, min; /m,n中较大,较小的那个 int k; /max, 2*max, 3*max, . /也可以交换m,n,保证m小n大 max = m
2、min = m k = max; /从max开始 while(k % min != 0) k += max; /每次倍增最小公倍数是%dn, k);/5.金字塔/金字塔 /外层 int j; /内层i=10; /当前是在第i行 /先补空格10-i个 for(j=1;j=10-i;j+) /再打2i-1个*=2*i-1;*/6.九九乘法表/打印九九乘法表 int i,j;=9;i+) /外层一定是9行 j=i; j+) /内层第几行走几遍%d*%d=%d , i, j, i*j);/7.百钱买百鸡/*百钱买百鸡,类似1,2,5凑100银币问题*/int main2()/公鸡,母鸡个数 for(i
3、=0; i=20; i+) /公鸡 for(j=0;=33; j+) /母鸡 if( (15*i + 9*j + (100-i-j) = 300) printf(公鸡%d,母鸡%d,小鸡%dn, i, j, 100-i-j); /1,2,5凑100银币问题int main3() int count = 0; /情况数/5分个数,2分个数 i+) /5分个数=50; j+) /2分个数 if( ( 5*i + 2*j ) max) /比最大值还大 max = ai; /你才是最大 if(ai max) max = aij; if(aij aj+1) tmp = aj; aj = aj+1; aj
4、+1 = tmp; %d , ai);/12.结构冒泡排序/结构定义,用户自定义类型typedef struct student char sno20; /学号 char name20; /姓名 int age; /年龄 char gender; /性别 char tel20; /电话; struct student tmp; /两两交换临时用; /结构数组 struct student team5;5;请输入第%d个队员的信息:, i+1); scanf(%s %s %d %c %s, teami.sno, teami.name, &teami.age, &teami.gender, tea
5、mi.tel); /按年龄冒泡排序5-i-1; /两两交换 if(teamj.age teamj+1.age) tmp = teamj; teamj = teamj+1; teamj+1 = tmp; /取值%-12s %-10s %-5s %-5s %-15sn, 学号姓名年龄性别电话%-12s %-10s %-5d %-5c %-15sn, teami.sno, teami.name, teami.age, teami.gender, teami.tel);/13.结构数组找年龄最大值 /找最大临时用for(i=0; /找学号最大的那一个 tmp = team0; if(strcmp(te
6、ami.sno,tmp.sno) 0 ) tmp = teami;学号最大的队员如下:, tmp.sno, tmp.name, tmp.age, tmp.gender, tmp.tel);/14.文件读写stdlib.h/文件读写 struct student * s, * p1; /个数未知 FILE * fp; int i, n = 0; char buf1024;/fgets缓冲区 /打开文件 fp = fopen(e:test.txtr while(fgets(buf, 1024, fp) != NULL) n+; fclose(fp); /指向一个可以存储n个student结构的内存
7、空间 s = (struct student *)malloc(sizeof(struct student) * n); p1 = s; /不要动头位置s的值n; /从文件中读入一行 fscanf(fp, , p1-sno, p1-name, &p1-age, &gender, p1-tel); p1+;%s %s %d %c %snname, p1-age, p1- free(s);/15.输入三角形三边长计算周长和面积#includeint main() double area,perimeter,s,a,b,c;请输入三边长 a b c:%lf%lf%lf,&a,&b,&c); if(a
8、+bc) & (a+cb) & (b+ca) s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c); perimeter=a+b+c;area=%.2f,perimeter=%.2fn,area,perimeter);三边长无法构成三角形。 return 0;/16.输入年份和月份输出对应那一月的天数,要处理闰年#include int year,month; int leap =0;year,&month); if(year %4=0 & year %100 !=0) | year %400 =0) /闰年2月29天 leap=1; switch(month)
9、 case 1: case 3: case 5: case 7: case 8: case 10: case 12:printf(31break; case 4: case 6: case 9: case 11:30 case 2:,28+leap); default:error/17.1,2,5分硬币问题 for(int i=0; i+) /5分 for(int j=0; j+) /2分 if(5*i + 2*j = 100) sum+; else break;%dn/18.100到200所有的素数 int i,j,n; for(i=100;=200; n = i; /内层 for(j=2;
10、=n-1; if(n%j = 0) /不是素数 if(j=n) /没找到%d是素数n, n); else%d不是素数n/19.输入一个数n,计算12+22+32+n2k); i = 1; while(i = k) sum = sum + i * i; i+;sum = %dn/20.指针交换/定义一个方法swap()通过指针交换两个整数 ,并在main()中调用 void swap(int *pa, int *pb) int tmp = *pa; *pa = *pb; *pb = tmp; int a = 3; int b = 5; int *pa = &a; int *pb = &b; swap(pa, pb);a=%d, b=%dn, a, b);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1