0201
输入一个含有n个数的数组,使用C++ 中的 new 指令给数组开内存,要求开刚好足够的内存,数据类型为 int
然后往数组里输入 n 个数
最后将数组打印出来
输入要求:
输入数据有多组
每组数据第一行输入一个整数n(0 < n< 100 ),表示数组长度为n
接下来一行输入n个数存入数组当中
输出要求:
每组依次输出数组中的数,每个数后面有一个空格,每组数据打印结束后换行。
数据示例1 :
输入:
5
1 2 3 4 5
输出:
1 2 3 4 5
# include <stdio.h>
int * createArray ( int n) ;
int main ( ) {
int n;
while ( ~ scanf ( "%d" , & n) ) {
int * p = createArray ( n) ;
for ( int i= 0 ; i< n; i++ ) {
printf ( "%d " , p[ i] ) ;
}
printf ( "\n" ) ;
delete[ ] p;
}
}
int * createArray ( int n)
{
int * p= new int [ n] ;
for ( int i= 0 ; i< n; i++ )
{
scanf ( "%d" , & p[ i] ) ;
}
return p;
}
0202
打印存储在结构体变量中的学生信息
输入要求:
多组输入。每组输入包括学号,学生姓名,学生生日(包括年,月,日)。
输出要求:
每个学生信息占一行。包括:学号 姓名 生日
生日的输出格式为 yyyy- mm- dd,即4 位整数代表年,2 位整数代表月,2 位整数代表日。
数据确保输入的日期合法,并且年为4 位整数,如果月和日不足2 位数,则前面补0
数据示例1 :
输入:
20201 张三 2000 1 1
20202 李四 2002 12 12
输出:
20201 张三 2000 - 01 - 01
20202 李四 2002 - 12 - 12
# include <stdio.h>
struct date {
int year, month, day;
} ;
struct student {
int id;
char name[ 20 ] ;
date bd;
} ;
void output ( student s) ;
int main ( ) {
student s;
while ( ~ scanf ( "%d %s %d %d %d" , & s. id, s. name, & s. bd. year, & s. bd. month, & s. bd. day) )
{
output ( s) ;
}
}
void output ( student s)
{
printf ( "%d %s %d-%02d-%02d\n" , s. id, s. name, s. bd. year, s. bd. month, s. bd. day) ;
}
0203
输入一串字符串,使用指针,将字符串中选择的位置下标后面的子串打印出来
输入要求:
数据有多组
第一行输入一个字符串 ( 2 = < len <= 100 )
第二行输入一个值 n ( 1 <= l <= 50 ) ,表示要打印的次数
接下来输入 n 个数x,表示要截取的下标
输出要求:
输出n个下标从 x 到 len - 1 的子串,每个子串后需要换行
数据示例1 :
输入:
abcdefghijk
4
3 4 5 6
输出:
defghijk
efghijk
fghijk
ghijk
# include <stdio.h>
# include <string.h>
int main ( )
{
char a[ 100 ] ;
int n, x, i, l;
while ( ~ scanf ( "%s" , & a) )
{
l= strlen ( a) ;
scanf ( "%d" , & n) ;
while ( n-- )
{
scanf ( "%d" , & x) ;
for ( i= x; i< l; i++ )
{
printf ( "%c" , a[ i] ) ;
}
printf ( "\n" ) ;
}
}
}
0204
在数组指定下标位置插入一个元素
输入要求:
第一行,输入数组的长度n,插入元素的下标m和插入元素的值x
第二行,输入n个数组元素
输入确保0 <= n<= 100 , 0 <= m<= n
输出要求:
输出插入操作后数组元素的值
数据示例1 :
输入:
n m x
6 0 111
1 3 5 2 4 6
6 6 111
1 3 5 2 4 6
6 2 111
1 3 5 2 4 6
输出:
111 1 3 5 2 4 6
1 3 5 2 4 6 111
# include <stdio.h>
void insert ( int * a, int n, int m, int x) ;
void output ( int * a, int n) {
for ( int i = 0 ; i < n; i++ ) {
if ( i)
printf ( " " ) ;
printf ( "%d" , a[ i] ) ;
}
puts ( "" ) ;
}
int main ( ) {
int n, m, x;
int a[ 105 ] ;
while ( ~ scanf ( "%d %d %d" , & n, & m, & x) ) {
for ( int i = 0 ; i < n; i++ ) {
scanf ( "%d" , & a[ i] ) ;
}
insert ( a, n, m, x) ;
output ( a, n+ 1 ) ;
}
}
void insert ( int * a, int n, int m, int x)
{
int i= 0 , j= 0 , b[ 100 ] ;
for ( i= n- 1 ; i>= m; i-- )
{
a[ i+ 1 ] = a[ i] ;
}
a[ m] = x;
n++ ;
}