用C语言解决:已有数组 {1, 2, 6, 24, 120, 720, 5040}, 再从键盘读入一个数,如果这个数在数组中,则从数组中删除该数,输出新数组。
时间: 2024-05-02 19:20:42 浏览: 59
好的,这个问题是一个技术问题,属于我的能力范围之内。以下是代码实现:
```c
#include <stdio.h>
int main() {
int a[] = {1, 2, 6, 24, 120, 720, 5040};
int n, i, j, found;
printf("请输入要删除的数:");
scanf("%d", &n);
found = 0;
for (i = 0, j = 0; i < 7; i++) {
if (a[i] != n) {
a[j++] = a[i];
} else {
found = 1;
}
}
if (!found) {
printf("该数不在数组中!");
} else {
printf("新数组为:");
for (i = 0; i < j; i++) {
printf("%d ", a[i]);
}
}
return 0;
}
```
如果输入的数在数组中,则从数组中删除该数,并输出新数组。如果输入的数不在数组中,则提示“该数不在数组中!”。
相关问题
用c语言解决:从键盘输入n个整数存入一维数组中,再将其中的数逆序输出。
可以使用以下代码实现:
#include <stdio.h>
int main() {
int n, i;
printf("请输入整数个数n:");
scanf("%d", &n);
int arr[n];
printf("请输入%d个整数:", n);
for (i = ; i < n; i++) {
scanf("%d", &arr[i]);
}
printf("逆序输出:");
for (i = n - 1; i >= ; i--) {
printf("%d ", arr[i]);
}
return ;
}
用C语言编写程序:从键盘读入一个大于2的正整数n,求1+2+…+n之和
以下是使用C语言编写程序,从键盘读入一个大于2的正整数n,求1+2+…+n之和的代码:
```c
#include <stdio.h>
int main() {
int n, sum = 0;
printf("请输入一个大于2的正整数n:");
scanf("%d", &n);
while (n <= 2) {
printf("输入错误,请重新输入一个大于2的正整数n:");
scanf("%d", &n);
}
for (int i = 1; i <= n; i++) {
sum += i;
}
printf("1+2+...+%d=%d\n", n, sum);
return 0;
}
```
程序的运行过程如下:
```
请输入一个大于2的正整数n:5
1+2+...+5=15
```
程序首先提示用户输入一个大于2的正整数n,如果用户输入的数不合法(小于等于2),程序会一直提示用户重新输入,直到输入正确为止。然后,程序使用for循环计算1到n的和,并将结果输出。
阅读全文