3 1 include stdio h void main int
- Slides: 18
3. 1 读程序写结果 #include <stdio. h> void main() { int x=2; while (x--) ; printf(“%dn”, x); } -1 1
3. 9 利用公式求π值 • • • • #define n 10000 #include <stdio. h> main() { int i; double x, y; i=1; x=0; do { y=1/(double)(4*i-3)-1/(double)(4*i-1); x=x+y; i++; }while(i<=n); printf("PI/4=%f", x); } 2
3. 11 求sn=a+aa+aaa+…, 其中a为一个数字,n为项数键盘 输入 void main() { int a, n, count=1; long int sn=0, tn=0; printf("please input a and nn"); scanf("%d, %d", &a, &n); printf("a=%d, n=%dn", a, n); while(count<=n) { tn=tn+a; sn=sn+tn; a=a*10; ++count; } printf("a+aa+. . . =%ldn", sn); } 4
3. 12 求分数序列前20项和 2/1,3/2,5/3, 8/5… • • • • • #include<stdio. h> #include<math. h> void main() { int t 1, t 2, tt, i; float s; t 1=2; t 2=1; s=0; i=1; while(i<=20) { s+=(float)t 1/t 2; tt=t 1+t 2; t 2=t 1; t 1=tt; i++; } printf("%f", s); } 5
3. 13 求2~999之间的同构数:同构 数是指它出现在它的平方的右侧。 • • • • • #include <stdio. h> void main() { int i, t, b=10; for(i=2; i<999; i++) { t=i; t=t/10; while(t!=0) { b=b*10; t=t/10; } if(((i*i-i)%b==0)&&((i*i-i)/b!=0)) printf("%d*%d=%dn", i, i, i*i); b=10; } } 6
求同构数 –变形 • #include <stdio. h> • void main() • { • int i, t, b=10; • for(i=2; i<999; i++) • { • t=i; • while( t=t/10) • { • b=b*10; • } • if(((i*i-i)%b==0)&&((i*i-i)/b!=0)) • printf("%d*%d=%dn", i, i, i*i); • b=10; • } 7
4. 6 字符数组输出 #include <stdio. h> void main() { char i, s[][5]={“abc”, ”defgh”, ”ijk”, ”xyz”}; for (i=1; i<3; i++) printf(“%sn”, s[i]); } 8
从键盘输入 10个学生的成绩, 由高到低输出 #include <stdio. h> void main() { int a[11]; int i, j, t; printf(“Input 10 student’s score: n”); for(i=1; i<=10; i++) scanf(“%d”, &a[i]); for(i=1; i<=9; i++) for(j=i+1; j<=10; j++) if(a[i]<a[j]) { t=a[i]; a[i]=a[j]; a[j]=t; } printf(“The sorted scores: n”) for(i=1; i<=10; i++) printf(“%5 d”, a[i]); } 9
5. 6用函数实现判断一个水仙花数 • • • • • #include <stdio. h> int fun(int x); void main() { int i; for(i=100; i<1000; i++) if(fun(i)) /* (fun(i)==1) printf("%dn", i); } int fun(int x) { int a, b, c; a=x/100; b=(x/10)%10; c=x%10; if(x==a*a*a+b*b*b+c*c*c) return 1; else return 0; } */ 10
5. 9函数实现判断该日是本年的那一天(方法二) #include <stdio. h> void main() { int day, month, year, sum, leap; printf(“nplease input year, month, dayn”); scanf(“%d, %d”, &year, &month, &day); switch(month) /*先计算某月以前月份的总天数*/ { case 1: sum=0; break; case 2: sum=31; break; case 3: sum=59; break; case 4: sum=90; break; case 5: sum=120; break; case 6: sum=151; break; case 7: sum=181; break; case 8: sum=212; break; case 9: sum=243; break; case 10: sum=273; break; case 11: sum=304; break; case 12: sum=334; break; default: printf(“data error”); break; } sum=sum+day; /*再加上某天的天数*/ if(year%400==0||(year%4==0&&year%100!=0)) /*判断是不是闰年*/ leap=1; else leap=0; if(leap==1&&month>2) /*如果是闰年且月份大于2, 总天数应该加一天*/ sum++; printf("It is the %dth day. ", sum); } 13
十进制整数转换成二进制 • • • • • #include <stdio. h> #include <math. h> void convert(int s) { int arr[16]; int i=15, j, m; while(s!=0) { m=s%2; s/=2; arr[i]=m; i--; } printf("转换为二进制后的输出为: "); for(j=i+1; j<=15; j++) printf("%d", arr[j]); printf("n"); } 14
函数调用练习 #include <stdio. h> void hello_world(void) { printf("Hello, world!n"); } void three_hellos(void) { int counter; for (counter = 1; counter <= 3; counter++) hello_world(); /*调用此函数*/ } void main(void) { three_hellos(); /*调用此函数*/ } 16
- Int main
- #include stdio.h int main(void)
- #include stdio.h void main()
- Include stdio.h
- #include stdio.h #include stdlib.h int main()
- Public void drawsquare(int x, int y, int len)
- Int sum(int a int n) int sum=0 i
- #include stdio.h void main()
- #include stdio.h void main()
- #include stdio.h void main()
- #include stdio.h void main()
- #include stdio.h void main()
- Num=printf( 2 )