part2:
#include <stdio.h> #include <stdlib.h> int main() { int number, max, min, n; n=1; printf("输入第%d个数: ", n); scanf("%d", &number); max = number; min = number; while(n<5) { n++; printf("输入第%d个数: ", n); scanf("%d", &number); if(number>=max) max = number; else if(number<=min) min = number; } printf("最大数为: %d\n", max); printf("最小数为: %d\n", min); system("pause"); return 0; }
part:3
#include<stdio.h> #include<math.h> int isprime(int n); int main() { int i,sum; sum=0; for(i=101;i<=200;i+=2) { if(isprime(i)) {sum+=1; printf("%5d",i);} } printf("\n101~200之间共有%d个素数",sum); return 0; } int isprime(int n) { int k; for(k=2;k<=sqrt(n);k++) if(n%k==0) return 0; return 1; }
#include<stdio.h> #include<stdlib.h> #include<conio.h> void fun(long s,long *t) {int d; long s1=1; *t=0; while(s>0) {d=s%10; if(d%2!=0) {*t=d*s1+*t;s1*=10;} s/=10; } } int main() { long s,t; system("CLS"); printf("\nplease enter a number:"); scanf("%ld",&s); fun(s,&t); printf("new number is:%ld\n",t); return 0; }
#include<stdio.h> int main() { int n,a; printf("Enter n and a:"); scanf("%d%d",&n,&a); int i=0; double s=0; for(int j=1;j<=n;j++) { i=i*10+a; s=s+(double)j/(double)i; } printf("s=%lf\n",s); return 0; }
***选做***如果要实现多组数据的输入和输出,在头文件里添加#include<stdlib.h>,在结束前加入system(“pause”);
实验结论:1.自己对语句循环体的理解不够,脱离了书本感觉就一片空白,需要加强对程序的认知和对循环结构的理解和应用,我会在空余时间多加练习;
2.自己能用语言和文字表达的结构和算法,不能用c语言语句表达,欠缺对c语言语法规则的理解和应用,光想是不够的,必须应用到实践;
3.对于用到除法的算法,要注意对数据类型的控制,不要因为这一失误导致错误;
4.对要实现的程序算法剖析拆解,分步代入,还要注意表达式的特点,例如aaaa不是a^4而是(1000+100+10+1)*a,这也是要注意的。