比如输入abcd and edfg#,输出的时候是一个一个的输出字符还是abcd and edfg一起输出?
#include
#include
int main(){
FILE *fp;
char filename[10];
printf("请输入所用的文件名:");
scanf("%s",filename);
char ch;
if((fp=fopen(filename,"w"))==NULL){
printf("无法打开此文件\n");
exit(0);
}
ch=getchar();
printf("请输入一个准备存储到磁盘的字符串(以#结束):");
ch=getchar();
while(ch!='#'){
fputc(ch,fp);
putchar(ch);
ch=getchar();
}
fclose(fp);
putchar(10);
return 0;
}
每次putchar输出一个字符,循环不断读取字符,直到#,所以总共是全部输出
不知道你这个问题是否已经解决, 如果还没有解决的话:下面展示 实现代码
。
#include <stdio.h>
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
int T;
int i, j;
int da[7] = {3, 2, 1, 2, 3, 3, 1};//定义大写字母的笔画
int xiao[7] = {1, 1, 1, 2, 1, 2, 1};
while(scanf("%d",&T) != EOF)
{
getchar();
for(i = 0; i < T; i++)
{
char arr[100];
gets(arr);
int bihua = 0;
int l = strlen(arr);
for(j = 0; j < l; j++)
{
if(arr[j] <= 'G' && arr[j] >= 'A')
{
bihua += da[arr[j] - 'A'];
}
else
{
bihua += xiao[arr[j] - 'a'];
}
}
cout << bihua << endl;
}
}
return 0;
}