1.手动输入一些数据有正有负,输出最小值,和第二小的,只用一个FOR.
2.有N个人输入姓名,年龄,学号.录入完毕以后.可以输入姓名或学号,年龄进行查询学生的详细信息.
3.猜数字游戏,随即给出一个数字.然后用户输入数字提示大了,小了,正确询问是否再来.
1.手动输入一些数据有正有负,输出最小值,和第二小的,只用一个FOR.
2.有N个人输入姓名,年龄,学号.录入完毕以后.可以输入姓名或学号,年龄进行查询学生的详细信息.
3.猜数字游戏,随即给出一个数字.然后用户输入数字提示大了,小了,正确询问是否再来.
1.手动输入一些数据有正有负,输出最小值,和第二小的,只用一个FOR.
#include <iostream>
//飘逝的海天 QQ: 272399954
using namespace std;
void main()
{
unsigned int datalen;
int num_in, fst_min, sec_min;
cout << "请输入你想要测试的数据个数: ";
cin >> datalen;
cout << endl;
for(unsigned int i = 0; i <= datalen - 1; i++)
{
cout << "请输入第" << i + 1 << "个数: ";
cin >> num_in;
cout << endl;
if(!i)
{
fst_min = num_in;
sec_min = num_in;
}
else
{
if(num_in < fst_min)
{
sec_min = fst_min;
fst_min = num_in;
}
}
}
cout << "最小数: " << fst_min << endl;
cout << "次小数: " << sec_min << endl;
system("pause");
}
2.有N个人输入姓名,年龄,学号.录入完毕以后.可以输入姓名或学号,年龄进行查询学生的详细信息.
#include <iostream>
#include <string>
//飘逝的海天 QQ: 272399954
using namespace std;
void main()
{
struct stu_info
{
string name;//学生姓名
unsigned int age;//年龄
unsigned int stu_ID;//学号
};
string testdata;
unsigned int rec_stu;
cout << "请输入需要记录几个学生的数据: ";
cin >> rec_stu;
cout << endl;
stu_info *stu_data = new stu_info[rec_stu];
for(unsigned int i = 0; i <= rec_stu - 1; i++)
{
cout << "请输入第" << i + 1 << "个学生的姓名: ";
cin >> (stu_data + i)->name;
cout << "请输入第" << i + 1 << "个学生的年龄: ";
cin >> (stu_data + i)->age;
cout << "请输入第" << i + 1 << "个学生的学号: ";
cin >> (stu_data + i)->stu_ID;
}
cout << endl;
cout << endl;
cout << "请输入要查询的数据: ";
cin >> testdata;
for(unsigned int i = 0; i <= rec_stu - 1; i++)
{
if(testdata == (stu_data + i)->name || atoi(testdata.c_str()) ==(stu_data + i)->age || atoi
(testdata.c_str()) == (stu_data + i)->stu_ID)
{
cout << "您查询的学生是" << i + 1 << "号" << endl;
cout << "姓名: " << (stu_data + i)->name << endl;
cout << "年龄: " << (stu_data + i)->age << endl;
cout << "学号: " << (stu_data + i)->stu_ID << endl;
}
}
system("pause");
}
3.猜数字游戏,随即给出一个数字.然后用户输入数字提示大了,小了,正确询问是否再来.
#include <iostream>
#include <ctime>
//飘逝的海天 QQ: 272399954
using namespace std;
void main()
{
srand((unsigned)time(NULL));//初始化随机环境
int rand_num = rand() % 100 + 1;//100以内的正整数
int guess;
for( ; ;)
{
cout << "请输入您的数字: ";
cin >> guess;
if (guess > rand_num)
cout << "猜的有点大哦" << endl;
else if(guess < rand_num)
cout << "猜的有点小哦" << endl;
else
{
cout << "恭喜, 猜中了" << endl;
break;
}
}
system("pause");
}
1. void getLeast(int *arr,int n) { int least , secondLeast ; least = secondLeast = arr[0]; int i ; for(i = 1 ; i < n ; ++i) { if(arr[i] < least) { secondLeast = least ; least = arr[i] ; } }
2.
#include <string.h>
#define N 5 struct Student { char name[255] ; int age ; char sno[10] ; }; Student stu[N] ; int i ; cout << "输入学生基本信息:" << endl ; for(i = 0 ; i < N ; ++i) { cin >> stu[i].name >> stu[i].age >> stu[i].sno ; } while(1) { cout << "选择您需要的查询方式:" << endl << "1 姓名" << endl << "2 年龄" << endl << "3 学号" << endl << "4 退出" << endl ; int sel ; cin >> sel ; switch(sel) { case 1: { cout << "输入学生姓名:" ; char name[255] ; cin >> name ; bool find = false ; for(int i = 0 ; i < N ; ++i) { if(strcmp(name,stu[i].name) == 0) { find = true ; cout << "您查询的学生信息如下:" << endl; cout << stu[i].name << '\t' << stu[i].age << '\t' << stu[i].sno << endl; } } if(!find) { cout << "未找到匹配的学生信息" << endl ; } break ; } case 2: { cout << "输入学生年龄:" ; int age ; cin >> age ; bool find = false ; for(int i = 0 ; i < N ; ++i) { if(age == stu[i].age) { find = true ; cout << "您查询的学生信息如下:" << endl; cout << stu[i].name << '\t' << stu[i].age << '\t' << stu[i].sno << endl; } } if(!find) { cout << "未找到匹配的学生信息" << endl ; } break ; } case 3: {cout << "输入学生学号:" ; char sno[10] ; cin >> sno ; bool find = false ; for(int i = 0 ; i < N ; ++i) { if(strcmp(sno,stu[i].sno) == 0) { find = true ; cout << "您查询的学生信息如下:" << endl; cout << stu[i].name << '\t' << stu[i].age << '\t' << stu[i].sno << endl; } } if(!find) { cout << "未找到匹配的学生信息" << endl ; } break ; } case 4: return 0 ; } }
3.
#include <time.h>
#include <string.h>
#include <stdlib.h>
cout << "欢迎来到猜数字游戏:" << endl ; while(1) { srand(time(NULL)) ; int num = rand() ; cout << "请输入您的答案(数字):" ; int input ; while(cin >> input) { if(input == num) break ; cout << "答案错误,请重新输入:" ; } cout << "恭喜您,答对了!" << endl << "还要再来吗?(y/n)" ; char sel ; cin >> sel ; if(_tolower(sel) == 'n') break ; }
问题1
怎么输入数据就不说了。将输入的数据保存在数组a[n]中。
定义最小值max1和第二小值max2
if(a[0]<a[1]){
max1=a[0];
max2=a[1];
}else{
max1=a[1];
max2=a[0];
}
for(int i = 2;i < n;i++){
if(max1 > a[i]){
max2 = max1;
max1 = a[i];
}else if(max2 > a[i]){
max2 = a[i];
}
}
问题2
使用链表存储数据。
一个数据元定义包括姓名,年龄,学号信息。
以姓名查询方法参考如下:
输入的数据存储在链表l中。
p = l->next;
while(p != NULL){
if(p->name == input.name){
q = p;
printf("%s,%s,%d", q->name,q->num,q->age);
p= p->next;
}
}
问题3
随机生成一个数字
int r = rand(); 用户输入input
flag == true
while(flag){
if(input > r){
提示大了
}
if(input < r){
提示小了
}
if(input == r){
提示猜中了
}
询问是否再来
if(不继续){
flag = false;
}
}
上面皆为伪码。