1、输入任意 4 个字符(如:abcd),并按反序输出(如:dcba)。
#include <iostream>
#include<string>
using namespace std;
int main()
{
char s[5];
for(int i=0;i<4;i++)
cin>>s[i];
for(int i=3;i>=0;i--)
cout<<s[i];
cout<<endl;
return 0;
}
2. 设 a、b、c 均是 0 到 9 之间的数字,abc、bcc 是两个三位数,且有:abc+bcc=532。求满足条件的所有a、b、c 的值。(暴力枚举即可)
#include<iostream>
using namespace std;
int main()
{
int a,b,c;
for(a=0; a<10; a++)
for(b=0; b<10; b++)
for(c=0; c<10; c++)
if(((a*100+b*10+c)+(b*100+c*10+c))==532)
cout<<"a="<<a<<" b="<<b<<" c="<<c<<endl;
return 0;
}
3. 一个数如果恰好等于它的各因子(该数本身除外)子和,如: 6=3+2+1,则称其为“完数”;若因子之和大于该数,则称其为“盈数”。求出 2 到 60 之间所有“完数”和“盈数”,并以如下形式输出: E: e1 e2 e3 ......(ei 为完数) G: g1 g2 g3 ......(gi 为盈数) 。
#include<iostream>
using namespace std;
int main()
{
int s=0,i,a;
cout<<"完数:"<<endl;
cout<<"E:";
for(a=2; a<=60; a++)
{
int temp=a;
for(i=1; i<a; i++)
if(a%i==0)
temp=temp-i;
if(temp==0)
cout<<a<<" ";
}
cout<<endl;
cout<<"盈数:"<<endl;
cout<<"G;";
for(a=2; a<=60; a++)
{
int temp=a;
for(i=1; i<a; i++)
if(a%i==0)
temp=temp-i;
if(temp<0) cout<<a<<" ";
}
cout<<endl;
return 0;
}
4. 从键盘输入 4 个学生的数据( 包括姓名、年龄和成绩),并存放在文件 sf1 上。从该文件读出这些数据,按成绩从高到底排序,并输出其中成绩次高者的所有数据(文件的读写操作)
#include<stdio.h>
#include<stdlib.h>
#include<cstring>
#include<iostream>
#include<fstream>
using namespace std;
struct node
{
string name;
int age;
float grade;
}student[5];
int main()
{
string name;
int age;
float grade;
ofstream out("sf1.txt");
for(int i=0;i<4;i++)
{
cin>>name>>age>>grade;
out<<name<<" "<<age<<" "<<grade<<endl;
}
ifstream in("sf1.txt");
for(int i=0;i<4;i++)
{
in>>student[i].name;
in>>student[i].age;
in>>student[i].grade;
}
for(int i=0;i<4;i++)
for(int j=i;j<4;j++)
{
if(student[i].grade<student[j].grade)
{
float temp1;
temp1=student[i].grade;
student[i].grade=student[j].grade;
student[j].grade=temp1;
int temp2;
temp2=student[i].age;
student[i].age=student[j].age;
student[j].age=temp2;
string temp3="";
temp3+=student[i].name;
student[i].name=student[j].name;
student[j].name=temp3;
}
}
for(int k=0;k<4;k++)
cout<<"*name*: "<<student[k].name<<" *age*: "<<student[k].age<<" *grade*: "<<student[k].grade<<endl;
cout<<"成绩次高者信息:"<<endl;
cout<<"*name*: "<<student[1].name<<" *age*: "<<student[1].age<<" *grade*: "<<student[1].grade<<endl;
}