本题要求将给定的n个整数从大到小排序后输出。
输入格式:
输入第一行给出一个不超过10的正整数n。第二行给出n个整数,其间以空格分隔。
输出格式:
在一行中输出从大到小有序的数列,相邻数字间有一个空格,行末不得有多余空格。
输入样例:
4
5 1 7 6
输出样例:
7 6 5 1
#include
int main()
{
int x,n,i,t;
scanf("%d",&n);
int a[n];
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
for(x=0;x<n-1;x++)
for(i=0;i<n-1-x;i++)
if(a[i+1]>a[i])
{
t=a[i+1];
a[i+1]=a[i];
a[i]=t;
}
printf("%d",a[0]);
for(i=1;i<n;i++)
{
printf(" %d",a[i]);
}
return 0;
}
本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。
注意:题目保证最大和最小值都是唯一的。
输入格式:
输入在第一行中给出一个正整数N(≤10),第二行给出N个整数,数字间以空格分隔。
输出格式:
在一行中顺序输出交换后的序列,每个整数后跟一个空格。
输入样例:
5
8 2 5 1 4
输出样例:
1 2 5 4 8
#include
int main()
{
int j,n,i;
scanf("%d",&n);
int a[n];
for(i=0;i<n;i++)
scanf("%d",&a[i]);
int max,min;
min=a[0];
for(i=1;i<n;i++)
{
if(a[i]<min)
{
min=a[i];
j=i;
}
}
a[j]=a[0];
a[0]=min;
max=a[0];
for(i=1;i<n;i++)
{
if(a[i]>max)
{
max=a[i];
j=i;
}
}
a[j]=a[n-1];
a[n-1]=max;
for(i=0;i<n;i++)
{
printf("%d ",a[i]);
}
}
用数组计算fibonacci数列的前12个数,并按每行打印3个数的格式输出。
输入格式:
无输入
输出格式:
请使用%6d的格式输出;注意输出最后一个数字后,有一个换行
输出样例:
1 1 2
3 5 8
13 21 34
55 89 144
#include
int main()
{
int i;
int a[12]={1,1};
for(i=2;i<12;i++)
a[i]=a[i-1]+a[i-2];
for(i=0;i<12;i++)
{
printf("%6d",a[i]);
if((i+1)%3==0) printf("\n");
}
}
对n个整数组成的一维数组按逆序重新存储并输出(n<10)。
输入格式:
第一行给出一个不超过10的正整数n。第二行给出n个整数,其间以空格分隔。
输出格式:
在一行中输出n个逆序的整数。每个数输出占4列。
输入样例:
5
7 6 5 8 1
输出样例:
1 8 5 6 7
#include
int main()
{
int n,i;
int a[10];
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=n-1;i>=0;i--)
printf("%4d",a[i]);
}
一个长度为10的数组中输入n(0≤n≤9)个整数,这n个整数从小到大有序。再输入一个x,把它插入数组适当位置,使数组仍保持有序。
输入格式:
输入n,再以从小到大顺序输入n个整数,再输入x。
输出格式:
插入x后的数组,数与数间用空格分割。
输入样例:
5
1 3 5 7 9
2
输出样例:
1 2 3 5 7 9
#include
int main()
{
int x,n,i,t;
scanf("%d",&n);
int a[10];
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&a[n]);
for(x=0;x<=n-1;x++)
for(i=0;i<=n-1-x;i++)
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
for(i=0;i<=n;i++)
{
printf("%d ",a[i]);
}
return 0;
}
输入10个整数保存到一个数组中,找出其中的最大值并输出。
输入格式:
输入10个整数,数据中间用一个空格分隔。
输出格式:
输出最大值并换行。
输入样例1:
1 2 3 10 4 6 5 7 8 9
输出样例1:
10
输入样例2:
10 1 2 3 4 5 6 7 8 9
输出样例2:
10
#include
int main()
{
int i,a[10],max;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
max=a[0];
for(i=1;i<10;i++)
{
if(a[i]>max)
max=a[i];
}
printf("%d",max);
}
找出数组中值最大的一个元素,并指出它是第几个元素。
输入格式:
从键盘上给10个整型数组元素赋值,之间用空格隔开。
输出格式:
第m个数最大,最大数是:x。
输入样例:
在这里给出一组输入。例如:
-123 5 78 24 69 6 8 687 0 -900
输出样例:
在这里给出相应的输出。例如:
第8个位置的数最大,最大数是:687
#include
int main()
{
int i,a[10],max,t;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
max=a[0];
t=0;
for(i=1;i<10;i++)
{
if(a[i]>max){
max=a[i];
t=i;
}
}
printf("第%d个位置的数最大,最大数是:%d",t+1,max);
}
从键盘输入某班学生某门课程的成绩(每班人数最多不超过40人),当输入为负值时,表示输入结束,试编程将分数从高到低顺序进行排序输出。用函数编程实现排序功能。
输入格式:
以空格分隔,不超过40个的整数数值,以负数结束
输出格式:
从大到小排序后的数值,以逗号分隔,最后一个数后不跟逗号,不包含输入的最后一个负数
输入样例:
在这里给出一组输入。例如:
64 85 73 99 92 -1
输出样例:
在这里给出相应的输出。例如:
99,92,85,73,64
#include
int main()
{
int i,j,t,n=0;
int a[40];
for(i=0;;i++)
{
scanf("%d",&a[i]);
n++;
if(a[i]<0) break;
}
for(j=0;j<n-2;j++)
{
for(i=0;i<n-2-j;i++)
{
if(a[i]<a[i+1])
{
t=a[i+1];
a[i+1]=a[i];
a[i]=t;
}
}
}
printf("%d",a[0]);
for(i=1;i<n-1;i++)
{
printf(",%d",a[i]);
}
}
从键盘任意输入一个字符串,用数组的方式计算其实际字符个数并打印出来,即不使用字符串处理函数strlen()编程实现strlen的功能。
函数接口:
unsigned int MyStrlen(const char str[])
输入格式:
字符串
输出格式:
字符串长度
输入样例:
在这里给出一组输入。例如:
hello world
输出样例:
在这里给出相应的输出。例如:
11
#include
#include
int main()
{
int s=0;
char a[20];
gets(a);
{
s=strlen(a);
}
printf("%d",s);
}
本题要求编写程序,对一个以“#”结束的字符串,将其小写字母全部转换成大写字母,把大写字母全部转换成小写字母,其他字符不变输出。
输入格式:
输入为一个以“#”结束的字符串(不超过30个字符)。
输出格式:
在一行中输出大小写转换后的结果字符串。
输入样例:
Hello World! 123#
输出样例:
hELLO wORLD! 123
#include
int main()
{
char a[32];
int i;
gets(a);
for(i=0;a[i]!='#';i++)
{
if(a[i]>='a'&&a[i]<='z')
{
printf("%c",a[i]-32);
}
else if(a[i]>='A'&&a[i]<='Z')
{
printf("%c",a[i]+32);
}
else printf("%c",a[i]);
}
}
从键盘输入两个字符串,将第二个字符串连接在第一个字符串的末尾,然后输出连接后的字符串。要求不能使用strcat函数。
输入格式:
输入只有一行,为两个字符串,中间用空格隔开。每个字符串的长度都不超过100。
输出格式:
输出只有一行,为连接后的字符串。
输入样例:
hello world
输出样例:
helloworld
#include
int main()
{
char a[100],b[100];
scanf("%s %s",a,b);
printf("%s%s",a,b);
}
将字符串逆序输出。输入一个字符串后,将其逆序输出。
输入格式:
输入在一行中给出一个不超过80个字符长度的、以回车结束的非空字符串。
输出格式:
在一行中输出逆序后的字符串。
输入样例:
C/C++
输出样例:
++C/C
#include
#include
int main()
{
int i,n;
char a[81];
gets(a);
n=strlen(a);
for(i=n-1;i>=0;i--){
printf("%c",a[i]);
}
}
996工作制是指工作日早9点上班,晚上9点下班,中午和傍晚休息1小时(或不到),总计10小时以上,并且一周工作6天的工作制度。2019年3月27日,一个名为“996ICU”的项目在GitHub上传开。程序员们揭露"996ICU"互联网公司,抵制互联网公司的996工作制度。2019年12月2日,996入选《咬文嚼字》2019年十大流行语。 同日,入选国家语言资源监测与研究中心发布的“2019年度十大网络用语“。 本题就请你编写程序,将句子中的”996”替换成” 996ICU”。
输入格式:
输入在一行中给出一句话,即一个非空字符串,由不超过 1000 个英文字母、数字和空格组成,以回车结束。
输出格式:
从左到右扫描输入的句子:如果句子中有"996"子串,则将其替换为"996ICU";其他内容不受影响,原样输出。
输入样例:
Working overtime 996 is not as good as 966.
输出样例:
Working overtime 996ICU is not as good as 966.
#include
#include
int main()
{
char s[1000];
int i,k1=0,k2=0;
gets(s);
for(i=0;i<strlen(s);i++)
{
if(s[i]=='9') k1++;
if(s[i]=='6') k2++;
printf("%c",s[i]);
if(k1==2&&k2==1)
{
printf("ICU");
k1=0;
k2=0;
}
}
return 0;
}
求一个二维数组周边元素的累加和。 输入一个二维数组的行数m(m<10),列数n(n<10),二维数组的各元素值。输出周边元素之和。
输入格式:
输入的第一行为矩阵的行数和列数,从第二行开始,为矩阵元素的输入。
输出格式:
输出周边元素之和。
输入样例:
在这里给出一组输入。例如:
3 4
1 2 3 4
5 6 7 8
1 2 3 4
输出样例:
在这里给出相应的输出。例如:
33
#include
int main()
{
int i,j,m,n,sum=0;
int a[10][10];
scanf("%d %d",&m,&n);
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
sum+=a[i][j];
}
}
for(i=1;i<m-1;i++)
{
for(j=1;j<n-1;j++)
{
sum-=a[i][j];
}
}
printf("%d",sum);
}
求杨辉三角的前n行数据。
输入格式:
输入n(n<10)值。
输出格式:
输出杨辉三角的前n行数据,每个数据占4列。
输入样例:
5
输出样例:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
#include
int main()
{
int n,i,j;
int a[10][10];
scanf("%d",&n);
for(i=0;i<n;i++)
{
for(j=0;j<=i;j++)
{
if(i==j||j==0) a[i][j]=1;
else a[i][j]=a[i-1][j-1]+a[i-1][j];
printf("%4d",a[i][j]);
if(i==j) printf("\n");
}
}
}
向一个n×m的数组中输入一组整数(n<=10,m<=10),然后输出其中的最大值、最小值,并输出这两个值的下标。
输入格式:
第一行输出n×m的数组中的最大值及其下标。每两项之间一个空格。 第二行输出n×m的数组中的最小值及其下标。每两项之间一个空格。 (如果有相同的最大的数,要求输出行列最小,行优先)
输出格式:
请在这里描述输出格式。例如:对每一组输入,在一行中输出A+B的值。
输入样例:
3 5
57 30 66 41 98
11 93 54 62 31
49 87 71 70 37
输出样例:
max=98 row=0 col=4
min=11 row=1 col=0
#include
int main()
{
int i,j,m,n;
int max=0,min=0,row1,col1,row2,col2;
int a[20][20];
while(scanf("%d",&m)!=EOF){
row1=col1=row2=col2=0;
scanf("%d",&n);
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
max=a[0][0];
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
if(max<a[i][j])
{
max=a[i][j];
row1=i;
col1=j;
}
}
}
printf("max=%d row=%d col=%d\n",max,row1,col1);
min=a[0][0];
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
if(min>a[i][j])
{
min=a[i][j];
row2=i;
col2=j;
}
}
}
printf("min=%d row=%d col=%d\n",min,row2,col2);
}
}