C++输出数组里十个数的相反数用#include<stdio.h>表示
时间: 2023-09-12 14:05:20 浏览: 51
可以使用 `<stdio.h>` 中的 printf 函数输出结果,具体实现如下:
```c++
#include <stdio.h>
int main() {
int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
for(int i = 0; i < 10; i++) {
arr[i] = -arr[i];
printf("%d ", arr[i]);
}
return 0;
}
```
输出结果为:
```
-1 -2 -3 -4 -5 -6 -7 -8 -9 -10
```
相关问题
用C++写一段将一个数的数字重新组合的代码
以下是用C语言编写的将一个数的数字重新组合的代码:
```c
#include <stdio.h>
int main() {
int num, new_num = ;
printf("请输入一个整数:");
scanf("%d", &num);
while (num > ) {
int digit = num % 10;
new_num = new_num * 10 + digit;
num /= 10;
}
printf("重新组合后的数字为:%d\n", new_num);
return ;
}
```
该程序会先提示用户输入一个整数,然后通过循环将该整数的每一位数字取出来,再将这些数字按照相反的顺序重新组合成一个新的整数,并输出结果。例如,如果用户输入的是12345,程序会输出54321。
用c++实现输人字符串 strl 和数字 n,将字符串前口个字符前后顺序反转存储在 str2 中并输出
### 回答1:
以下是实现该功能的 C++ 代码:
```c++
#include <iostream>
#include <cstring>
using namespace std;
void reverse(char* str, int n) {
char temp;
for(int i = 0; i < n / 2; i++) {
temp = str[i];
str[i] = str[n - i - 1];
str[n - i - 1] = temp;
}
}
int main() {
char str1[100], str2[100];
int n;
cout << "请输入字符串和数字:" << endl;
cin >> str1 >> n;
if(n > strlen(str1)) {
cout << "输入错误!" << endl;
return 0;
}
strncpy(str2, str1, n);
reverse(str2, n);
strcat(str2, str1 + n);
cout << "反转后的字符串为:" << str2 << endl;
return 0;
}
```
在这个程序中,我们使用 `strncpy()` 函数将 `str1` 的前 `n` 个字符复制到 `str2` 中,然后使用 `reverse()` 函数将 `str2` 的前 `n` 个字符进行反转。最后,我们使用 `strcat()` 函数将反转后的 `str2` 和 `str1` 的第 `n+1` 个字符之后的部分拼接起来,形成最终的字符串,并输出。
### 回答2:
要实现这个功能,可以按照以下步骤进行:
1. 首先,在 C 语言中,我们可以使用字符数组来存储字符串。声明一个大小足够容纳待输入字符串的字符数组 strl。
2. 接下来,使用 scanf 函数从用户输入中读取字符串,并将其存储在 strl 中。例如:scanf("%s", strl);。
3. 然后,输入一个数字 n,用来表示需要反转的字符个数。同样使用 scanf 函数从用户输入中读取数字 n,并将其保存在一个整型变量中。例如:scanf("%d", &n)。
4. 接着,声明一个大小足够容纳反转后字符串的字符数组 str2。
5. 使用一个循环,从 strl 中找出前 n 个字符,并按照相反的顺序存储到 str2 中。考虑到 str2 数组的结尾应该以空字符 '\0' 结束,可以使用数组下标 i 从尾部开始存储,同时使用变量 j 从头部开始遍历 strl。如:str2[i] = strl[j],i--,j++,直到存储了 n 个字符。
6. 最后,输出 str2 数组,即为反转后的字符串。可以使用 printf 函数,如 printf("%s\n", str2)。
总结来说,通过上述步骤,我们可以实现将输入字符串 strl 的前 n 个字符进行反转存储,并输出结果。
### 回答3:
可以使用以下的C语言代码来实现这个需求:
```c
#include <stdio.h>
#include <string.h>
void reverse(char str[], int n) {
int len = strlen(str);
if (n <= len) {
char str2[100];
int i, j;
// 将 str 前 n 个字符逆序存入 str2
for (i = n-1, j = 0; i >= 0; i--, j++) {
str2[j] = str[i];
}
// 将 str 后面的字符存入 str2
for (i = n; i < len; i++) {
str2[i] = str[i];
}
// 将反转后的结果输出
printf("反转后的字符串为:%s\n", str2);
} else {
printf("输入的 n 大于字符串长度!\n");
}
}
int main() {
char str[100];
int n;
printf("请输入一个字符串:");
scanf("%s", str);
printf("请输入一个数字 n:");
scanf("%d", &n);
reverse(str, n);
return 0;
}
```
这段代码会先从用户那里获取一个字符串 `str` 和一个数字 `n`。然后,它会按照要求将字符串 `str` 的前 `n` 个字符前后顺序反转存储在一个新的字符串 `str2` 中,并将 `str2` 输出到控制台上。需要注意的是,这段代码假设 `str` 的长度不会超过 100 个字符。如果输入的 `n` 大于字符串长度,将会输出一个错误信息。