3 1 include stdio h void main int

  • Slides: 18
Download presentation
3. 1 读程序写结果 #include <stdio. h> void main() { int x=2; while (x--) ;

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()

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

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>

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()

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,

求同构数 –变形 • #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”,

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,

从键盘输入 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

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;

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

十进制整数转换成二进制 • • • • • #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

函数调用练习 #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