输入一个整形数组 调整该数组使得奇数在前 偶数在后
#include<stdio.h>
void ww_arr(int arr[],int left,int right){
while(left<right){
while(left<right&&arr[left]%2==1){
left++;
}
while(left<right&&arr[right]%2==0){
right--;
}
if(left<right){
int temp=arr[left];
arr[left]=arr[right];
arr[right]=temp;
left++;
right--;
}
}
}
int main(){
int arr[10]={0};
int i=0;
int size=sizeof(arr)/sizeof(arr[0]);
for(i=0;i<size;i++){
scanf("%d",&arr[i]);
}
ww_arr(arr,0,size);
for(i=0;i<size;i++){
printf("%d ",arr[i]);
}
return 0;
}
BC121 有序序列合并
BC121 有序序列合并
#include<stdio.h>
int main() {
int arr[1000] = {0};
int arr1[1000] = {0};
int n = 0;
int m = 0;
scanf("%d %d", &n, &m);
int ww = 0;
int cc = 0;
int i = 0;
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
for (i = 0; i < m; i++) {
scanf("%d", &arr1[i]);
}
while (ww < n && cc < m) {
if (arr[ww] < arr1[cc]) {
printf("%d ", arr[ww]);
ww++;
} else {
printf("%d ", arr1[cc]);
cc++;
}
}
if (ww < n) {
for (; ww < n; ww++) {
printf("%d ", arr[ww]);
}
} else {
for (; cc < m; cc++) {
printf("%d ", arr1[cc]);
}
}
return 0;
}
BC45 小乐乐改数字
BC45 小乐乐改数字
新代码
#include<stdio.h>
int main() {
int n = 0;
scanf("%d", &n);
int sz = 0;
int arr[11] = {0}; // 假设整数不超过10位
// 分解整数到数组
while (n > 0) {
arr[sz++] = n % 10;
n /= 10;
}
int i = 0;
// 将偶数位替换为0,奇数位替换为1
for (i=0; i < sz; i++) {
arr[i] = arr[i] % 2 == 0 ? 0 : 1;
}
// 重新构造整数
n = 0;
for ( i = sz - 1; i >= 0; i--) { // 从最高位开始构建
n = n * 10 + arr[i];
}
printf("%d\n", n);
return 0;
}
旧
#include<stdio.h>
#include<math.h>
int main(){
int n=0;
scanf("%d",&n);
int sz=0;
int arr[11]={0};
while(n>0){
arr[sz++]=n%10;
n/=10;
}
int i=0;
for(i=0;i<sz;i++){
if(arr[i]%2==0){
arr[i]=0;
}else{
arr[i]=1;
}
}
for(i=0;i<sz;i++){
n+=(arr[i]*pow(10,i));
}
printf("%d\n",n);
return 0;
}
BC102 带空格直角三角形图案
BC102 带空格直角三角形图案
#include<stdio.h>
int main(){
int n=0;
//==1
while(scanf("%d",&n)!=EOF){
int i=0;
int j=0;
for(i=1;i<=n;i++){
for(j=1;j<=n-i;j++){
printf(" ");
}
for(j=n-i+1;j<=n;j++){
printf("* ");
}
printf("\n");
}
}
return 0;
}
BC63 网购
BC63 网购
#include<stdio.h>
int main(){
double tel = 0; // 初始化电话费用为0
int yue = 0; // 初始化月份
int day = 0; // 初始化日期(但在这个逻辑中,day的使用可能是不必要的)
int quan = 0; // 初始化是否使用优惠券的标记,0表示没有,非0表示已使用
// 从用户输入中获取电话费用、月份、日期和是否使用优惠券
scanf("%lf %d %d %d",&tel,&yue,&day,&quan);
// 注意:这里的逻辑检查月份和日期是否相等,这在现实应用中可能不常见
// 但按照代码逻辑,我们假设它有一个特定的用途
if(yue == day){ // 如果月份和日期相等
if(yue == 11){ // 如果月份是11月
tel = tel * 0.7; // 电话费用打七折
if(quan){ // 如果使用了优惠券
tel -= 50; // 从折扣后的电话费用中减去50元
if(tel < 0){ // 如果最终的电话费用小于0
tel = 0; // 则将其设为0
}
}
}
if(yue == 12){ // 如果月份是12月
tel = tel * 0.8; // 电话费用打八折
if(quan){ // 如果使用了优惠券
tel -= 50; // 从折扣后的电话费用中减去50元
if(tel < 0){ // 如果最终的电话费用小于0
tel = 0; // 则将其设为0
}
}
}
}
// 以两位小数的格式输出最终的电话费用
printf("%0.2lf",tel);
return 0; // 程序正常结束
}
抓罪犯
#include<stdio.h>
int main(){
int arr[4]={0,0,0,0};
int i=0;
for(i=0;i<4;i++){
arr[i]=1;
if((arr[0]==0)+
(arr[2]==1)+
(arr[3]==1)+
(arr[3]==0)==3){
printf("%d\n",i+1);
break;
}
arr[i]=0;
}
return 0; // 程序正常结束
}
BC138 矩阵转置
BC138 矩阵转置
#include<stdio.h>
int main(){
int n=0;
int m=0;
scanf("%d%d",&n,&m);
int cc[10][10]={0};
int i=0;
int j=0;
for(i=0;i<n;i++){
for(j=0;j<m;j++){
scanf("%d",&cc[j][i]);
}
}
for(i=0;i<m;i++){
for(j=0;j<n;j++){
printf("%d ",cc[i][j]);
}
printf("\n");
}
return 0; // 程序正常结束
}
BC136 KiKi判断上三角矩阵
BC136 KiKi判断上三角矩阵
#include<stdio.h>
int main(){
int n=0;
scanf("%d",&n);
int cc[11][11]={0};
int i=0;
int j=0;
for(i=1;i<=n;i++){
for(j=1;j<=n;j++){
scanf("%d",&cc[i][j]);
}
}
int flag=1;
for(i=1;i<=n;i++){
for(j=i+1;j<=n;j++){
if(cc[j][i]!=0){
flag=0;
goto end;
}
}
}
end: if(flag){
printf("YES\n");
}else{
printf("NO\n");
}
return 0; // 程序正常结束
}
BC122 有序序列判断
BC122 有序序列判断
#include<stdio.h>
int main(){
int n=0;
scanf("%d",&n);
int arr[51]={0};
int i=0;
int flag1=0;
int flag2=0;
scanf("%d",&arr[0]);
for(i=1;i<n;i++){
scanf("%d",&arr[i]);
if(arr[i-1]>arr[i]){
flag1=1;
}else if(arr[i-1]<arr[i]){
flag2=1;
}
}
if(flag1+flag2!=2){
printf("sorted\n");
}else{
printf("unsorted\n");
}
return 0; // 程序正常结束
}