给出十个整数,输出这十个数的和,用指针来实现。 输入样例: 1 2 3 4 5 6 7 8 9 10 输出样例: 55
时间: 2023-03-27 17:05:15 浏览: 76
可以回答这个问题。以下是代码实现:
#include <stdio.h>
int main() {
int nums[10];
int sum = ;
int *p = nums;
// 输入十个整数
for (int i = ; i < 10; i++) {
scanf("%d", p++);
}
// 计算和
p = nums;
for (int i = ; i < 10; i++) {
sum += *p++;
}
// 输出结果
printf("%d", sum);
return ;
}
相关问题
用指针:题目内容:从键盘输入两个整数x和y,求这两个数中的较小值。 输入格式: 输出格式: 输入样例:3 5 输出样例:3
以下是使用指针实现此功能的 C 语言程序:
```c
#include <stdio.h>
int main() {
int x, y;
scanf("%d %d", &x, &y);
int *ptr_x = &x;
int *ptr_y = &y;
if (*ptr_x < *ptr_y) {
printf("%d\n", *ptr_x);
} else {
printf("%d\n", *ptr_y);
}
return 0;
}
```
程序首先使用 `scanf` 函数从键盘输入两个整数 `x` 和 `y`,然后定义两个指针变量 `ptr_x` 和 `ptr_y`,并将它们分别指向变量 `x` 和 `y`。
接着,使用条件语句 `if` 判断 `x` 和 `y` 的大小关系,如果 `x` 小于 `y`,则输出 `x` 的值,否则输出 `y` 的值。
最后,使用 `printf` 函数输出较小值,并在末尾加上换行符 `\n`。
注意,在输出较小值时,需要使用 `*` 运算符取得指针所指向的值,即 `printf("%d\n", *ptr_x);` 或 `printf("%d\n", *ptr_y);`。
当输入样例为 `3 5` 时,程序将输出 `3`。
编程读入若干整数(不超过50个)到数组中,然后倒序输出,遍历数组时用指针实现。 输入样例: 1 5 25 18 -299 输出样例: -299 18 25 5 1用C语言
以下是实现该功能的C代码:
```c
#include <stdio.h>
int main() {
int nums[50];
int n = 0;
int *p;
// 读入整数到数组中
while (scanf("%d", &nums[n]) == 1) {
n++;
if (n >= 50) {
break;
}
}
// 倒序输出数组
printf("倒序输出数组:\n");
for (p = nums + n - 1; p >= nums; p--) {
printf("%d ", *p);
}
printf("\n");
return 0;
}
```
首先定义一个长度为50的整型数组 `nums` 和一个整数变量 `n`,用来记录读入的整数个数。
然后使用 `scanf` 函数循环读入整数,每读入一个整数就将 `n` 加1。如果读入的整数个数超过50,则退出循环。
接下来使用指针 `p` 遍历数组,从最后一个元素开始遍历,依次输出数组中的元素。
需要注意的是,指针的初始值应该是 `nums + n - 1`,也就是指向数组最后一个元素的地址。因为数组下标从0开始,所以最后一个元素的下标为 `n - 1`。指针 `p` 每次循环时应该减1,因为数组是连续存储的,每个元素的地址相差4个字节(在32位系统上),所以 `p - 1` 表示指向前一个元素的地址。
最后输出一个换行符,让输出结果更美观。