函数实现a与b值的交换,请填空 #include <stdio.h> void main() { int a,b; void myfunc(int *pa,int *pb); a=3; b=4; myfunc(,&b); printf("..%d %d\n",a,b); } void myfunc(int *pa,int ) { int t; =*pa; *=*pb; *pb=; }
时间: 2023-08-08 07:04:29 浏览: 161
正确的填空应该是:
```
#include <stdio.h>
void myfunc(int *pa, int *pb);
int main() {
int a, b;
a = 3;
b = 4;
myfunc(&a, &b);
printf("..%d %d\n", a, b);
return 0;
}
void myfunc(int *pa, int *pb) {
int t;
t = *pa;
*pa = *pb;
*pb = t;
}
```
其中,`myfunc` 函数使用指针作为参数,通过指针间接访问 a 和 b 的值,实现了 a 和 b 的交换。在 `main` 函数中,将 a 和 b 的地址传递给 `myfunc` 函数,然后输出交换后的 a 和 b 的值。
相关问题
以下程序求100~200之内的素数。请填空。 #include<math.h> #include<stdio.h> void sushu(int m); void main() { int m; for (m=101;m<=200;m++) —— } void sushu(int m) {int k,i; k=sqrt(m); for(i=2;i<=k;i++) if(i>=k+1) printf("%4d",m); }
以下是填空的代码:
```c
#include <math.h>
#include <stdio.h>
void sushu(int m);
void main() {
int m;
for (m = 101; m <= 200; m++) {
sushu(m);
}
}
void sushu(int m) {
int k, i;
k = sqrt(m);
for (i = 2; i <= k; i++) {
if (m % i == 0) {
break;
}
}
if (i >= k + 1) {
printf("%4d", m);
}
}
```
需要注意的是:
1. 函数`sushu`中的判断条件需要改为判断`m`是否能被`i`整除;
2. 最后的输出语句需要放在判断语句中,只有当`m`是素数时才输出。
C语言程序填空:从键盘输入10个字符,将其全部输出到一个磁盘文件“data.dat"中保存起来#include<stdio.h> #include<conio.h> #include<stdlib.h> void main() { FILE *fp; int num; int i=0; if((fp=fopen("data.dat","w"))==NULL) { printf("打不开文件\n"); exit(0); } while(i<=9) { fprintf(fp,"%d",num); i++; } }
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
void main() {
FILE *fp;
char ch[10];
int i=0;
if((fp=fopen("data.dat","w"))==NULL) {
printf("打不开文件\n");
exit(0);
}
printf("请输入10个字符:\n");
while(i<=9) {
ch[i] = getch();
fprintf(fp,"%c",ch[i]);
i++;
}
fclose(fp);
printf("已将输入的字符保存到文件data.dat中!");
}
注意:程序中使用了 getch() 函数,需要包含 conio.h 头文件。另外,文件操作完成后需要关闭文件,使用 fclose() 函数。
阅读全文