第一次作业
#include<stdio.h> int main() { float x,y; scanf("%f",&x); if(x==0) { printf("f(0.0) = 0.0"); }else { y=1/x; printf("f(%.1f) = %.1f",x,y); } return 0; }
计算机18秋_分支结构
7-4 计算分段函数[1]
设计思路:
第一步:定义小数变量x,y
第二步:输入x
第三步:用if,else语句来判断函数表达式
第四步:得出结果
#include<stdio.h> int main() { float x,y; scanf("%f",&x); if(x=0) { printf("f(0.0) = 0.0"); }else { y=1/x; printf("f(%.1f) = %.1f",x,y); } return 0; }
问题:if的表达式用等号时需使用==才行。
#include<stdio.h> int main() { int x,sum; sum=0; scanf("%d",&x); do { if(x%2==1) { sum=sum+x; } scanf("%d",&x); }while(x>0); printf("%d\n",sum); return 0; }
计算机18秋_循环1
7-4 求奇数和
设计思路:
第一步:定义整型变量总和sum和正整数x
第二步:在x>0的前提下,运用do while循环
第三步:用if语句判断奇数,并写出sum的表达式
第四步:输出总和sum
#include<stdio.h> int main() { int x,sum; sum=0; do { if(x%2==1) { sum=sum+x; } scanf("%d",&x); }while(x>0); printf("%d\n",sum); return 0; }
问题:x的值不是输入x的值。
解决:询问助教,do while语句中需要scanf俩次。
#include<stdio.h> #include<math.h> intmain() { intn; scanf("%d",&n); inti,low=1,high; low=pow(10,n-1); high=pow(10,n); for(i=low;i<high;i++) { intsum=0; int t; t=i; do{ intr; r=t%10; t=t/10; r=pow(r,n); sum=sum+r; }while(t>0); if(sum==i) { printf("%d\n",i); } } return0; }
计算机18秋-循环2
7-2 水仙花数
设计思路:
第一步:输入n,i=low=1;low=10^(n-1),high=10^n;
第二步:使用for语句,输入sum=0,t;
第三步:在for语句中加入do while语句和if语句使sum=i;
第四步:输出i
#include<stdio.h> #include<math.h> int main() { int N; scanf("%d",&N); int x=0; for(x=pow(10,N-1);x<(pow(10,N));x++) { int b=x; int sum=0,a=0,i; for(i=1;i<=N;i++) { a=b%10; b=b/10; sum=sum+pow(a,N); } if(sum==x) { printf("%d\n",x); } } return 0;
问题:运行超时
解决问题:查询百度
总结:这几周的主要内容为函数,遇到的问题:运行超时,if语句中等号要==,while语句中要用scanf两次
点评【苏欣】的博客:苏欣同学对自己的错误认识很深刻。
点评【苏末然】的博客:苏末然同学的博客条理清晰,非常有目的性,将老师要求的任务完成的十分完美,还认真的点评其他同学的博客,将其存在的问题找出来。
点评【佟雨轩】的博客:佟雨轩同学的博客中对自己近几周的学习总结非常仔细,将自己的不足分析的很详细。
邀请苏末然,苏欣,孙凯点评我的作业