C语言,1.读文件a.txt,其内容为一字符串。要求将字符串中各字符及ASCII码值写入到另外一文件中。例如: a1Bc,写入另一文件中为a7149B66cc
时间: 2024-05-03 09:22:16 浏览: 110
```
#include <stdio.h>
int main() {
FILE *fp1, *fp2;
char c;
fp1 = fopen("a.txt", "r");
fp2 = fopen("b.txt", "w");
if (fp1 == NULL || fp2 == NULL) {
printf("文件打开失败!\n");
return 1;
}
while ((c = fgetc(fp1)) != EOF) {
fprintf(fp2, "%c%d", c, c);
}
fclose(fp1);
fclose(fp2);
printf("文件写入成功!\n");
return 0;
}
```
解释:先打开两个文件,一个读取,一个写入。然后逐个字符读取文件a.txt中的字符,将其转换为ASCII码值,并写入文件b.txt中。最后关闭文件,输出写入成功。
相关问题
用c语言 计算字符串s中每个字符的权重值并依次写入数组a,权重值是字符的位置值与该字符ASCII码值的乘积。首字符位置为1,最后一个字符的位置值为strlen(s)
以下是实现该功能的C语言代码:
```c
#include <stdio.h>
#include <string.h>
void calcWeight(char *s, int *a) {
int len = strlen(s);
for (int i = 0; i < len; i++) {
a[i] = (i + 1) * s[i];
}
}
int main() {
char s[] = "hello world";
int a[strlen(s)];
calcWeight(s, a);
for (int i = 0; i < strlen(s); i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
在calcWeight函数中,首先计算字符串的长度,然后遍历每个字符,计算权重值并存入a数组中。
在main函数中,先定义了字符串s和数组a,然后调用calcWeight函数计算权重值并输出结果。
注意,这里的数组a必须足够大,即a的长度要等于字符串s的长度,否则会出现越界访问的错误。
用语言写一个程序:1.计算字符串s中每个字符的权重值并依次写入到数组a中。2.权重值是字符的位置值与该字符ASCII码值的乘积。首字符位置值为1,最后一个字符的位置值为strlen(s)计算字符串s中每个字符的权重值并依次写入到数组a。
下面是一个C语言的程序实现:
```c
#include <stdio.h>
#include <string.h>
int main() {
char s[100]; // 存储输入的字符串
int a[100]; // 存储每个字符的权重值
int len, i;
printf("请输入一个字符串:");
scanf("%s", s);
len = strlen(s); // 获取字符串长度
for (i = 0; i < len; i++) {
a[i] = (i + 1) * s[i]; // 计算每个字符的权重值
}
printf("每个字符的权重值为:");
for (i = 0; i < len; i++) {
printf("%d ", a[i]);
}
return 0;
}
```
运行程序后,输入一个字符串,程序会计算每个字符的权重值并存储到数组a中,然后输出每个字符的权重值。
阅读全文