Linux用C语言输入两列数据,第一行输入两个字符串,其余为数字,输出到文本
时间: 2024-05-10 18:13:42 浏览: 11
文件中,使得两列数据对齐,每一列之间用制表符隔开。
你可以使用如下的代码实现该功能:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
int main() {
char str1[MAX_LEN], str2[MAX_LEN];
int num;
FILE *fp = fopen("output.txt", "w"); // 打开文件
if (fp == NULL) {
printf("Failed to open file!\n");
return 1;
}
// 读取两个字符串
scanf("%s %s", str1, str2);
// 输出到文件中
fprintf(fp, "%s\t%s\n", str1, str2);
// 读取数字并输出到文件中
while (scanf("%d", &num) != EOF) {
fprintf(fp, "%d\t", num);
scanf("%d", &num);
fprintf(fp, "%d\n", num);
}
fclose(fp); // 关闭文件
return 0;
}
```
在运行程序时,输入两个字符串以及一些数字,程序会将它们对齐并输出到文件 `output.txt` 中。
相关问题
c语言输入一个包含有三个数字字符的字符串,把该字符串转换为整形数据输出。
好的,下面是C语言的代码实现:
```c
#include <stdio.h>
int main()
{
char str[4]; // 定义一个长度为4的字符数组,用于存储输入的字符串
int num;
printf("请输入一个包含有三个数字字符的字符串:");
scanf("%s", str); // 读入一个字符串
num = (str[0]-'0')*100 + (str[1]-'0')*10 + (str[2]-'0'); // 将字符转换为数字
printf("转换后的整数是:%d\n", num);
return 0;
}
```
这里用到了ASCII码的知识,字符'0'的ASCII码是48,'1'的ASCII码是49,以此类推。所以,如果想将一个数字字符转换为整数,只需将其ASCII码减去48即可。
例如,字符'5'的ASCII码是53,将其减去48,就得到了整数5。
希望能对你有所帮助!
用C语言写一个程序,由用户输入字符串,使用指针输出字符串中的数字字符
好的,下面是一个用指针输出字符串中数字字符的 C 语言程序,由用户输入一个字符串:
```c
#include <stdio.h>
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
char *p = str;
while (*p != '\0') {
if (*p >= '0' && *p <= '9') {
printf("%c", *p);
}
p++;
}
return 0;
}
```
首先,我们定义了一个字符数组 `str`,用来存储用户输入的字符串。然后,我们使用 `printf` 函数提示用户输入一个字符串,并使用 `scanf` 函数接收用户的输入,将其存储到 `str` 中。接下来,我们定义了一个指针 `p`,指向字符串的第一个字符。然后,我们使用 `while` 循环遍历整个字符串,如果当前字符是数字字符,则输出它。在循环过程中,我们每次将指针 `p` 向后移动一位,直到指向字符串的结尾(即 `\0`)为止。
运行程序,输入字符串 `Hello123World456!`,输出为:
```
123456
```
希望这个程序能够帮助到你!