ACM001 Quicksum

本文介绍了使用C++进行文件读取的两种方法:通过cin.getline()按行读取和通过cin.get()逐字符读取。展示了如何处理每种情况下的字符与字符串操作,并给出了完整的示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


本题的重点在于数据的读入。

可采用cin.getlin()一行一行读入数据;也可采用cin.get()一个一个读入字符。

cin会忽略回车、空格、Tab跳格。

cin.get()一个一个字符读,不忽略任何字符。

cin.getline()一行一行读入。

#include<fstream>
#include<iostream>
using namespace std;

int main(){
	ifstream cin("data.txt");
	
	int sum = 0;
        char ch[256];
while(cin.getline(ch, 256)){//用cin.getline()读取一行if (ch[0] == '#')break;for (int i = 0; ch[i] != '\0'; ++i){if (ch[i] != ' ')sum += (i+1)*(ch[i] - 'A' + 1);}cout << sum << endl;sum = 0;}return 0;}


#include<fstream>
#include<iostream>
using namespace std;

int main(){
	ifstream cin("data.txt");

	int sum = 0;
	int i = 1;
        char ch;
while(cin.get(ch)){//用cin.get()获取字符if (ch == '#')break;if (ch != '\n'){if (ch != ' ')sum += i*(ch-'A' +1); ++i;}else{cout << sum << endl;sum = 0; i = 1;}}return 0;}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值