在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1
给定一个区间,输出其中前半部分数字之和等于后半部分数字之和的数,没有则输出No output。(15分)
题目内容: 给定一个区间,输出其中前半部分数字之和等于后半部分数字之和的数,没有则输出No output。 输入样例:120[空格]130[回车] 输出样例:121[回车] 输入样例:500[空格]500[回车] 输出样例:No output[回车] 时间限制:500ms内存限制:32000kb #include <stdio.h>
int divide(int i,int *num)
{
int j = 0;
while(i)
{
num[j] = i%10;
i = i/10;
j ++;
}
return j;
}
int sum_equal(int *num,int len)
{
int i,sum,sum1;
sum = sum1 = 0;
for(i=0;i<len/2;i++)
{
sum += num[i];
sum1 += num[len-i-1];
}
if(sum == sum1)
return 1;
else return 0;
}
int main()
{
int a,b,len,num[12],flag;
scanf("%d%d",&a,&b);
flag = 0;
for(int i=a;i<=b;i++)
{
len = divide(i,num);
if(sum_equal(num,len))
{
flag = 1;
printf("%d\n",i);
}
else{
if(i == b && !flag)
puts("No output");
}
}
return 0;
}
2
输入数字和大写字母,输出由字母组成的菱形。(15分)
题目内容: 输入数字和大写字母,输出由字母组成的菱形。 输入样例: 3[空格]B[回车] 输出样例: [空格][空格]B[回车] [空格]C[空格]C[回车] D[空格][空格][空格]D[回车] [空格]E[空格]E[回车] [空格][空格]F[回车] 时间限制:500ms内存限制:32000kb #include <stdio.h>
int main()
{
int num,index;
char c;
scanf("%d%c",&num,&c);
scanf("%c",&c);
index = 0;
// printf("%c\n",'c'+1);
//分开打印上半部分和下半部分
for(int i=1;i<=num;i++)
{
for(int j=num-i;j>0;j--)
printf(" ");
printf("%c",c+index);
for(int k=2*i-3;k>0;k--)
printf(" ");
if(i != 1)
printf("%c",c+index);
puts("");
index ++;
}
index = num;
for(int t=num-1;t>=1;t--)
{
for(int j=num-t;j>0;j--)
printf(" ");
printf("%c",c+index);
for(int k=2*t-3;k>0;k--)
printf(" ");
if(t != 1)
printf("%c",c+index);
puts("");
index ++;
}
return 0;
}
第一组用例居然没有通过,不可思议!!! 3
输入学生的个数,然后输入姓名及三科成绩列表,输出按平均成绩从高到低排序的成绩单(10分)
题目内容: 输入学生的个数,然后输入姓名及三科成绩列表,输出按平均成绩从高到低排序的成绩单。 #include <stdio.h>
#include <string.h>
typedef struct STU{
char name[10];
int score[3];
float avg;
}stu;
void SortByAvg(stu *s,int n)
{
char t_name[10];
for(int i=0;i<n-1;i++)
for(int j=i+1;j<n;j++)
if(s[j].avg > s[i].avg)
{
strcpy(t_name,s[j].name);
strcpy(s[j].name,s[i].name);
strcpy(s[i].name,t_name);
for(int k=0;k<3;k++)
s[i].score[k] = s[j].score[k] + s[i].score[k] -(s[j].score[k] = s[i].score[k]);
}
}
int main()
{
stu s[50];
int n;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
getchar();
scanf("%s%d%d%d",s[i].name,&(s[i].score[0]),&(s[i].score[1]),&(s[i].score[2]));
s[i].avg = 1.0*(s[i].score[0]+s[i].score[1]+s[i].score[2])/3;
}
SortByAvg(s,n);
for(int t=0;t<n;t++)
{
printf("%s %d %d %d\n",s[t].name,s[t].score[0],s[t].score[1],s[t].score[2]);
}
return 0;
}
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论