1、阅读程序
(1)
作用:打印a的值。分析结果:38。
运行结果:
考察函数传值,不是经典转换ab值不是很认可。
(2)
说什么来什么,不过很没必要省着点空间吧?
作用:打印x、y的值
或者应该是交换x、y的值未果,证明函数传值不修改变量值。
分析结果
3,5
5,3
运行结果
2、上机调试
(1)
错误在第1、第9行,函数返回值为void时,不可赋于float型变量。
#include<stdio.h> float func(float,float);//here int main(void) { float x,y; float z; scanf("%f,%f",&x,&y); z = func(x,y); printf("z = %f\n",z); return 0; } float func(float a,float b)//here { float c; c = a * a + b * b; return c; }
(2)
就没见过这么写的
1、函数调用前需声明;
2、x未声明,且x、y未赋值;
3、就没见过把函数体写在主函数里面的,什么四不像。
不过经典A+B到是充满回忆。
#include<stdio.h> int sum(int,int); int main(void) { int x,y; scanf("%d %d",&x,&y); printf("%d\n",sum(x,y)); return 0; } int sum(int a,int b) { return a + b; }
3、填空题
(1)
()内填i
但是程序缺失太多,填上空显然无法运行
#include<stdio.h> int F(int); int sumFun(int); int main(void) { printf("The sum = %d\n",sumFun(10)); return 0; } int sumFun(int n) { int s = 0; for(int i=0;i<=n;++i) s += F(i); return s; } int F(int x) { return x * x + 1; }
(2)
填空见下代码注释处#include<stdio.h> double max(double,double); //here int main(void) { double x,y; scanf("%lf,%lf",&x,&y); printf("%.8f\n",max(x,y)); return 0; } double max(double a,double b) { return a > b ? a : b ; }
(3)
自改那就肯定要有自己风格了
#include<stdio.h> double func(double x,int y); int main(void) { double x; int y; printf("Enter x and y for z = x ^ y\n"); scanf("%lf %d",&x,&y); printf("%f",func(x,y)); return 0; } double func(double x,int y) { double z = 1; for(int i=1;i<=y;++i) z *= x;//here /* 按题意应该写z = z * x */ return z; }
4、编程题
(1)
此程序适用于1e5以内数,需要改大见注释处
#include<stdio.h>const int N = 1e5 + 10;
int n; int a[N];
void sort(int a[],int,int); double avg(int a[]);
int main(void) { scanf("%d",&n); for(int i=0;i<n;++i) scanf("%d",&a[i]); sort(a,0,n-1); for(int i=0;i<n;++i) { if(i % 10 == 0) printf("\n"); printf("%d ",a[i]); } printf("\nMax:%d\nMin:%d\nAvg:%f",a[0],a[n-1],avg(a)); return 0; }
void sort(int q[], int l, int r) { if (l >= r) return;
int i = l - 1, j = r + 1, x = q[l + r >> 1]; while (i < j) { do i ++ ; while (q[i] < x); do j -- ; while (q[j] > x); if (i < j) { int stp; stp = q[i]; q[i] = q[j]; q[j] = stp; } } sort(q, l, j),sort(q, j + 1, r); }
double avg(int a[]) { double z; for(int i=0;i<n;++i) z += a[i]; return z / n; }
10个
100个
再大就贴不下了
(2)
#include<stdio.h> int add(int,int); int main(void) { int a,b; scanf("%d %d",&a,&b); printf("%d",add(a,b)); } int add(int x,int y) { return x + y; }
(3)
#include<stdio.h> int max(int ,int); int main(void) { int a,b; scanf("%d %d",&a,&b); printf("%d",max(a,b)); return 0; } int max(int x,int y) { if(x > y) return x; else return y; }
标签:12,return,函数,上机,int,double,void,float,include From: https://www.cnblogs.com/zerocloud01/p/17919242.html