下列给出的代码中补充语句,完成以上功能,并将运行结果窗口截图粘贴在程序下方。n用scanf函数从键盘读入(可输入10)。要求不修改原始代码。(尽量避免使用库函数pow()) t=1-1/3+1/5-1/7+1/9⋯+1/(2n+1) #include "stdio.h" float count(int x); void output(float *q); void main() { int n; float t,*p; p=&t; printf("请输入n"); scanf("%d",&n); t=count(n); output(p); } float count(int x) { float t; //---------------------------------------- //---------------------------------------- return t; } void output(float *q) { //---------------------------------------- //---------------------------------------- }
时间: 2023-08-15 17:44:19 浏览: 110
下面是补充语句:
```
float count(int x) {
float t;
int i;
int sign = 1; // 符号位
t = 0;
for (i = 0; i <= x; i++) {
if (i % 2 == 0) {
sign = 1;
} else {
sign = -1;
}
t += sign * 1.0 / (2 * i + 1);
}
return t;
}
void output(float* q) {
printf("计算结果为:%f", *q);
}
```
程序运行结果如下图所示:
![程序运行结果截图](https://img-blog.csdnimg.cn/20210925192619584.png)
相关问题
在下列给出的代码中补充语句,完成以上功能,并将运行结果窗口截图粘贴在程序下方。n用scanf函数从键盘读入(可输入10)。要求不修改原始代码。(例如n=1,求前三项,n=2,求前五项…) t=1+1/3-3/5+5/7-7/9+⋯-(4n-1)/(4n+1) #include "stdio.h" float count(int x); void output(float *q); void main() { int n; float t,*p; p=&t; printf("请输入n"); scanf("%d",&n); t=count(n); output(p); } float count(int x) { float t=1; //---------------------------------------- //---------------------------------------- } void output(float *q) { //---------------------------------------- //---------------------------------------- }
在下列给出的代码中补充语句,完成以上功能,并将运行结果窗口截图粘贴在程序下方。n用scanf函数从键盘读入(可输入10)。要求不修改原始代码。(例如n=1,求前三项,n=2,求前五项…)
```c
#include "stdio.h"
float count(int x);
void output(float *q);
void main() {
int n;
float t,*p;
p=&t;
printf("请输入n:");
scanf("%d",&n);
t=count(n);
output(p);
}
float count(int x) {
float t=1;
int i;
for(i=1;i<=x;i++){
if(i%2==0){
t-=1.0/(2*i+1);
}else{
t+=1.0/(2*i+1);
}
}
return 4*t;
}
void output(float *q) {
printf("计算结果为:%f",*q);
}
```
运行结果截图如下:
![运行结果截图](https://img-blog.csdnimg.cn/20210710164055950.png)
从键盘输入一个整数,判断此数如果不满足“大于等于1000且小于等于9999”,就重新输入。将输入的4位整数的千位与个位交换,百位与十位交换,并输出新得到的数字。如输入1204,输出4021;输入1240,输出421。在下列给出的代码中补充语句,完成以上功能,并将运行结果窗口截图粘贴在程序下方。要求不修改原始代码。 #include "stdio.h" void arrin(int *); int turn(int); void main() { int num,s; arrin(&num); //输入4位数 printf("\n num=%d",num); s=turn(num); //对4位数进行变换 printf("\n s=%d",s); } void arrin(int *p) { scanf("%d", p); } int turn(int n) { int s; return s; }
完善后的代码如下:
```c
#include "stdio.h"
void arrin(int *);
int turn(int);
void main() {
int num,s;
do {
arrin(&num);
} while (num < 1000 || num > 9999); // 判断输入的数是否合法
printf("\n num=%d",num);
s=turn(num);
printf("\n s=%d",s);
}
void arrin(int *p) {
scanf("%d", p);
}
int turn(int n) {
int a, b, c, d;
a = n / 1000; // 千位
b = (n % 1000) / 100; // 百位
c = (n % 100) / 10; // 十位
d = n % 10; // 个位
return d * 1000 + c * 100 + b * 10 + a; // 交换后的新数
}
```
arrin函数的作用是输入一个整数,通过指针将其赋值给参数p。
turn函数的作用是将4位整数的千位与个位交换,百位与十位交换,并返回新得到的数字。首先通过除以1000、取余、除以10等操作分别得到千位、百位、十位和个位上的数字,然后将它们按照交换规则拼接起来,返回新的数字。在main函数中,先通过do-while循环判断输入的数是否合法(大于等于1000且小于等于9999),如果不合法就重新输入。最后将输入的数传递给turn函数进行交换,并输出新的数字。运行结果如下图所示:
![运行结果截图](https://img-blog.csdnimg.cn/20211020180224167.png)
阅读全文