题目描述编写一个函数,由实参传来一个字符串,统计这个字符串中字母、数字、空格和其他字符的个数。在主函数中输入字符串,并在主函数中输出上述结果。
输入一行字符,可能包含空格。保证字符串的长度不超过 100。
输出分别输出这行字符中的英文字母、空格、数字和其他字符的个数,用空格隔开。请注意行尾输出换行。
样例输入1What are you doing? 123456
样例输出115 6 4 1
提示答案1234567891011121314151617#include<iostream>using namespace std;void count(string str){ int a(0),b(0),c(0),d(0); for(int i=0;i<str.length();i++){ if(str[i]>='A'&&str[i]<='z') a++; else if(str[i]>='0'&&str[i]<='9 ...
题目描述给定两个一维数组,分别内含 n 个和 m 个学生的成绩,分别求出其平均成绩并输出。
输入第一行有两个用空格隔开的整数 n 和 m,表示分别有 n 个和 m 个学生。第二行有 n 个用空格隔开的实数,表示 n 个学生的成绩。第三行有 m 个用空格隔开的实数,表示 m 个学生的成绩。保证 n 和 m 均不超过 50,且所有成绩大于等于 0 且小于等于 100。
输出两个用空格隔开的实数,分别为第一组的 n 个学生和第二组的 m 个学生的平均成绩,小数点后保留 2 位小数。请注意行尾输出换行。
样例输入12310 5100 56 78 98.5 76 87 99 67.5 75 9798 85 79 80.5 99.5
样例输出183.40 88.40
提示12345678910111213141516171819#include<iostream>using namespace std;float average(float *p,int x){ float sum=0; for(int i=0;i<x;i++,p++) sum+ ...
题目描述输入一个正整数 n,定义一个包含 n 个元素的动态一维数组 a(int 型),键盘依次输入 n 个元素。将数组中的元素循环右移,即:a[0]移到 a[1],a[1 移到 a[2],……,a[n-1] 移到 a[0]。然后输出数组各元素。
输入输入:元素个数 n 以及这 n 个元素
输出输出:重新存放的 n 个元素(各元素之间有一个空格)
样例输入1281 3 5 7 2 4 6 9
样例输出19 1 3 5 7 2 4 6
提示123456789101112131415#include<iostream>using namespace std;int main() { int n,x; cin>>n; int a[n]; for(int i=0;i<n;i++) cin>>a[i]; x=a[n-1]; for(int i=n;i>0;i--) a[i]=a[i-1]; a[0]=x; for(int i=0;i<n;i++) cout<<a[i]<<' ';& ...
题目描述给定字符串定义 char *a = “I love China!”,读入整数 n,输出在进行了 a = a + n 这个赋值操作以后字符指针 a 对应的字符串。
输入一个整数 n,保证 0<=n<13.
输出输出进行了题目描述中赋值操作之后 a 对应的字符串。请注意行尾输出换行。
样例输入17
样例输出1China!
提示12345678910111213#include<iostream>using namespace std;int main() { char *a="I love China!"; int n; cin>>n; a=a+n; while(*a) { putchar(*a); a++; } cout<<endl;}
题目描述给出年、月、日,使用一个函数计算出该日是该年的第几天。
输入只有一行,包含三个正整数分别表示年、月、日。保证年份在 0 至 3000 之间,且月、日信息符合规则。
输出输出该日是该年的第几天。请注意行尾输出换行。
样例输入12013 2 10
样例输出141
提示答案12345678910111213141516#include<iostream>using namespace std;void coutDays(int y,int m,int d){ int sum=0; int days[]={31,28,31,30,31,30,31,31,30,31,30,31}; if(y%4==0&&y%100!=0||y%400==0) days[1]=29; for(int i=0;i<m-1;i++) sum+=days[i]; cout<<sum+d<<endl;}int main(){ int y,m,d; cin>>y>>m>& ...
题目描述写两个函数,分别求两个整数的最大公约数和最小公倍数。用主函数分别调用这两个函数,并输出结果。
输入两个用空格隔开的正整数,保证二者的值均不超过 10000。
输出输出两个正整数的最大公约数和最小公倍数,用空格隔开。请注意行尾输出换行。
样例输入124 10
样例输出12 120
提示1234567891011121314151617181920#include<iostream>using namespace std;int max(int x,int y){ int z=y; while(x%y!=0) z=x%y,x=y,y=z; return z;}int min(int x,int y){ int c=x,d=y; int z=y; while(x%y!=0) z=x%y,x=y,y=z; return c*d/z;}int main(){ int a,b; cin>>a>>b; cout<<max(a,b ...
题目描述2008 年北京奥运会,A 国的运动员参与了 n 天的决赛项目(1≤n≤17)。现在要统计一下 A 国所获得的金、银、铜牌数目及总奖牌数。
输入输入 n + 1 行,第 1 行是 A 国参与决赛项目的天数 n,其后 n 行,每一行是该国某一天获得的金、银、铜牌数目,以一个空格分开。
输出输出 1 行,包括 4 个整数,为 A 国所获得的金、银、铜牌总数及总奖牌数,以一个空格分开。
样例输入123431 0 33 1 00 3 0
样例输出14 4 3 11
提示123456789101112131415161718#include<iostream>using namespace std;int main(){ int x,gol(0),sil(0),cop(0),sum(0); cin>>x; int a[x][3]; for(int i=0;i<x;i++) for(int j=0;j<3;j++) cin>>a[i][j]; for(int i=0;i<x;i++){ gol+=a[i] ...
题目描述输入 3 个字符串,按从小到大的顺序输出。要求使用指针的方法进行处理。
输入3 行,每行一个用字符串。保证每个字符串的长度不超过 20。
输出按从小到大的顺序输出这 3 个字符串,每个字符串一行。请注意行尾输出换行。
样例输入123ChinaCLOCKdeal
样例输出123CLOCKChinadeal
提示1234567891011121314151617181920#include<iostream>using namespace std;void swap(string *s1,string *s2) { string x; x=*s1; *s1=*s2; *s2=x;}int main() { string s1,s2,s3; cin>>s1>>s2>>s3; string *a,*b,*c; a=&s1; b=&s2; c=&s3; if(s1>s2) swap(a,b); if(s1& ...
题目描述有 n 个人围成一圈,顺序从 1 开始排号。从第 1 个人开始报数(从 1 到 3 报数),凡报到 3 的人退出圈子,问最后留下的是原来第几号的那位。
输入只有一个正整数 n,保证 n 不超过 1000。
输出输出最后留下的人的原始编号。请注意行尾输出换行。
样例输入110
样例输出14
提示12345678910111213141516171819202122#include<iostream>using namespace std;int main(){ int n,m=0,i=1,k=0,j=0; cin>>n; int a[n]; for(i=0;i<n;i++) a[i]=i+1; while(m<n-1){ if(a[i]!=0) k++; if(k==3) { a[i]=0; k=0; m++; } i++; if(i==n+1) i=1; } for(i=1;i<=n;i++) if(a[i]!=0) cout<<a[i]&l ...
题目描述输入 n 个整数,使前面的 n-m 个数顺序向后移动 m 个位置,最后的 m 个数变成最前面的 m 个数。通过函数实现以上的功能。
输入第一行包含两个用空格隔开的整数 n 和 m,保证 n>m 且 n 不超过 50。第二行包含 n 个用空格隔开的整数。
输出输出进行题目描述操作之后的 n 个整数,每个整数之后输出一个空格。请注意行尾输出换行。
样例输入126 21 2 3 4 5 6
样例输出15 6 1 2 3 4
提示123456789101112131415161718192021#include<iostream>using namespace std;int n,m;void reverse(int num[]){ int nums[n]; for(int i=0;i<n-m;i++) nums[i+m]=num[i]; for(int i=0;i<m;i++) nums[i]=num[n-m+i]; for(int i=0;i<n;i++) cout<<nums[i]<<' & ...