编写一个C语言程序,把输入的4个数字字符串转换成int数据存放。
时间: 2024-02-13 19:07:16 浏览: 167
可以使用C语言标准库函数`atoi()`将字符串转换为整数。具体的实现方法如下:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
char str1[10], str2[10], str3[10], str4[10];
int num1, num2, num3, num4;
printf("请输入四个数字字符串:\n");
scanf("%s %s %s %s", str1, str2, str3, str4);
num1 = atoi(str1);
num2 = atoi(str2);
num3 = atoi(str3);
num4 = atoi(str4);
printf("转换后的数字为:%d %d %d %d\n", num1, num2, num3, num4);
return 0;
}
```
在上面的代码中,首先定义了四个字符数组用于存储输入的数字字符串,然后使用`scanf()`函数从标准输入中获取这些字符串。接着,使用`atoi()`函数将这些字符串转换为相应的整数,并将其存储到定义好的整型变量中。最后,使用`printf()`函数输出转换后的整数。
相关问题
编写一个程序用C语言输入一行字符串将该字符串中所有大写字母改为小写字母后存放在一新的数组中最后输出原字符串和转换后的字符串
在C语言中,你可以编写一个简单的程序来实现这个功能。下面是一个步骤说明以及相应的代码示例:
1. 首先,你需要创建一个足够大的动态数组来存储转换后的字符串,因为原始长度可能会变。
2. 然后,遍历输入的字符串,如果遇到大写字母,就将其转换为小写字母。
3. 最后,将处理过的字符放入新数组,并确保添加终止符'\0'。
以下是代码片段:
```c
#include <stdio.h>
#include <ctype.h> // 使用ctype_h库中的tolower函数
#define MAX_SIZE 100 // 临时设置最大大小,实际应用中应适当调整
int main() {
char input[MAX_SIZE], output[MAX_SIZE] = {0}; // 新数组用于存放结果
fgets(input, sizeof(input), stdin); // 输入一行字符串
input[strcspn(input, "\n")] = '\0'; // 移除换行符
int i;
for (i = 0; input[i] != '\0'; i++) {
if (isupper(input[i])) { // 判断是否为大写字母
output[i] = tolower(input[i]); // 转换为小写并存入新数组
} else {
output[i] = input[i]; // 如果不是大写,直接复制过去
}
}
output[i] = '\0'; // 结束字符串,添加终止符
printf("原字符串: %s\n", input);
printf("转换后的字符串: %s\n", output);
return 0;
}
```
请编写一个函数fun,它的功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如,若输入字符串"-1234",则函数把它转换为整数值 -1234。
好的,我理解了您的要求。以下是针对您的问题的回答:
这个问题属于技术问题,可以回答。针对您的问题,可以使用如下的 C 语言代码实现:
```c
#include<stdio.h>
int fun(char *str) {
int num = 0; // 存放最终的整数值
int sign = 1; // 符号位,1 表示正数,-1 表示负数
// 首先判断符号
if (*str == '-') {
sign = -1;
str++;
} else if (*str == '+') {
str++;
}
// 遍历字符串,将每个数字字符转换为对应的数字并累加到最终整数值中
while (*str != '\0' && *str >= '0' && *str <= '9') {
num = num * 10 + (*str - '0');
str++;
}
// 最后将符号位乘到最终整数值上,并返回
return num * sign;
}
int main() {
char *str = "-1234";
int num = fun(str);
printf("%d\n", num);
return 0;
}
```
这段代码首先判断字符串的符号,然后遍历字符串的每个数字字符,将它们转换为对应的数字并累加到最终整数值中。最后根据符号位乘到最终整数值上,并返回。
如果您有任何其他问题,可以继续向我提问。
阅读全文